#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 19 of file GeneralNSurfaceDelimitedBounds.h.
typedef std::vector<SurfaceAndSide> GeneralNSurfaceDelimitedBounds::SurfaceContainer |
Definition at line 20 of file GeneralNSurfaceDelimitedBounds.h.
|
inline |
Definition at line 22 of file GeneralNSurfaceDelimitedBounds.h.
Referenced by clone().
|
inlineoverridevirtual |
Implements Bounds.
Definition at line 39 of file GeneralNSurfaceDelimitedBounds.h.
References GeneralNSurfaceDelimitedBounds().
|
inlineoverridevirtual |
Determine if the point is inside the bounds.
Implements Bounds.
Definition at line 33 of file GeneralNSurfaceDelimitedBounds.h.
References f, myInside(), and Scenarios_cff::scale.
|
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 26 of file GeneralNSurfaceDelimitedBounds.h.
Referenced by Vispa.Views.LineDecayView.DecayLine::arrowBoundingRect(), Vispa.Views.LineDecayView.DecayLine::labelBoundingRect(), and Vispa.Views.LineDecayView.DecayLine::paint().
|
private |
Definition at line 15 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 28 of file GeneralNSurfaceDelimitedBounds.h.
References Bounds::inside().
|
inlineoverridevirtual |
"width" of the bounds; refer to the concrete class documentation for the specific definition.
Implements Bounds.
Definition at line 27 of file GeneralNSurfaceDelimitedBounds.h.
Referenced by Vispa.Main.MainWindow.MainWindow::_saveIni(), Vispa.Gui.VispaWidget.VispaWidget::autosize(), Vispa.Gui.VispaWidget.VispaWidget::boundingRect(), Vispa.Gui.VispaWidget.VispaWidget::contentRect(), Vispa.Gui.VispaWidget.VispaWidget::defineArrowBackgroundShape(), Vispa.Gui.VispaWidget.VispaWidget::defineCircleBackgroundShape(), Vispa.Gui.VispaWidget.VispaWidget::defineRoundRectBackgroundShape(), Vispa.Gui.VispaWidget.VispaWidget::drawHeaderBackground(), Vispa.Gui.ConnectableWidget.ConnectableWidget::drawPortNames(), Vispa.Gui.VispaWidget.VispaWidget::imageRectF(), Vispa.Gui.ConnectableWidget.ConnectableWidget::positionizeMenuWidget(), Vispa.Views.PropertyView.PropertyView::resizeEvent(), Vispa.Views.PropertyView.PropertyView::sectionResized(), Vispa.Gui.VispaWidget.VispaWidget::setZoom(), and Vispa.Main.MainWindow.MainWindow::updateStartupScreenGeometry().
|
private |
Definition at line 43 of file GeneralNSurfaceDelimitedBounds.h.
Referenced by myInside().
|
private |
Definition at line 44 of file GeneralNSurfaceDelimitedBounds.h.
Referenced by myInside().