#include <GeneralNSurfaceDelimitedBounds.h>
Public Types | |
typedef std::pair< const Surface *, SurfaceOrientation::Side > | SurfaceAndSide |
typedef std::vector < SurfaceAndSide > | SurfaceContainer |
Public Member Functions | |
virtual Bounds * | clone () const |
GeneralNSurfaceDelimitedBounds (const Surface *surf, const std::vector< SurfaceAndSide > &limits) | |
virtual bool | inside (const Local3DPoint &lp) const |
Determine if the point is inside the bounds. More... | |
virtual bool | inside (const Local3DPoint &, const LocalError &, float scale=1.f) const |
Determine if a point is inside the bounds, taking error into account. More... | |
virtual float | length () const |
virtual float | thickness () const |
virtual float | width () const |
Public Member Functions inherited from Bounds | |
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... | |
virtual float | widthAtHalfLength () const |
Width at half length. Useful for e.g. pitch definition. More... | |
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().
|
inlinevirtual |
Implements Bounds.
Definition at line 37 of file GeneralNSurfaceDelimitedBounds.h.
References GeneralNSurfaceDelimitedBounds().
|
inlinevirtual |
Determine if the point is inside the bounds.
Implements Bounds.
Definition at line 31 of file GeneralNSurfaceDelimitedBounds.h.
References myInside().
|
virtual |
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(), LocalError::xx(), and LocalError::yy().
|
inlinevirtual |
"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 i, SurfaceOrientation::onSurface, theLimits, theSurface, and Surface::toGlobal().
Referenced by inside().
|
inlinevirtual |
"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.
|
inlinevirtual |
"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 41 of file GeneralNSurfaceDelimitedBounds.h.
Referenced by myInside().
|
private |
Definition at line 42 of file GeneralNSurfaceDelimitedBounds.h.
Referenced by myInside().