|
|
| Brick (double HalfX=0.01, double HalfY=0.01, double HalfZ=0.01, int Sign=- 1) |
| Build a Brick of size (2*HalfX, 2*HalfY, 2*HalfZ) at (0, 0, 0).
|
|
| Brick (double *Origin, double *Ux, double *Uy, double *Uz, double HalfX=0.01, double HalfY=0.01, double HalfZ=0.01, int Sign=- 1) |
| Build a Box of size (2*HalfX, 2*HalfY, 2*HalfZ) centered at Origin, with Ux, Uy, Uz, normal vectors to its faces.
|
|
| Brick (const char *Infinite, double HalfX=0.01, double HalfY=0.01, int Sign=- 1) |
| Build a Box of size (2*HalfX, 2*HalfY) and of infinite height at origin (0, 0, 0).
|
|
| MathBrick (double HalfX=0.01, double HalfY=0.01, double HalfZ=0.01, int Sign=- 1) |
| Build a Brick of size (2*HalfX, 2*HalfY, 2*HalfZ) at origin (0, 0, 0).
|
|
| MathBrick (double *Origin, double *Ux, double *Uy, double *Uz, double HalfX=0.01, double HalfY=0.01, double HalfZ=0.01, int Sign=- 1) |
| Build a Box of size (2*HalfX, 2*HalfY, 2*HalfZ) centered at Origin, with Ux, Uy, Uz, normal vectors to its faces.
|
|
| MathBrick (const char *Infinite, double HalfX=0.01, double HalfY=0.01, int Sign=- 1) |
| Build a Box of size (2*HalfX, 2*HalfY) and of infinite height at origin (0, 0, 0).
|
|
Shape_ptr | Clone (int count=0) override |
| Clone a Shape.
|
|
void | Copy (Shape_ptr B) override |
| Copy all attributes of a Shape (but not attributes of the ancestor classes).
|
|
unsigned | IsBrick () override |
|
double | GetHalfX () |
|
double | GetHalfY () |
|
double | GetHalfZ () |
|
vector< double > | GetOrigin () |
|
vector< double > | GetUx () |
|
vector< double > | GetUy () |
|
vector< double > | GetUz () |
|
void | SetPeriodicBoundary (bool state=true, string TopBottPlaneBC="mirror") override |
| Periodic boundary (WARNING: only for MathBrick and MathHexagon).
|
|
void | Translate (double dx, double dy, double dz, int count=0) override |
| Translate the Shape by (dx, dy, dz).
|
|
void | Rotate (double phi, double theta=0, double psi=0, double *center=nullptr, int count=0) override |
| Rotate the Shape clockwise.
|
|
unsigned | IsIncluded (Shape_ptr OtherShape) override |
| return 1 if the MathBrick is included in OtherShape otherwise 0
|
|
unsigned | IsDisjoint (Shape_ptr OtherShape) override |
| return 1 if the MathBrick is disjoint of OtherShape otherwise 0
|
|
bool | PointInShape (double *P, int border) override |
| True if the point P is in the Shape.
|
|
double | MinDistanceFrom2OppositeFace (vector< double > N, int whichplane, double *S) |
|
void | CalculNot () override |
| Allocates and calculs the complement of a brick.
|
|
int | NumberOfShapes () override |
| Number of shapes/surfaces this shape consists of.
|
|
| Shape () |
| Default constructor. The interior of a Shape is built.
|
|
| Shape (const Shape &s) |
| Copy constructor.
|
|
| ~Shape () override |
| Normal destructor.
|
|
Shape_ptr | Not () |
| Return the complementary Shape (i.e. the other side)
|
|
void | NewNot () |
|
void | SetClone (Shape_ptr clone) |
|
void | SetClone2Not () |
| Set the CloneShape to a Not.
|
|
int | GetSign () |
|
void | SetSign (int s) |
|
void | SetOutermostShape (bool flag=true) |
| Say that this Shape is the most outer one.
|
|
virtual unsigned | IsCylinder () |
|
virtual unsigned | IsFullVoid () |
|
virtual unsigned | IsHexagon () |
|
virtual unsigned | IsNode () |
|
virtual unsigned | IsPlane () |
|
virtual unsigned | IsSphere () |
|
virtual unsigned | IsTube () |
|
virtual unsigned | IsFull () |
|
virtual unsigned | IsVoid () |
|
virtual unsigned | IsZTorus () |
|
bool | IsInfinite () |
|
virtual double | GetVolume () |
| Get the Volume of a Shape.
|
|
void | SetVolume (double V) |
|
virtual double | GetArea () |
| Get the Area of a Shape.
|
|
void | SetArea (double S) |
|
virtual void | SetMirrorBoundary (bool state=true) |
| mirror a particle on the surface
|
|
virtual void | SetTopBottomPlanesOpen () |
|
virtual bool | IsTopBottomPlanesOpen () |
|
virtual void | SetSidePlanesOpen () |
|
virtual bool | IsSidePlanesOpen () |
|
virtual void | SetWhiteBoundary (bool state=true) |
|
virtual bool | IsMirrorBoundary () |
|
virtual bool | IsWhiteBoundary () |
|
virtual bool | IsPeriodicBoundary () |
|
virtual unsigned | Add (Shape_ptr OtherShape) |
| Add a new Shape (in fact a Shape_ptr) to a Node.
|
|
virtual void | ReplaceLeaf (int i, Shape_ptr OtherShape) |
|
unsigned | AddInsideShape (Shape_ptr OtherShape) |
| Add a Shape in fInsideShape each time a "put in" is done.
|
|
unsigned | AddOriginalInsideShape (Shape_ptr OtherShape) |
| This method is called by Shape::AddInsideShape.
|
|
void | ClearOriginalInsideShape () |
|
void | ClearInsideShape () |
|
unsigned | GetInsideShapeSize () |
|
unsigned | GetOriginalInsideShapeSize () |
|
void | SetInsideShape (int i, Shape_ptr S) |
|
void | SetOriginalInsideShape (int i, Shape_ptr S) |
|
Shape_ptr | GetInsideShape (int i) |
|
Shape_ptr | GetOriginalInsideShape (int i) |
|
virtual int | GetNumberOfLeaves () |
|
string | GetShapeName () |
| returns the Shape name
|
|
void | SetDebugName (string str) |
|
string | GetDebugName () |
|
virtual void | SetUniverse (int u=- 1) |
| Set the Universe number for a Shape .
|
|
virtual void | SetFill (int f) |
|
int | GetFill () |
|
int | GetUniverse () |
|
void | IncrementSurface (double S) |
|
virtual void | RemoveSurface () |
|
virtual void | PrintX (int count=0) |
| Debug method: Print the shape surface when fMouvement=true.
|
|
virtual void | PrintY (int count=0) |
| Debug method: Print the shape surfaces, InsideShape, ...
|
|
virtual void | SetLinkedPlane (Shape_ptr P) |
|
virtual void | ReplaceNode (Shape_ptr C) |
| Replace a Node by an other (C must be a Node)
|
|
virtual void | ResetIsDefinedSurfaceCalled () |
|
virtual void | Simplify (bool violent=false) |
| Simplify a tree of Node.
|
|
virtual void | SetMouvement (bool state=true) |
|
virtual void | UnSetMouvement () |
| Set the fMouvement flag to false;.
|
|
bool | GetMouvement () |
|
virtual void | DevElague (int count=0, bool violent=false) |
| Developps and Trims a tree of Node.
|
|
void | SetViolentSimplify (bool Allowed=true) |
| Enable/disable violent simplification a certain shapes to avoid "union" (for Serpent outside)
|
|
void | SetFreezeSimplify (bool flag=true) |
| Enable/disable simplification a certain nodes to avoid "union" (for Serpent outside)
|
|
bool | IsViolentSimplifyAllowed () |
|
void | SetInfinite () |
|
| TReference () |
|
virtual | ~TReference ()=default |
| Destructor.
|
|
void | AddReference (unsigned n=1) |
|
unsigned | DelReference (unsigned n=1) |
|
unsigned | Reference () |
|
|
| MathBrick (double HalfX, double HalfY, double HalfZ, int Sign, bool Infinite) |
| Private constructor needed to copy a MathBrick in methods.
|
|
MathBrick * | CreateNewInstance (int sign=1) override |
| a new MathBrick instance.
|
|
void | Init (double HalfX, double HalfY, double HalfZ) |
|
unsigned | CornerInBrick (MathBrick *brick, int all, int border) |
| Return 1 if corner(s) of this shape are in a brick.
|
|
unsigned | CornerInCylinder (MathCylinder *cyl, int all, int border) |
| Return 1 if corner(s) of this shape are in a cylinder.
|
|
double | Dist2Segment (MathCylinder *cyl, double Segment[6][2], double C0[6][2], int &segmentNum) |
|
void | FindBrickProjection (MathCylinder *cyl, double Segment[6][2], double C0[6][2], double Origin[2]) |
|
unsigned | GeneralIntersectionOf2Brick (MathBrick *brick) |
| return 1 if there is an intersection of the segment of this with the MathBrick brick
|
|
unsigned | LineCrossPlane (double *X, vector< double > N, double *P, vector< double > U, double *D) |
|
unsigned | CylinderCrossBrick (MathCylinder *Cyl) |
|
unsigned | PointInSegment (double *X, double *A, double *B, int border) |
|
unsigned | TwoFaces3Segments (MathBrick *brick, vector< double > N, int whichSize, double *C0, double C1[3][3]) |
|
unsigned | TwoFaces2Segments (MathBrick *brick, vector< double > N, int whichSize, double *C0, double C1[2][3]) |
|
double | GetVirtualSphereRadius () override |
| returns the radius of a Sphere containing the Shape
|
|
double * | GetVirtualSphereCenter () override |
| returns the center of a Sphere containing the Shape
|
|
double | MinDist1Point2Face (vector< double > U0, vector< double > U1, vector< double > U2, double *P0, double *S, int whichplane) |
|
double | MinDist1Point2FaceInfinite (vector< double > U0, vector< double > U1, double *P0, double *S, int whichplane) |
|
virtual void | MinimumCopy (Shape *S) |
| Copy all attributs of a Shape S (but not attributs of the father classes).
|
|
void | SetNot (Shape *aNot) |
| Allocates and calculs the complement of Shape.
|
|
void | SetNotofNot () |
|
double | fHalfSize [3] |
| Half sizes of the brick.
|
|
vector< double > | fOrigin |
| Origin of the brick.
|
|
vector< double > | fUx |
| Normal vector to the 2 X planes.
|
|
vector< double > | fUy |
| Normal vector to the 2 Y planes.
|
|
vector< double > | fUz |
| Normal vector to the 2 Z planes.
|
|
vector< Shape_ptr > | fInsideShape |
| a vector to remember which Shapes are inside the current one.Clear at each ">>"
|
|
vector< Shape_ptr > | fOriginalInsideShape |
| a vector to remember which Shapes are inside the current one.
|
|
int | fSign |
| Define whether the interior (-1) or the exterior (+1) of the Shape is considered.
|
|
bool | fInfinite |
| Determines whether the shape is infinite or not.
|
|
Shape * | fNot |
| pointer on complementary Shape if exists, else 0.
|
|
bool | fMouvement |
| Flag that indicate a Shape is in mouvement (translation, ..) in a tree.
|
|
int | fUniverse |
| Universe number (for lattice filling)
|
|
int | fFill |
| Universe number that fill the Shape.
|
|
double | fVolume |
| the Volume of a Shape;
|
|
double | fArea |
| the area of a Shape;
|
|
string | fShapeName |
| Name of a Shape.
|
|
string | fDebugName |
| Debug Name of a Shape.
|
|
double | fVirtualSphereR |
| the radius of a Sphere containing the Shape
|
|
double * | fVirtualSphereO |
| the center of a Sphere containing the Shape
|
|
Shape_ptr | fCloneShape |
| the clone of a Shape
|
|
bool | fMirrorBoundary |
| whether or not mirror a particle on the surface
|
|
bool | fOpenZPlanes |
| whether the top/bottom planes are not mirrors (default=false)
|
|
bool | fOpenXYPlanes |
| whether the side planes are not mirrors (default=false)
|
|
bool | fWhiteBoundary |
| whether or not mirror a particle on the surface with a cosine distribution
|
|
bool | fPeriodicBoundary |
| whether or not Periodic boundary are applied (only for plane)
|
|
string | fTopBottPlaneBoundaryCondition |
| whether the top(bottom) plane of a periodic boundary Shape is white or mirror
|
|
Shape_ptr | fLinkedPlane |
| the Plane linked to an this for periodic boundary
|
|
bool | fIsViolentSimplifyAllowed |
| whether or not a "violent simplification is allowed (ie a Node or a Brick are allowed to be separated)
|
|
bool | fOutermostShape |
| whether or not this Shape is the limit to the exterior world (for calculating particle losses).
|
|
bool | fFreezeSimplify |
| disable any Node simplification (for serpent in ReactorAssembly)
|
|
A 3D rectangular parallepipede Shape.
A Brick is the real implementation to use isntead of a MathBrick. It mainly redefine print method
Sign=-1 for Brick interior and Sign=+1 for its exterior.
Default: interior of a 0.01*0.01*0.01 cube, perpendicular to (x, y, z) basis and center at origin.
- Author
- J. Hajnrych
- Version
- 1.0