5 #include "GeoModelKernel/GeoShapeUnion.h" 6 #include "GeoModelKernel/GeoShapeAction.h" 7 #include "GeoModelKernel/GeoPolyhedron.h" 8 #include "GeoModelKernel/GeoPolyhedrizeAction.h" 11 const std::string GeoShapeUnion::s_classType =
"Union";
12 const ShapeType GeoShapeUnion::s_classTypeID = 0x01;
22 GeoShapeUnion::~GeoShapeUnion()
28 double GeoShapeUnion::volume ()
const 33 double vol = poly->GetVolume ();
37 const std::string & GeoShapeUnion::type ()
const 42 ShapeType GeoShapeUnion::typeID ()
const 47 const GeoShape* GeoShapeUnion::getOpA ()
const 52 const GeoShape* GeoShapeUnion::getOpB ()
const 59 action->getPath ()->push (
this);
60 action->handleUnion (
this);
61 if (action->shouldTerminate ())
63 action->getPath ()->pop ();
67 if (action->getDepthLimit ().isValid ()
68 && action->getPath ()->getLength () > action->getDepthLimit ())
75 if (action->shouldTerminate ())
77 action->getPath ()->pop ();
81 if (action->shouldTerminate ())
83 action->getPath ()->pop ();
87 action->getPath()->pop();
This action polyhedrizes a shape. This includes, for example, boolean shapes. A polhyedral representa...
This class is a visitor for shapes. It allows a navigation of the boolean expression tree for shapes...
This class describes a Shape. Shapes will be able to do the following things: