GeoModel - GeoModelCore
GeoPolyhedrizeAction.h
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef GEOMODELKERNEL_GEOPOLYHEDRIZEACTION_H
6 #define GEOMODELKERNEL_GEOPOLYHEDRIZEACTION_H
7 
18 #include "GeoModelKernel/GeoShapeAction.h"
19 class GeoPolyhedron;
20 
22 {
23  public:
25  virtual ~GeoPolyhedrizeAction();
26 
27  // Handles a shift shape.
28  virtual void handleShift (const GeoShapeShift *shift);
29 
30  // Handles a union shape.
31  virtual void handleUnion (const GeoShapeUnion *unio);
32 
33  // Handles an intersection shape.
34  virtual void handleIntersection (const GeoShapeIntersection *isect);
35 
36  // Handles a subtraction shape.
37  virtual void handleSubtraction (const GeoShapeSubtraction *subtract);
38 
39  // Handles a box shape.
40  virtual void handleBox (const GeoBox *box);
41 
42  // Handles a cons shape.
43  virtual void handleCons (const GeoCons *cons);
44 
45  // Handles a para shape.
46  virtual void handlePara (const GeoPara *para);
47 
48  // Handles a pcon shape.
49  virtual void handlePcon (const GeoPcon *pcon);
50 
51  // Handles a pgon shape.
52  virtual void handlePgon (const GeoPgon *pgon);
53 
54  // Handles a trap shape.
55  virtual void handleTrap (const GeoTrap *trap);
56 
57  // Handles a trd shape.
58  virtual void handleTrd (const GeoTrd *trd);
59 
60  // Handles a tube shape.
61  virtual void handleTube (const GeoTube *tube);
62 
63  // Handles a tubs shape.
64  virtual void handleTubs (const GeoTubs *tubs);
65 
66  // Returns the polyhedral representation of a shape.
67  const GeoPolyhedron * getPolyhedron () const;
68 
69  private:
71  GeoPolyhedrizeAction & operator=(const GeoPolyhedrizeAction &right);
72 
73  // This polyhedral representation of the shape.
74  GeoPolyhedron *m_polyhedron;
75 };
76 
77 
78 #endif
Definition: GeoTrd.h:10
This action polyhedrizes a shape. This includes, for example, boolean shapes. A polhyedral representa...
This shape represents a polycone. Specify the starting angle and delta angle (subtended angle) of the...
Definition: GeoPcon.h:20
Definition: GeoBox.h:10
This shape represents a very general trapezoid.
Definition: GeoTrap.h:16
This class is a visitor for shapes. It allows a navigation of the boolean expression tree for shapes...