openscenegraph
|
Classes | |
class | IntersectState |
Public Types | |
enum | LODSelectionMode { USE_HIGHEST_LEVEL_OF_DETAIL, USE_SEGMENT_START_POINT_AS_EYE_POINT_FOR_LOD_LEVEL_SELECTION } |
typedef std::vector< Hit > | HitList |
typedef std::map< const osg::LineSegment *, HitList > | LineSegmentHitListMap |
![]() | |
enum | TraversalMode { TRAVERSE_NONE, TRAVERSE_PARENTS, TRAVERSE_ALL_CHILDREN, TRAVERSE_ACTIVE_CHILDREN } |
enum | VisitorType { NODE_VISITOR = 0, UPDATE_VISITOR, EVENT_VISITOR, COLLECT_OCCLUDER_VISITOR, CULL_VISITOR } |
Protected Types | |
typedef std::vector < osg::ref_ptr< IntersectState > > | IntersectStateStack |
Protected Member Functions | |
bool | intersect (osg::Drawable &gset) |
void | pushMatrix (osg::RefMatrix *matrix, osg::Transform::ReferenceFrame rf) |
void | popMatrix () |
bool | enterNode (osg::Node &node) |
void | leaveNode () |
![]() | |
virtual | ~Referenced () |
void | signalObserversAndDelete (bool signalDelete, bool doDelete) const |
void | deleteUsingDeleteHandler () const |
Protected Attributes | |
IntersectStateStack | _intersectStateStack |
LineSegmentHitListMap | _segHitList |
LODSelectionMode | _lodSelectionMode |
osg::Vec3 | _pseudoEyePoint |
![]() | |
VisitorType | _visitorType |
unsigned int | _traversalNumber |
ref_ptr< FrameStamp > | _frameStamp |
TraversalMode | _traversalMode |
Node::NodeMask | _traversalMask |
Node::NodeMask | _nodeMaskOverride |
NodePath | _nodePath |
ref_ptr< Referenced > | _userData |
ref_ptr< DatabaseRequestHandler > | _databaseRequestHandler |
ref_ptr< ImageRequestHandler > | _imageRequestHandler |
![]() | |
OpenThreads::AtomicPtr | _observerSet |
OpenThreads::Atomic | _refCount |
Additional Inherited Members | |
![]() | |
static OpenThreads::Mutex * | getGlobalReferencedMutex () |
static void | setThreadSafeReferenceCounting (bool enableThreadSafeReferenceCounting) |
static bool | getThreadSafeReferenceCounting () |
static void | setDeleteHandler (DeleteHandler *handler) |
static DeleteHandler * | getDeleteHandler () |
Deprecated - use IntersectionVisitor instead.
typedef std::vector<Hit> osgUtil::IntersectVisitor::HitList |
|
protected |
typedef std::map<const osg::LineSegment*,HitList > osgUtil::IntersectVisitor::LineSegmentHitListMap |
osgUtil::IntersectVisitor::IntersectVisitor | ( | ) |
|
virtual |
void osgUtil::IntersectVisitor::addLineSegment | ( | osg::LineSegment * | seg | ) |
Add a line segment to use for intersection testing during scene traversal. Note, a maximum of 32 line segments can be added to a IntersectVistor, adding more than this will result in warning being emitted to the console and the excess segments being ignored.
|
virtual |
Reimplemented from osg::NodeVisitor.
|
virtual |
Reimplemented from osg::NodeVisitor.
|
virtual |
Reimplemented from osg::NodeVisitor.
|
virtual |
Reimplemented from osg::NodeVisitor.
|
virtual |
Reimplemented from osg::NodeVisitor.
|
virtual |
Reimplemented from osg::NodeVisitor.
|
virtual |
Reimplemented from osg::NodeVisitor.
|
protected |
|
virtual |
Get the distance from a point to the eye point, distance value in local coordinate system. This is calculated using the pseudo-EyePoint (above) when doing LOD calculcations.
Reimplemented from osg::NodeVisitor.
|
virtual |
Get the eye point in local coordinates. Note, not all NodeVisitor implement this method, it is mainly cull visitors which will implement.
Reimplemented from osg::NodeVisitor.
|
inline |
|
inline |
|
inline |
|
inline |
bool osgUtil::IntersectVisitor::hits | ( | ) |
|
protected |
|
protected |
osgUtil::IntersectVisitor::META_NodeVisitor | ( | osgUtil | , |
IntersectVisitor | |||
) |
|
protected |
|
protected |
|
inline |
Set the eye point in local coordinates. This is a pseudo-EyePoint for billboarding and LOD purposes. It is copied from the Start point of the most-recently-added segment of the intersection ray set (IntersectState::_segList).
|
inline |
|
protected |
|
protected |
|
protected |
|
protected |