osgManipulator::CylinderPlaneProjector Class Reference

`#include <Projector>`

Inheritance diagram for osgManipulator::CylinderPlaneProjector:

## Public Member Functions

| CylinderPlaneProjector ()
| CylinderPlaneProjector (osg::Cylinder *cylinder)
virtual bool | project (const PointerInfo &pi, osg::Vec3d &projectedPoint) const
osg::Quat | getRotation (const osg::Vec3d &p1, const osg::Vec3d &p2) const
Public Member Functions inherited from osgManipulator::CylinderProjector
| CylinderProjector ()
| CylinderProjector (osg::Cylinder *cylinder)
void | setCylinder (osg::Cylinder *cylinder)
const osg::Cylinder * | getCylinder () const
bool | isPointInFront (const PointerInfo &pi, const osg::Matrix &localToWorld) const
void | setFront (bool front)
Public Member Functions inherited from osgManipulator::Projector
| Projector ()
void | setLocalToWorld (const osg::Matrix &localToWorld)
const osg::Matrix & | getLocalToWorld () const
const osg::Matrix & | getWorldToLocal () const
Public Member Functions inherited from osg::Referenced
| Referenced ()
| Referenced (bool threadSafeRefUnref)
| Referenced (const Referenced &)
Referenced & | operator= (const Referenced &)
virtual void | setThreadSafeRefUnref (bool)
bool | getThreadSafeRefUnref () const
OpenThreads::Mutex * | getRefMutex () const
int | ref () const
int | unref () const
int | unref_nodelete () const
int | referenceCount () const
ObserverSet * | getObserverSet () const
ObserverSet * | getOrCreateObserverSet () const
void | addObserver (Observer *observer) const
void | removeObserver (Observer *observer) const

## Protected Member Functions

virtual | ~CylinderPlaneProjector ()
Protected Member Functions inherited from osgManipulator::CylinderProjector
virtual | ~CylinderProjector ()
Protected Member Functions inherited from osgManipulator::Projector
virtual | ~Projector ()
Protected Member Functions inherited from osg::Referenced
virtual | ~Referenced ()
void | signalObserversAndDelete (bool signalDelete, bool doDelete) const
void | deleteUsingDeleteHandler () const

## Protected Attributes

osg::Plane | _plane
osg::Vec3d | _planeLineStart
osg::Vec3d | _planeLineEnd
bool | _parallelPlane
Protected Attributes inherited from osgManipulator::CylinderProjector
osg::ref_ptr< osg::Cylinder > | _cylinder
osg::Vec3d | _cylinderAxis
bool | _front
Protected Attributes inherited from osgManipulator::Projector
osg::Matrix | _localToWorld
osg::Matrix | _worldToLocal
bool | _worldToLocalDirty
Protected Attributes inherited from osg::Referenced
OpenThreads::AtomicPtr | _observerSet
OpenThreads::Atomic | _refCount

## Additional Inherited Members

Static Public Member Functions inherited from osg::Referenced
static OpenThreads::Mutex * | getGlobalReferencedMutex ()
static void | setDeleteHandler (DeleteHandler *handler)
static DeleteHandler * | getDeleteHandler ()

## Detailed Description

CylinderPlaneProjector projects a point onto a plane relative to the given cylinder. For most cases, the plane will be parallel to the cylinder axis oriented towards the eyepoint. When the eyepoint and cylinder axis are close to parallel, then it will project onto a plane perpendicular to the cylinder.

## Constructor & Destructor Documentation

## CylinderPlaneProjector() [1/2]

osgManipulator::CylinderPlaneProjector::CylinderPlaneProjector | ( |  | ) |

## CylinderPlaneProjector() [2/2]

osgManipulator::CylinderPlaneProjector::CylinderPlaneProjector | ( | osg::Cylinder * | cylinder | ) |

## ~CylinderPlaneProjector()

virtual osgManipulator::CylinderPlaneProjector::~CylinderPlaneProjector | ( |  | ) |

protected virtual

## Member Function Documentation

## getRotation()

osg::Quat osgManipulator::CylinderPlaneProjector::getRotation | ( | const osg::Vec3d & | p1,
|  | const osg::Vec3d & | p2 ) const

Generates a rotation about the cylinder axis based upon the incoming projected points on the plane computed from project().

Parameters

  [in] | p1 | Initial projection point
  [in] | p2 | Second projection point

Returns
  osg::Quat Rotation about cylinder axis

## project()

virtual bool osgManipulator::CylinderPlaneProjector::project | ( | const PointerInfo & | pi,
|  | osg::Vec3d & | projectedPoint ) const

virtual

Calculates the object coordinates (projectedPoint) of a window coordinate (pointToProject) when projected onto the given plane. Returns true on successful projection.

Parameters

  [in] | pi | Incoming intersection information
  [out] | projectedPoint | Point located on the given plane

Returns
  bool Whether the projection onto the plane was successful.

Reimplemented from osgManipulator::CylinderProjector.

## Member Data Documentation

## _parallelPlane

bool osgManipulator::CylinderPlaneProjector::_parallelPlane

mutable protected

## _plane

osg::Plane osgManipulator::CylinderPlaneProjector::_plane

mutable protected

## _planeLineEnd

osg::Vec3d osgManipulator::CylinderPlaneProjector::_planeLineEnd

protected

## _planeLineStart

osg::Vec3d osgManipulator::CylinderPlaneProjector::_planeLineStart

mutable protected

The documentation for this class was generated from the following file:

- Projector