MURE
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Plane.hxx
Go to the documentation of this file.
1 #ifndef _PLANE_HXX_
2 #define _PLANE_HXX_
3 
9 #include "MureHeaders.hxx"
10 
12 
19 class Plane : public Shape
20 {
21  public :
23 
35  Plane(double A=0, double B=0, double C=1, double D=0, double Signe=-1);
36 
37  Shape_ptr Clone(int count=0);
38  void Copy(Shape_ptr P);
39  unsigned IsPlane(){return 1;}
40 
45  double GetA() {return fA;}
46  double GetB() {return fB;}
47  double GetC() {return fC;}
48  double GetD() {return fD;}
49 
50 
55  unsigned Inclus(Shape_ptr OtherShape);
56  unsigned Disjoint(Shape_ptr OtherShape);
57 
58 
59  void DefineSurface();
60 
65 
72  virtual void Translate(double dx,double dy,double dz,int count=0);
74 
81  virtual void Rotate(double phi,double theta=0,double psi=0,double *center=0,int count=0);
82 
84 
89 
95  bool PointInShape(double *P,int border);
96  void CalculNot();
97 
98 
99  protected :
100  void Norme();
101  //Attributs
102  double fA;
103  double fB;
104  double fC;
105  double fD;
106 };
107 
108 #endif
unsigned IsPlane()
1 if Shape is a Plane
Definition: Plane.hxx:39
Plane(double A=0, double B=0, double C=1, double D=0, double Signe=-1)
Normal Constructor.
Definition: Plane.cxx:5
double GetB()
return 2nd component of the normal vector
Definition: Plane.hxx:46
double fA
1st component of the normal vector
Definition: Plane.hxx:102
unsigned Inclus(Shape_ptr OtherShape)
return 1 if the Plane is included in OtherShape otherwise 0
Definition: Plane.cxx:43
virtual void Translate(double dx, double dy, double dz, int count=0)
Translate the Node of (dx,dy,dz).
Definition: Plane.cxx:218
Infinite plane Shape.
Definition: Plane.hxx:19
double GetD()
return Plane position
Definition: Plane.hxx:48
double fD
Plane position.
Definition: Plane.hxx:105
double fB
2nd component of the normal vector
Definition: Plane.hxx:103
void Copy(Shape_ptr P)
Copy all attributs of a Shape (but not attributs of the father classes).
Definition: Plane.cxx:346
double fC
3th component of the normal vector
Definition: Plane.hxx:104
File including all headers.
Shape_ptr Clone(int count=0)
Clone a Shape.
Definition: Plane.cxx:318
unsigned Disjoint(Shape_ptr OtherShape)
return 1 if the Plane is Disjointed of OtherShape otherwise 0
Definition: Plane.cxx:127
void Norme()
Normalisation of Normal vector.
Definition: Plane.cxx:23
double GetC()
return 3th component of the normal vector
Definition: Plane.hxx:47
void DefineSurface()
Define surface in MCNP format.
Definition: Plane.cxx:252
double GetA()
return 1st component of the normal vector
Definition: Plane.hxx:45
bool PointInShape(double *P, int border)
true if the point P is in the Shape.
Definition: Plane.cxx:303
virtual void Rotate(double phi, double theta=0, double psi=0, double *center=0, int count=0)
Rotate the Shape clockwise.
Definition: Plane.cxx:231
Base class to define shapes.
Definition: Shape.hxx:54
void CalculNot()
Allocates and calculs the complement of a Plane.
Definition: Plane.cxx:201

MURE Project, documentation generated by Doxygen 1.8.5 - Mon Nov 17 2014