14 #ifndef OSGUTIL_INTERSECTVISITOR
15 #define OSGUTIL_INTERSECTVISITOR 1
17 #include <osg/NodeVisitor>
18 #include <osg/LineSegment>
21 #include <osg/Transform>
23 #include <osgUtil/Export>
41 Hit& operator = (
const Hit& hit);
45 bool operator < (
const Hit& hit)
const
57 const osg::Vec3 getWorldIntersectNormal()
const ;
124 USE_SEGMENT_START_POINT_AS_EYE_POINT_FOR_LOD_LEVEL_SELECTION
141 virtual float getDistanceToEyePoint(
const osg::Vec3& pos,
bool withLODScale)
const;
std::vector< LineSegmentMask > LineSegmentMaskStack
int getNumHits(const osg::LineSegment *seg)
std::pair< osg::ref_ptr< osg::LineSegment >, osg::ref_ptr< osg::LineSegment > > LineSegmentPair
const osg::RefMatrix * getMatrix() const
std::vector< Hit > HitList
IntersectStateStack _intersectStateStack
const osg::LineSegment * getLocalLineSegment() const
LineSegmentHitListMap _segHitList
std::vector< LineSegmentPair > LineSegmentList
osg::Drawable * getDrawable()
osg::Vec3 _intersectNormal
osg::ref_ptr< osg::Drawable > _drawable
unsigned int LineSegmentMask
LODSelectionMode getLODSelectionMode() const
osg::Vec3 _pseudoEyePoint
const osg::Vec3 & getLocalIntersectNormal() const
const VecIndexList & getVecIndexList() const
osg::Vec3 _intersectPoint
const osg::Vec3 & getLocalIntersectPoint() const
osg::ref_ptr< osg::Geode > _geode
HitList & getHitList(const osg::LineSegment *seg)
osg::ref_ptr< osg::RefMatrix > _model_matrix
const osg::RefMatrix * getInverseMatrix() const
std::map< const osg::LineSegment *, HitList > LineSegmentHitListMap
osg::ref_ptr< osg::LineSegment > _originalLineSegment
void setEyePoint(const osg::Vec3 &eye)
osg::ref_ptr< osg::RefMatrix > _view_inverse
LineSegmentHitListMap & getSegHitList()
#define META_NodeVisitor(library, name)
osg::ref_ptr< osg::RefMatrix > _inverse
osg::ref_ptr< osg::LineSegment > _localLineSegment
const osg::Vec3 getWorldIntersectPoint() const
osg::ref_ptr< osg::RefMatrix > _matrix
int getPrimitiveIndex() const
VecIndexList _vecIndexList
std::vector< int > VecIndexList
const osg::Geode * getGeode() const
const osg::NodePath & getNodePath() const
const osg::LineSegment * getOriginalLineSegment() const
const osg::Drawable * getDrawable() const
LineSegmentMaskStack _segmentMaskStack
osg::ref_ptr< osg::RefMatrix > _model_inverse
osg::Matrixd _lastProjectionMatrix
osg::NodePath & getNodePath()
std::vector< osg::ref_ptr< IntersectState > > IntersectStateStack
osg::Matrixd _lastViewMatrix
osg::ref_ptr< const osg::Viewport > _lastViewport
void setLODSelectionMode(LODSelectionMode mode)
osg::ref_ptr< osg::RefMatrix > _view_matrix
LODSelectionMode _lodSelectionMode
std::vector< Node * > NodePath
Shader generator framework.