openscenegraph
osgManipulator::CylinderPlaneProjector Class Reference

#include <Projector>

Inheritance diagram for osgManipulator::CylinderPlaneProjector:
osgManipulator::CylinderProjector osgManipulator::Projector osg::Referenced

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::CylindergetCylinder () 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::MatrixgetLocalToWorld () const
const osg::MatrixgetWorldToLocal () const
Public Member Functions inherited from osg::Referenced
 Referenced ()
 Referenced (bool threadSafeRefUnref)
 Referenced (const Referenced &)
Referencedoperator= (const Referenced &)
virtual void setThreadSafeRefUnref (bool)
bool getThreadSafeRefUnref () const
OpenThreads::MutexgetRefMutex () const
int ref () const
int unref () const
int unref_nodelete () const
int referenceCount () const
ObserverSetgetObserverSet () const
ObserverSetgetOrCreateObserverSet () 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::MutexgetGlobalReferencedMutex ()
static void setDeleteHandler (DeleteHandler *handler)
static DeleteHandlergetDeleteHandler ()

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 ( )
protectedvirtual

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]p1Initial projection point
[in]p2Second 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]piIncoming intersection information
[out]projectedPointPoint 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
mutableprotected

◆ _plane

osg::Plane osgManipulator::CylinderPlaneProjector::_plane
mutableprotected

◆ _planeLineEnd

osg::Vec3d osgManipulator::CylinderPlaneProjector::_planeLineEnd
protected

◆ _planeLineStart

osg::Vec3d osgManipulator::CylinderPlaneProjector::_planeLineStart
mutableprotected

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