#include <NavCylinder.h>
Public Member Functions | |
virtual void | addVolume (const NavVolume *vol, const Bounds *bounds, SurfaceOrientation::Side side) |
NavVolumes are supposed to call this method to "register" with the NavSurface. More... | |
virtual const Bounds * | bounds (const NavVolume *vol) |
Bounds corresponding to a NavVolume if present. More... | |
virtual std::pair< bool, double > | distanceAlongLine (const NavSurface::GlobalPoint &pos, const NavSurface::GlobalVector &dir) const |
NavCylinder (const Cylinder *cylinder) | |
virtual const NavVolume * | nextVolume (const NavSurface::LocalPoint &point, SurfaceOrientation::Side side) const |
virtual TrajectoryStateOnSurface | propagate (const Propagator &prop, const TrajectoryStateOnSurface &startingState) const |
hook for double dispatch to avoid propagation to generic surface. More... | |
virtual NavSurface::TSOSwithPath | propagateWithPath (const Propagator &prop, const TrajectoryStateOnSurface &startingState) const |
hook for double dispatch to avoid propagation to generic surface. More... | |
virtual const Surface & | surface () const |
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 |
virtual | ~NavSurface () |
Public Member Functions inherited from BasicReferenceCounted | |
void | addReference () const |
BasicReferenceCounted () | |
BasicReferenceCounted (const BasicReferenceCounted &) | |
const BasicReferenceCounted & | operator= (const BasicReferenceCounted &) |
unsigned int | references () const |
void | removeReference () const |
virtual | ~BasicReferenceCounted () |
Private Attributes | |
LinearSearchNavSurfaceImpl | theImpl |
ConstReferenceCountingPointer < Cylinder > | theSurfaceP |
Additional Inherited Members | |
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 |
Definition at line 12 of file NavCylinder.h.
|
inline |
Definition at line 18 of file NavCylinder.h.
|
inlinevirtual |
NavVolumes are supposed to call this method to "register" with the NavSurface.
Implements NavSurface.
Definition at line 37 of file NavCylinder.h.
References LinearSearchNavSurfaceImpl::addVolume(), and theImpl.
Bounds corresponding to a NavVolume if present.
Implements NavSurface.
Definition at line 35 of file NavCylinder.h.
References LinearSearchNavSurfaceImpl::bounds(), and theImpl.
|
virtual |
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 NavCylinder.cc.
References StraightLineCylinderCrossing::pathLength(), theSurfaceP, and NavSurface::toLocal().
|
inlinevirtual |
Implements NavSurface.
Definition at line 24 of file NavCylinder.h.
References LinearSearchNavSurfaceImpl::nextVolume(), and theImpl.
|
virtual |
hook for double dispatch to avoid propagation to generic surface.
Implements NavSurface.
Definition at line 8 of file NavCylinder.cc.
References Propagator::propagate(), and theSurfaceP.
|
virtual |
hook for double dispatch to avoid propagation to generic surface.
Implements NavSurface.
Definition at line 15 of file NavCylinder.cc.
References Propagator::propagateWithPath(), and theSurfaceP.
|
inlinevirtual |
Access to actual surface.
Implements NavSurface.
Definition at line 22 of file NavCylinder.h.
References theSurfaceP.
|
private |
Definition at line 48 of file NavCylinder.h.
Referenced by addVolume(), bounds(), and nextVolume().
|
private |
Definition at line 47 of file NavCylinder.h.
Referenced by distanceAlongLine(), propagate(), propagateWithPath(), and surface().