CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Boolean.h
Go to the documentation of this file.
1 #ifndef DDI_Boolean_h
2 #define DDI_Boolean_h
3 #include "Solid.h"
4 
7 
8 namespace DDI {
9 
10  class BooleanSolid : public Solid
11  {
12  public:
13  BooleanSolid(const DDSolid & A, const DDSolid & B,
14  const DDTranslation & t,
15  const DDRotation & r,
16  DDSolidShape s);
17 
18  const DDSolid & a() const { return a_; }
19  const DDSolid & b() const { return b_; }
20  const DDTranslation & t() const { return t_; }
21  const DDRotation & r() const { return r_; }
22 
23  //double volume() const=0;
24  protected:
28  };
29 
30  class Union : public BooleanSolid
31  {
32  public:
33  Union(const DDSolid & A, const DDSolid & B,
34  const DDTranslation & t,
35  const DDRotation & r);
36 
37  //double volume() const;
38  };
39 
40  class Intersection : public BooleanSolid
41  {
42  public:
43  Intersection(const DDSolid & A, const DDSolid & B,
44  const DDTranslation & t,
45  const DDRotation & r);
46 
47  //double volume() const;
48  };
49 
50 
51  class Subtraction : public BooleanSolid
52  {
53  public:
54  Subtraction(const DDSolid & A, const DDSolid & B,
55  const DDTranslation & t,
56  const DDRotation & r);
57  };
58 }
59 
60 #endif // DDI_Boolean_h
DDSolid b_
Definition: Boolean.h:25
const DDTranslation & t() const
Definition: Boolean.h:20
Intersection(const DDSolid &A, const DDSolid &B, const DDTranslation &t, const DDRotation &r)
Definition: Boolean.cc:18
DDSolidShape
Definition: DDSolidShapes.h:6
const DDSolid & a() const
Definition: Boolean.h:18
const DDRotation & r() const
Definition: Boolean.h:21
A DDSolid represents the shape of a part.
Definition: DDSolid.h:35
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > DDTranslation
Definition: DDTranslation.h:7
Represents a uniquely identifyable rotation matrix.
Definition: DDTransform.h:66
DDSolid a_
Definition: Boolean.h:25
Union(const DDSolid &A, const DDSolid &B, const DDTranslation &t, const DDRotation &r)
Definition: Boolean.cc:11
const DDSolid & b() const
Definition: Boolean.h:19
BooleanSolid(const DDSolid &A, const DDSolid &B, const DDTranslation &t, const DDRotation &r, DDSolidShape s)
Definition: Boolean.cc:3
Subtraction(const DDSolid &A, const DDSolid &B, const DDTranslation &t, const DDRotation &r)
Definition: Boolean.cc:25
DDRotation r_
Definition: Boolean.h:27
DDTranslation t_
Definition: Boolean.h:26