#include <NavPlane.h>
Public Types | |
typedef ConstReferenceCountingPointer< Plane > | PlanePointer |
Public Types inherited from NavSurface | |
typedef Surface::GlobalPoint | GlobalPoint |
typedef Surface::GlobalVector | GlobalVector |
typedef Surface::LocalPoint | LocalPoint |
typedef Surface::LocalVector | LocalVector |
typedef std::pair< TrajectoryStateOnSurface, double > | TSOSwithPath |
Public Member Functions | |
void | addVolume (const NavVolume *vol, const Bounds *bounds, SurfaceOrientation::Side side) override |
NavVolumes are supposed to call this method to "register" with the NavSurface. More... | |
const Bounds * | bounds (const NavVolume *vol) override |
Bounds corresponding to a NavVolume if present. More... | |
std::pair< bool, double > | distanceAlongLine (const NavSurface::GlobalPoint &pos, const NavSurface::GlobalVector &dir) const override |
NavPlane (PlanePointer plane) | |
const NavVolume * | nextVolume (const NavSurface::LocalPoint &point, SurfaceOrientation::Side side) const override |
TrajectoryStateOnSurface | propagate (const Propagator &prop, const TrajectoryStateOnSurface &startingState) const override |
hook for double dispatch to avoid propagation to generic surface. More... | |
NavSurface::TSOSwithPath | propagateWithPath (const Propagator &prop, const TrajectoryStateOnSurface &startingState) const override |
hook for double dispatch to avoid propagation to generic surface. More... | |
const Surface & | surface () const override |
Access to actual surface. More... | |
Public Member Functions inherited from NavSurface | |
GlobalPoint | toGlobal (const LocalPoint &p) const |
GlobalVector | toGlobal (const LocalVector &p) const |
LocalPoint | toLocal (const GlobalPoint &p) const |
Forwarding of part of surface interface for convenience. More... | |
LocalVector | toLocal (const GlobalVector &p) const |
~NavSurface () override | |
Public Member Functions inherited from BasicReferenceCounted | |
void | addReference () const |
BasicReferenceCounted () | |
BasicReferenceCounted (const BasicReferenceCounted &) | |
BasicReferenceCounted (BasicReferenceCounted &&)=default | |
BasicReferenceCounted & | operator= (BasicReferenceCounted &&)=default |
BasicReferenceCounted & | operator= (const BasicReferenceCounted &) |
unsigned int | references () const |
void | removeReference () const |
virtual | ~BasicReferenceCounted () |
Private Attributes | |
LinearSearchNavSurfaceImpl | theImpl |
PlanePointer | theSurfaceP |
Definition at line 12 of file NavPlane.h.
Definition at line 18 of file NavPlane.h.
|
inline |
Definition at line 22 of file NavPlane.h.
|
inlineoverridevirtual |
NavVolumes are supposed to call this method to "register" with the NavSurface.
Implements NavSurface.
Definition at line 42 of file NavPlane.h.
References LinearSearchNavSurfaceImpl::addVolume(), dir, distanceAlongLine(), and theImpl.
Bounds corresponding to a NavVolume if present.
Implements NavSurface.
Definition at line 40 of file NavPlane.h.
References LinearSearchNavSurfaceImpl::bounds(), and theImpl.
|
overridevirtual |
Distance to surface from point pos along line dir. If the half-line does not cross the surface the returned value is (false,undefined), otherwise the returned value is (true,distance)
Implements NavSurface.
Definition at line 22 of file NavPlane.cc.
References PV3DBase< T, PVType, FrameType >::basicVector(), StraightLinePlaneCrossing::pathLength(), and theSurfaceP.
Referenced by addVolume().
|
inlineoverridevirtual |
Implements NavSurface.
Definition at line 28 of file NavPlane.h.
References LinearSearchNavSurfaceImpl::nextVolume(), propagate(), propagateWithPath(), and theImpl.
|
overridevirtual |
hook for double dispatch to avoid propagation to generic surface.
Implements NavSurface.
Definition at line 8 of file NavPlane.cc.
References Propagator::propagate(), and theSurfaceP.
Referenced by nextVolume().
|
overridevirtual |
hook for double dispatch to avoid propagation to generic surface.
Implements NavSurface.
Definition at line 15 of file NavPlane.cc.
References Propagator::propagateWithPath(), and theSurfaceP.
Referenced by nextVolume().
|
inlineoverridevirtual |
Access to actual surface.
Implements NavSurface.
Definition at line 26 of file NavPlane.h.
References theSurfaceP.
|
private |
Definition at line 53 of file NavPlane.h.
Referenced by addVolume(), bounds(), and nextVolume().
|
private |
Definition at line 52 of file NavPlane.h.
Referenced by distanceAlongLine(), propagate(), propagateWithPath(), and surface().