class SG_EXPORT osg::IntersectVisitor: public NodeVisitor

Basic visitor for ray based collisions of a scene.

Inheritance:


Public Classes

[more]enum HitReportingMode
Modes to control how IntersectVisitor reports hits.

Public Methods

[more] IntersectVisitor()
[more]virtual ~IntersectVisitor()
[more]void reset()
[more]void addSeg(Seg* seg)
Add a line segment to use for intersection testing during scene traversal
[more]void setHitReportingMode(HitReportingMode hrm)
Set the mode of how hits should reported back from a traversal
[more]HitReportingMode getHitReportingMode()
Get the mode of how hits should reported back from a traversal
[more]HitList& getHitList(Seg* seg)
[more]int getNumHits(Seg* seg)
[more]bool hits()
[more]virtual void apply(Node&)
[more]virtual void apply(Geode& node)
[more]virtual void apply(Billboard& node)
[more]virtual void apply(Group& node)
[more]virtual void apply(DCS& node)
[more]virtual void apply(Switch& node)
[more]virtual void apply(LOD& node)
[more]virtual void apply(Scene& node)

Public

[more]typedef std::multiset<Hit> HitList
[more]typedef std::map<Seg*,HitList > SegHitListMap

Protected Fields

[more]IntersectStateStack _intersectStateStack
[more]NodePath _nodePath
[more]HitReportingMode _hitReportingMode
[more]SegHitListMap _segHitList

Protected Methods

[more]bool intersect(GeoSet& gset)
[more]void pushMatrix(const Matrix& matrix)
[more]void popMatrix()
[more]bool enterNode(Node& node)
[more]void leaveNode()

Protected

[more]typedef std::vector<IntersectState*> IntersectStateStack


Inherited from NodeVisitor:

Public Classes

oenum TraversalMode

Public Methods

ovoid setTraverseMode(TraversalMode mode)
oTraversalMode getTraverseMode()
ovoid setTraverseVisitor(NodeVisitor* nv)
oNodeVisitor* getTraverseVisitor()
ovoid traverse(Node& node)

Protected Fields

oNodeVisitor* _traverseVisitor
oTraversalMode _traverseMode


Documentation

Basic visitor for ray based collisions of a scene. Note, still in development, current version has not pratical functionality!
o IntersectVisitor()

ovirtual ~IntersectVisitor()

ovoid reset()

ovoid addSeg(Seg* seg)
Add a line segment to use for intersection testing during scene traversal

oenum HitReportingMode
Modes to control how IntersectVisitor reports hits.

o ONLY_NEAREST_HIT

o ALL_HITS

ovoid setHitReportingMode(HitReportingMode hrm)
Set the mode of how hits should reported back from a traversal

oHitReportingMode getHitReportingMode()
Get the mode of how hits should reported back from a traversal

otypedef std::multiset<Hit> HitList

otypedef std::map<Seg*,HitList > SegHitListMap

oHitList& getHitList(Seg* seg)

oint getNumHits(Seg* seg)

obool hits()

ovirtual void apply(Node&)

ovirtual void apply(Geode& node)

ovirtual void apply(Billboard& node)

ovirtual void apply(Group& node)

ovirtual void apply(DCS& node)

ovirtual void apply(Switch& node)

ovirtual void apply(LOD& node)

ovirtual void apply(Scene& node)

obool intersect(GeoSet& gset)

ovoid pushMatrix(const Matrix& matrix)

ovoid popMatrix()

obool enterNode(Node& node)

ovoid leaveNode()

otypedef std::vector<IntersectState*> IntersectStateStack

oIntersectStateStack _intersectStateStack

oNodePath _nodePath

oHitReportingMode _hitReportingMode

oSegHitListMap _segHitList


This class has no child classes.

Alphabetic index HTML hierarchy of classes or Java



This page was generated with the help of DOC++.