InteresectionVisitor is used to testing for intersections with the scene, traversing the scene using generic osgUtil::Intersector's to test against the scene.
More...
|
| IntersectionVisitor (Intersector *intersector=0, ReadCallback *readCallback=0) |
|
| META_NodeVisitor (osgUtil, IntersectionVisitor) virtual void reset() |
|
void | setIntersector (Intersector *intersector) |
| Set the intersector that will be used to intersect with the scene, and to store any hits that occur. More...
|
|
Intersector * | getIntersector () |
| Get the intersector that will be used to intersect with the scene, and to store any hits that occur. More...
|
|
const Intersector * | getIntersector () const |
| Get the const intersector that will be used to intersect with the scene, and to store any hits that occur. More...
|
|
void | setUseKdTreeWhenAvailable (bool useKdTrees) |
| Set whether the intersectors should use KdTrees when they are found on the scene graph. More...
|
|
bool | getUseKdTreeWhenAvailable () const |
| Set whether the intersectors should use KdTrees. More...
|
|
void | setDoDummyTraversal (bool dummy) |
|
bool | getDoDummyTraversal () const |
|
void | setReadCallback (ReadCallback *rc) |
| Set the read callback. More...
|
|
ReadCallback * | getReadCallback () |
| Get the read callback. More...
|
|
const ReadCallback * | getReadCallback () const |
| Get the const read callback. More...
|
|
void | pushWindowMatrix (osg::RefMatrix *matrix) |
|
void | pushWindowMatrix (osg::Viewport *viewport) |
|
void | popWindowMatrix () |
|
osg::RefMatrix * | getWindowMatrix () |
|
const osg::RefMatrix * | getWindowMatrix () const |
|
void | pushProjectionMatrix (osg::RefMatrix *matrix) |
|
void | popProjectionMatrix () |
|
osg::RefMatrix * | getProjectionMatrix () |
|
const osg::RefMatrix * | getProjectionMatrix () const |
|
void | pushViewMatrix (osg::RefMatrix *matrix) |
|
void | popViewMatrix () |
|
osg::RefMatrix * | getViewMatrix () |
|
const osg::RefMatrix * | getViewMatrix () const |
|
void | pushModelMatrix (osg::RefMatrix *matrix) |
|
void | popModelMatrix () |
|
osg::RefMatrix * | getModelMatrix () |
|
const osg::RefMatrix * | getModelMatrix () const |
|
void | setReferenceEyePoint (const osg::Vec3 &ep) |
| Set the reference eye point that is used for nodes that require an eye point to position themselves, such as billboards. More...
|
|
const osg::Vec3 & | getReferenceEyePoint () const |
| Get the reference eye point. More...
|
|
void | setReferenceEyePointCoordinateFrame (Intersector::CoordinateFrame cf) |
| Set the coordinate frame of the reference eye point. More...
|
|
Intersector::CoordinateFrame | getReferenceEyePointCoordinateFrame () const |
| Get the coordinate frame of the reference eye point. More...
|
|
virtual osg::Vec3 | getEyePoint () const |
| Get the eye point in the local coordinate frame a given traversal point. More...
|
|
void | setLODSelectionMode (LODSelectionMode mode) |
| Set the LOD selection scheme. More...
|
|
LODSelectionMode | getLODSelectionMode () const |
| Get the LOD selection scheme. More...
|
|
virtual float | getDistanceToEyePoint (const osg::Vec3 &pos, bool withLODScale) const |
| Get the distance from a point to the eye point, distance value in local coordinate system. More...
|
|
virtual void | apply (osg::Node &node) |
|
virtual void | apply (osg::Geode &geode) |
|
virtual void | apply (osg::Billboard &geode) |
|
virtual void | apply (osg::Group &group) |
|
virtual void | apply (osg::LOD &lod) |
|
virtual void | apply (osg::PagedLOD &lod) |
|
virtual void | apply (osg::Transform &transform) |
|
virtual void | apply (osg::Projection &projection) |
|
virtual void | apply (osg::Camera &camera) |
|
| NodeVisitor (TraversalMode tm=TRAVERSE_NONE) |
|
| NodeVisitor (VisitorType type, TraversalMode tm=TRAVERSE_NONE) |
|
virtual | ~NodeVisitor () |
|
virtual const char * | libraryName () const |
| return the library name/namespapce of the visitor's. More...
|
|
virtual const char * | className () const |
| return the name of the visitor's class type. More...
|
|
virtual void | reset () |
| Method to call to reset visitor. More...
|
|
void | setVisitorType (VisitorType type) |
| Set the VisitorType, used to distinguish different visitors during traversal of the scene, typically used in the Node::traverse() method to select which behaviour to use for different types of traversal/visitors. More...
|
|
VisitorType | getVisitorType () const |
| Get the VisitorType. More...
|
|
void | setTraversalNumber (unsigned int fn) |
| Set the traversal number. More...
|
|
unsigned int | getTraversalNumber () const |
| Get the traversal number. More...
|
|
void | setFrameStamp (FrameStamp *fs) |
| Set the FrameStamp that this traversal is associated with. More...
|
|
const FrameStamp * | getFrameStamp () const |
| Get the FrameStamp that this traversal is associated with. More...
|
|
void | setTraversalMask (Node::NodeMask mask) |
| Set the TraversalMask of this NodeVisitor. More...
|
|
Node::NodeMask | getTraversalMask () const |
| Get the TraversalMask. More...
|
|
void | setNodeMaskOverride (Node::NodeMask mask) |
| Set the NodeMaskOverride mask. More...
|
|
Node::NodeMask | getNodeMaskOverride () const |
| Get the NodeMaskOverride mask. More...
|
|
bool | validNodeMask (const osg::Node &node) const |
| Method to called by Node and its subclass' Node::accept() method, if the result is true it is used to cull operations of nodes and their subgraphs. More...
|
|
void | setTraversalMode (TraversalMode mode) |
| Set the traversal mode for Node::traverse() to use when deciding which children of a node to traverse. More...
|
|
TraversalMode | getTraversalMode () const |
| Get the traversal mode. More...
|
|
void | setUserData (Referenced *obj) |
| Set user data, data must be subclassed from Referenced to allow automatic memory handling. More...
|
|
Referenced * | getUserData () |
| Get user data. More...
|
|
const Referenced * | getUserData () const |
| Get const user data. More...
|
|
void | traverse (Node &node) |
| Method for handling traversal of a nodes. More...
|
|
void | pushOntoNodePath (Node *node) |
| Method called by osg::Node::accept() method before a call to the NodeVisitor::apply(..). More...
|
|
void | popFromNodePath () |
| Method called by osg::Node::accept() method after a call to NodeVisitor::apply(..). More...
|
|
NodePath & | getNodePath () |
| Get the non const NodePath from the top most node applied down to the current Node being visited. More...
|
|
const NodePath & | getNodePath () const |
| Get the const NodePath from the top most node applied down to the current Node being visited. More...
|
|
virtual osg::Vec3 | getViewPoint () const |
| Get the view point in local coordinates. More...
|
|
virtual float | getDistanceFromEyePoint (const Vec3 &, bool) const |
| Get the distance of a point from the eye point, distance value in the eye coordinate system. More...
|
|
virtual float | getDistanceToViewPoint (const Vec3 &, bool) const |
| Get the distance from a point to the view point, distance value in local coordinate system. More...
|
|
virtual void | apply (ProxyNode &node) |
|
virtual void | apply (CoordinateSystemNode &node) |
|
virtual void | apply (ClipNode &node) |
|
virtual void | apply (TexGenNode &node) |
|
virtual void | apply (LightSource &node) |
|
virtual void | apply (CameraView &node) |
|
virtual void | apply (MatrixTransform &node) |
|
virtual void | apply (PositionAttitudeTransform &node) |
|
virtual void | apply (Switch &node) |
|
virtual void | apply (Sequence &node) |
|
virtual void | apply (ClearNode &node) |
|
virtual void | apply (OccluderNode &node) |
|
virtual void | apply (OcclusionQueryNode &node) |
|
void | setDatabaseRequestHandler (DatabaseRequestHandler *handler) |
| Set the handler for database requests. More...
|
|
DatabaseRequestHandler * | getDatabaseRequestHandler () |
| Get the handler for database requests. More...
|
|
const DatabaseRequestHandler * | getDatabaseRequestHandler () const |
| Get the const handler for database requests. More...
|
|
void | setImageRequestHandler (ImageRequestHandler *handler) |
| Set the handler for image requests. More...
|
|
ImageRequestHandler * | getImageRequestHandler () |
| Get the handler for image requests. More...
|
|
const ImageRequestHandler * | getImageRequestHandler () const |
| Get the const handler for image requests. More...
|
|
| Referenced () |
|
| Referenced (bool threadSafeRefUnref) |
|
| Referenced (const Referenced &) |
|
Referenced & | operator= (const Referenced &) |
|
virtual void | setThreadSafeRefUnref (bool threadSafe) |
| Set whether to use a mutex to ensure ref() and unref() are thread safe. More...
|
|
bool | getThreadSafeRefUnref () const |
| Get whether a mutex is used to ensure ref() and unref() are thread safe. More...
|
|
OpenThreads::Mutex * | getRefMutex () const |
| Get the mutex used to ensure thread safety of ref()/unref(). More...
|
|
int | ref () const |
| Increment the reference count by one, indicating that this object has another pointer which is referencing it. More...
|
|
int | unref () const |
| Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it. More...
|
|
int | unref_nodelete () const |
| Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it. More...
|
|
int | referenceCount () const |
| Return the number of pointers currently referencing this object. More...
|
|
ObserverSet * | getObserverSet () const |
| Get the ObserverSet if one is attached, otherwise return NULL. More...
|
|
ObserverSet * | getOrCreateObserverSet () const |
| Get the ObserverSet if one is attached, otherwise create an ObserverSet, attach it, then return this newly created ObserverSet. More...
|
|
void | addObserver (Observer *observer) const |
| Add a Observer that is observing this object, notify the Observer when this object gets deleted. More...
|
|
void | removeObserver (Observer *observer) const |
| Remove Observer that is observing this object. More...
|
|
InteresectionVisitor is used to testing for intersections with the scene, traversing the scene using generic osgUtil::Intersector's to test against the scene.
To implement different types of intersection techniques, one implements custom versions of the osgUtil::Intersector, and then pass the constructed intersector to the IntersectionVisitor.