CMS 3D CMS Logo

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