![]() |
ATLAS Offline Software
|
#include <CombinedVolumeBounds.h>
Public Member Functions | |
CombinedVolumeBounds () | |
Default Constructor. More... | |
CombinedVolumeBounds (std::unique_ptr< Volume > first, std::unique_ptr< Volume > second, bool intersection) | |
Constructor - the box boundaries. More... | |
CombinedVolumeBounds (const CombinedVolumeBounds &bobo) | |
Copy Constructor. More... | |
virtual | ~CombinedVolumeBounds () |
Destructor. More... | |
CombinedVolumeBounds & | operator= (const CombinedVolumeBounds &bobo) |
Assignment operator. More... | |
virtual CombinedVolumeBounds * | clone () const override final |
Virtual constructor. More... | |
virtual bool | inside (const Amg::Vector3D &, double tol=0.) const override final |
This method checks if position in the 3D volume frame is inside the volume. More... | |
virtual std::vector< std::unique_ptr< Trk::Surface > > | decomposeToSurfaces (const Amg::Transform3D &transform) override final |
Method to decompose the Bounds into boundarySurfaces. More... | |
virtual ObjectAccessor | boundarySurfaceAccessor (const Amg::Vector3D &gp, const Amg::Vector3D &dir, bool forceInside=false) const override final |
Provide accessor for BoundarySurfaces. More... | |
const Volume * | first () const |
This method returns the first VolumeBounds. More... | |
const Volume * | second () const |
This method returns the second VolumeBounds. More... | |
bool | intersection () const |
This method distinguishes between Union(0) and Intersection(1) More... | |
const std::vector< bool > & | boundsOrientation () const |
This method returns bounds orientation. More... | |
virtual MsgStream & | dump (MsgStream &sl) const override final |
Output Method for MsgStream. More... | |
virtual std::ostream & | dump (std::ostream &sl) const override final |
Output Method for std::ostream. More... | |
Static Private Member Functions | |
static Trk::Volume * | createSubtractedVolume (const Amg::Transform3D &transf, const Trk::Volume *subtrVol) |
Private Attributes | |
std::unique_ptr< Volume > | m_first {} |
std::unique_ptr< Volume > | m_second {} |
bool | m_intersection {} |
EightObjectsAccessor | m_objectAccessor {} |
std::vector< bool > | m_boundsOrientation {} |
Bounds for a generic combined volume, the decomposeToSurfaces method creates a vector of n surfaces (n1+n2-nshared):
BoundarySurfaceFace [index]: [n1+n2-nshared] combined surfaces
designed to allow transcript of GeoShapeUnion and GeoShapeIntersection
Definition at line 44 of file CombinedVolumeBounds.h.
|
default |
Default Constructor.
Trk::CombinedVolumeBounds::CombinedVolumeBounds | ( | std::unique_ptr< Volume > | first, |
std::unique_ptr< Volume > | second, | ||
bool | intersection | ||
) |
Trk::CombinedVolumeBounds::CombinedVolumeBounds | ( | const CombinedVolumeBounds & | bobo | ) |
|
virtualdefault |
Destructor.
|
inlinefinaloverridevirtual |
Provide accessor for BoundarySurfaces.
Implements Trk::VolumeBounds.
Definition at line 131 of file CombinedVolumeBounds.h.
|
inline |
This method returns bounds orientation.
Definition at line 136 of file CombinedVolumeBounds.h.
|
inlinefinaloverridevirtual |
Virtual constructor.
Implements Trk::VolumeBounds.
Definition at line 108 of file CombinedVolumeBounds.h.
|
staticprivate |
Definition at line 341 of file CombinedVolumeBounds.cxx.
|
finaloverridevirtual |
Method to decompose the Bounds into boundarySurfaces.
Implements Trk::VolumeBounds.
Definition at line 74 of file CombinedVolumeBounds.cxx.
|
finaloverridevirtual |
Output Method for MsgStream.
Implements Trk::VolumeBounds.
Definition at line 315 of file CombinedVolumeBounds.cxx.
|
finaloverridevirtual |
Output Method for std::ostream.
Implements Trk::VolumeBounds.
Definition at line 328 of file CombinedVolumeBounds.cxx.
This method returns the first VolumeBounds.
Definition at line 119 of file CombinedVolumeBounds.h.
|
inlinefinaloverridevirtual |
This method checks if position in the 3D volume frame is inside the volume.
Implements Trk::VolumeBounds.
Definition at line 112 of file CombinedVolumeBounds.h.
|
inline |
This method distinguishes between Union(0) and Intersection(1)
Definition at line 127 of file CombinedVolumeBounds.h.
Trk::CombinedVolumeBounds & Trk::CombinedVolumeBounds::operator= | ( | const CombinedVolumeBounds & | bobo | ) |
This method returns the second VolumeBounds.
Definition at line 123 of file CombinedVolumeBounds.h.
|
private |
Definition at line 105 of file CombinedVolumeBounds.h.
|
private |
Definition at line 101 of file CombinedVolumeBounds.h.
|
private |
Definition at line 103 of file CombinedVolumeBounds.h.
|
private |
Definition at line 104 of file CombinedVolumeBounds.h.
|
private |
Definition at line 102 of file CombinedVolumeBounds.h.