31 Node(
double Signe=+1);
42 unsigned IsVoid() {
return (fShapeVector.size()==0 && fSigne==1);}
43 unsigned IsFull() {
return (fShapeVector.size()==0 && fSigne==-1);}
57 void SetBoundingShape(
Shape_ptr theShape);
66 void SetIncludedShape(
Shape_ptr theShape);
68 virtual void SetMirrorBoundary(
bool state=
true);
73 virtual void SetWhiteBoundary(
bool state=
true);
88 virtual void Translate(
double dx,
double dy,
double dz,
int count=0);
97 virtual void Rotate(
double phi,
double theta=0,
double psi=0,
double *center=0,
int count=0);
104 virtual unsigned Inclus(
Shape_ptr OtherShape);
105 virtual unsigned Disjoint(
Shape_ptr OtherShape);
106 virtual unsigned Contain(
Shape_ptr OtherShape);
117 void Simplify(
bool violent=
false);
123 virtual void UnSetMouvement();
124 void ClearVectorShape(
int UMVT=0);
131 virtual string Print();
137 void SetUniverse(
int u=0);
139 virtual double GetVirtualSphereRadius();
141 void AlreadyDefine(
bool state=
true);
149 bool PointInShape(
double *P,
int border);
151 void PrintX(
int count=0);
152 void PrintY(
int count=0);
154 void PrintLatex(
int count=0);
157 int NumberOfShapes();
158 virtual void CalculNot();
169 void DevElague(
int count=0,
bool violent=
false);
173 void RemoveSurface();
174 void Remove(vector<Shape_ptr>::iterator Iterator);
vector< Shape_ptr > fShapeVector
a vector of Shape_ptr of a Node
Definition: Node.hxx:176
Shape_ptr GetBoundingShape()
return the BoundingShape if exist
Definition: Node.hxx:58
vector< Shape_ptr > fDestroyShape
a vector of destroyed Shape_ptr of a Node (for UnSetMouvement())
Definition: Node.hxx:177
virtual double * GetVirtualSphereCenter()
returns the center of a Sphere containing the Shape
Definition: Node.hxx:140
Node allows to construct Union or Intersection of Shape.
Definition: Node.hxx:24
unsigned IsFull()
1 if the node is Full.
Definition: Node.hxx:43
virtual void SetTopBottomPlanesOpen()
Set Top and bottom planes open.
Definition: Node.hxx:69
virtual bool GetSidePlanesOpen()
Get The side planes open.
Definition: Node.hxx:72
int GetNumberOfLeaves()
returns the number of leaves (Shape) of a Node
Definition: Node.hxx:47
unsigned IsNode()
+1 for a Node
Definition: Node.hxx:40
unsigned IsFullVoid()
1 if the Node is void or full.
Definition: Node.hxx:41
virtual bool GetTopBottomPlanesOpen()
Get Top and bottom planes open.
Definition: Node.hxx:70
Shape_ptr GetIncludedShape()
return the IncludedShape if exist
Definition: Node.hxx:67
bool fHexagon
true if the Node is an Hexagon
Definition: Node.hxx:182
Reference_ptr< Shape > Shape_ptr
Definition: MCNPSource.hxx:17
Shape_ptr fBoundingShape
Shape containing the Node, 0 for none.
Definition: Node.hxx:179
virtual void SetSidePlanesOpen()
The side planes are NOT mirrors.
Definition: Node.hxx:71
Shape_ptr GetLeaf(int i)
returns the i-th leaf (Shape) of a Node
Definition: Node.hxx:46
unsigned IsVoid()
1 if the node is void.
Definition: Node.hxx:42
bool fTube
true if the Node is a Tube
Definition: Node.hxx:181
Shape_ptr fIncludedShape
Shape included in the Node, 0 for none.
Definition: Node.hxx:180
int fCount
count flag to unset mvt
Definition: Node.hxx:183
Base class to define shapes.
Definition: Shape.hxx:54