#include <GeneralNSurfaceDelimitedBounds.h>
Public Types | |
typedef std::pair< const Surface *, SurfaceOrientation::Side > | SurfaceAndSide |
typedef std::vector < SurfaceAndSide > | SurfaceContainer |
Public Member Functions | |
Bounds * | clone () const override |
GeneralNSurfaceDelimitedBounds (const Surface *surf, const std::vector< SurfaceAndSide > &limits) | |
bool | inside (const Local3DPoint &lp) const override |
Determine if the point is inside the bounds. More... | |
bool | inside (const Local3DPoint &, const LocalError &, float scale=1.f) const override |
Determine if a point is inside the bounds, taking error into account. More... | |
float | length () const override |
float | thickness () const override |
float | width () const override |
Public Member Functions inherited from Bounds | |
void | computeSpan (Surface const &plane) |
virtual bool | inside (const Local2DPoint &p) const |
virtual bool | inside (const Local2DPoint &p, float tollerance) const |
Determine if a point is inside the bounds, taking a tollerance into account. More... | |
virtual bool | inside (const Local2DPoint &p, const LocalError &err, float scale=1.f) const |
Determine if a 2D point is inside the bounds, taking error into account. More... | |
std::pair< float, float > const & | phiSpan () const |
std::pair< float, float > const & | rSpan () const |
virtual float | significanceInside (const Local3DPoint &, const LocalError &) const |
virtual float | widthAtHalfLength () const |
Width at half length. Useful for e.g. pitch definition. More... | |
std::pair< float, float > const & | zSpan () const |
virtual | ~Bounds () |
Private Member Functions | |
bool | myInside (const Local3DPoint &lp, float tolerance) const |
Private Attributes | |
SurfaceContainer | theLimits |
const Surface * | theSurface |
Bounds for a surface of any type, delimited by N other surfaces of any type. A point is "inside" if it is on the correct side of all delimiting surfaces. This way of computing "inside" is relatively expensive, and should only be applied to situations where there is no specialized implementation for the concrete surface types.
Definition at line 16 of file GeneralNSurfaceDelimitedBounds.h.
typedef std::pair<const Surface*, SurfaceOrientation::Side> GeneralNSurfaceDelimitedBounds::SurfaceAndSide |
Definition at line 18 of file GeneralNSurfaceDelimitedBounds.h.
typedef std::vector<SurfaceAndSide> GeneralNSurfaceDelimitedBounds::SurfaceContainer |
Definition at line 19 of file GeneralNSurfaceDelimitedBounds.h.
|
inline |
Definition at line 21 of file GeneralNSurfaceDelimitedBounds.h.
Referenced by clone().
|
inlineoverridevirtual |
Implements Bounds.
Definition at line 34 of file GeneralNSurfaceDelimitedBounds.h.
References GeneralNSurfaceDelimitedBounds().
|
inlineoverridevirtual |
Determine if the point is inside the bounds.
Implements Bounds.
Definition at line 30 of file GeneralNSurfaceDelimitedBounds.h.
References myInside().
|
overridevirtual |
Determine if a point is inside the bounds, taking error into account.
Implements Bounds.
Definition at line 6 of file GeneralNSurfaceDelimitedBounds.cc.
References myInside(), mathSSE::sqrt(), tolerance, LocalError::xx(), and LocalError::yy().
|
inlineoverridevirtual |
"Lenght" of the bounded volume; refer to the concrete class documentation for the specific definition.
Implements Bounds.
Definition at line 24 of file GeneralNSurfaceDelimitedBounds.h.
|
private |
Definition at line 13 of file GeneralNSurfaceDelimitedBounds.cc.
References runTauDisplay::gp, mps_fire::i, SurfaceOrientation::onSurface, theLimits, theSurface, and Surface::toGlobal().
Referenced by inside().
|
inlineoverridevirtual |
"Thickness" of the bound around the surface; refer to the concrete class documentation for the specific definition.
Implements Bounds.
Definition at line 26 of file GeneralNSurfaceDelimitedBounds.h.
|
inlineoverridevirtual |
"width" of the bounds; refer to the concrete class documentation for the specific definition.
Implements Bounds.
Definition at line 25 of file GeneralNSurfaceDelimitedBounds.h.
|
private |
Definition at line 37 of file GeneralNSurfaceDelimitedBounds.h.
Referenced by myInside().
|
private |
Definition at line 38 of file GeneralNSurfaceDelimitedBounds.h.
Referenced by myInside().