|
|
| Node (int Sign=+1) |
|
| Node (const Node &n) |
| Copy constructor.
|
|
| MathNode (int Sign=+1) |
|
| MathNode (const MathNode &n) |
| Copy constructor.
|
|
| ~MathNode () override |
| Normal destrutor.
|
|
Shape_ptr | Clone (int count=0) override |
| Clone a Shape.
|
|
unsigned | IsNode () override |
|
unsigned | IsFullVoid () override |
|
unsigned | IsVoid () override |
|
unsigned | IsFull () override |
|
double | GetVolume () override |
| return the Volume of a Node
|
|
Shape_ptr | GetLeaf (int i) override |
|
int | GetNumberOfLeaves () override |
|
unsigned | Add (Shape_ptr OtherShape) override |
| Add a new Shape (in fact a Shape_ptr) to a Node.
|
|
void | ReplaceLeaf (int i, Shape_ptr OtherShape) override |
| replace the ith leaf of a Node.
|
|
void | SetBoundingShape (Shape_ptr theShape) |
| Declare a bounding shape.
|
|
Shape_ptr | GetBoundingShape () |
|
void | SetIncludedShape (Shape_ptr theShape) |
| Declare an included shape.
|
|
Shape_ptr | GetIncludedShape () |
|
void | SetMirrorBoundary (bool state=true) override |
| mirror a particle on the surface
|
|
void | SetWhiteBoundary (bool state=true) override |
| mirror a particle on the surface with a cosine distribution
|
|
void | SetTopBottomPlanesOpen () override |
| The top/bottom planes are NOT mirrors.
|
|
void | SetSidePlanesOpen () override |
| The side planes are NOT mirrors.
|
|
void | Translate (double dx, double dy, double dz, int count=0) override |
| Translate the Node of (dx, dy, dz).
|
|
void | Rotate (double phi, double theta=0, double psi=0, double *center=nullptr, int count=0) override |
| Rotate the Node clockwise.
|
|
unsigned | IsIncluded (Shape_ptr OtherShape) override |
| +1 this is included in OtherShape, 0 not included or don't know.
|
|
unsigned | IsDisjoint (Shape_ptr OtherShape) override |
| +1 this is disjoint in OtherShape, 0 not included or don't know.
|
|
virtual unsigned | Contain (Shape_ptr OtherShape) |
| +1 this contains the OtherShape, 0 not included or don't know.
|
|
void | SetUniverse (int u=0) override |
| Set the Universe number for a shape used in a lattice.
|
|
double | GetVirtualSphereRadius () override |
| returns the radius of a Sphere containing the Shape
|
|
double * | GetVirtualSphereCenter () override |
|
bool | PointInShape (double *P, int border) override |
| true if the point P is in the Shape.
|
|
void | PrintX (int count=0) override |
| Debug method: Print the shape surface when fMouvement=true.
|
|
void | PrintY (int count=0) override |
| Debug method: Print the shape surfaces, InsideShape, ...
|
|
void | ReplaceNode (Shape_ptr C) override |
| Replace a Node by an other (C must be a Node)
|
|
int | NumberOfShapes () override |
| return the number of Shapes contains in a Node
|
|
void | CalculNot () override |
| Allocates and calculs the complement of Shape.
|
|
void | Simplify (bool violent=false) override |
| Simplify a tree of Node.
|
|
void | ResetIsDefinedSurfaceCalled () override |
|
| 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 | IsBrick () |
|
virtual unsigned | IsCylinder () |
|
virtual unsigned | IsHexagon () |
|
virtual unsigned | IsPlane () |
|
virtual unsigned | IsSphere () |
|
virtual unsigned | IsTube () |
|
virtual unsigned | IsZTorus () |
|
bool | IsInfinite () |
|
void | SetVolume (double V) |
|
virtual double | GetArea () |
| Get the Area of a Shape.
|
|
void | SetArea (double S) |
|
virtual bool | IsTopBottomPlanesOpen () |
|
virtual bool | IsSidePlanesOpen () |
|
virtual void | SetPeriodicBoundary (bool state=true, string TopBottPlaneBC="mirror") |
| Periodic boundary (WARNING: only for Brick and Hexagon).
|
|
virtual bool | IsMirrorBoundary () |
|
virtual bool | IsWhiteBoundary () |
|
virtual bool | IsPeriodicBoundary () |
|
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 void | Copy (Shape_ptr S) |
| Copy all attributs of a Shape S (but not attributs of the father classes).
|
|
string | GetShapeName () |
| returns the Shape name
|
|
void | SetDebugName (string str) |
|
string | GetDebugName () |
|
virtual void | SetFill (int f) |
|
int | GetFill () |
|
int | GetUniverse () |
|
void | IncrementSurface (double S) |
|
virtual void | SetLinkedPlane (Shape_ptr P) |
|
virtual SurfaceCard * | GetSurfaceCard () |
|
virtual SurfaceCard * | GetSurfaceCard (int i) |
|
virtual void | SetMouvement (bool state=true) |
|
bool | GetMouvement () |
|
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 () |
|
virtual int | GetMonoSurfaceType () |
|
void | SetInfinite () |
|
| TReference () |
|
virtual | ~TReference ()=default |
| Destructor.
|
|
void | AddReference (unsigned n=1) |
|
unsigned | DelReference (unsigned n=1) |
|
unsigned | Reference () |
|
Node allows to construct Union or Intersection of Shape.
Thus Node is a tree of union (OR) or intersection (AND) of Shape. In a Node, fSigne=+1 for OR and fSigne=-1 for AND. A Node is said full (the whole space) when it is the intersection of nothing, whereas it is said void when it is the union of nothing (empty set). This is the real implementation to use instead of MathNode. It mainly redefine print method.
- Author
- PTO
- Version
- 1.0