14#ifndef OSGUTIL_INTERSECTVISITOR
15#define OSGUTIL_INTERSECTVISITOR 1
45 bool operator < (
const Hit& hit)
const
124 USE_SEGMENT_START_POINT_AS_EYE_POINT_FOR_LOD_LEVEL_SELECTION
Definition IntersectVisitor:34
osg::ref_ptr< osg::Geode > _geode
Definition IntersectVisitor:78
const VecIndexList & getVecIndexList() const
Definition IntersectVisitor:70
osg::ref_ptr< osg::LineSegment > _originalLineSegment
Definition IntersectVisitor:75
const osg::Drawable * getDrawable() const
Definition IntersectVisitor:67
int _primitiveIndex
Definition IntersectVisitor:84
osg::NodePath & getNodePath()
Definition IntersectVisitor:62
osg::ref_ptr< osg::Drawable > _drawable
Definition IntersectVisitor:79
const osg::Vec3 getWorldIntersectNormal() const
const osg::NodePath & getNodePath() const
Definition IntersectVisitor:63
int getPrimitiveIndex() const
Definition IntersectVisitor:71
osg::ref_ptr< osg::RefMatrix > _inverse
Definition IntersectVisitor:81
osg::Drawable * getDrawable()
Definition IntersectVisitor:66
float getRatio() const
Definition IntersectVisitor:59
const osg::RefMatrix * getMatrix() const
Definition IntersectVisitor:68
const osg::Vec3 & getLocalIntersectPoint() const
Definition IntersectVisitor:53
float _ratio
Definition IntersectVisitor:74
const osg::LineSegment * getLocalLineSegment() const
Definition IntersectVisitor:61
std::vector< int > VecIndexList
Definition IntersectVisitor:43
osg::Vec3 _intersectNormal
Definition IntersectVisitor:86
osg::ref_ptr< osg::RefMatrix > _matrix
Definition IntersectVisitor:80
const osg::LineSegment * getOriginalLineSegment() const
Definition IntersectVisitor:60
const osg::RefMatrix * getInverseMatrix() const
Definition IntersectVisitor:69
osg::ref_ptr< osg::LineSegment > _localLineSegment
Definition IntersectVisitor:76
VecIndexList _vecIndexList
Definition IntersectVisitor:83
osg::Geode * getGeode()
Definition IntersectVisitor:64
const osg::Vec3 getWorldIntersectPoint() const
Definition IntersectVisitor:56
osg::NodePath _nodePath
Definition IntersectVisitor:77
const osg::Geode * getGeode() const
Definition IntersectVisitor:65
osg::Vec3 _intersectPoint
Definition IntersectVisitor:85
const osg::Vec3 & getLocalIntersectNormal() const
Definition IntersectVisitor:54
Definition IntersectVisitor:156
void addLineSegment(osg::LineSegment *seg)
osg::ref_ptr< osg::RefMatrix > _view_inverse
Definition IntersectVisitor:162
std::vector< LineSegmentPair > LineSegmentList
Definition IntersectVisitor:167
osg::ref_ptr< osg::RefMatrix > _model_inverse
Definition IntersectVisitor:164
unsigned int LineSegmentMask
Definition IntersectVisitor:170
LineSegmentList _segList
Definition IntersectVisitor:168
osg::ref_ptr< osg::RefMatrix > _view_matrix
Definition IntersectVisitor:161
osg::ref_ptr< osg::RefMatrix > _model_matrix
Definition IntersectVisitor:163
LineSegmentMaskStack _segmentMaskStack
Definition IntersectVisitor:172
std::pair< osg::ref_ptr< osg::LineSegment >, osg::ref_ptr< osg::LineSegment > > LineSegmentPair
Definition IntersectVisitor:166
bool isCulled(const osg::BoundingBox &bb, LineSegmentMask &segMaskOut)
std::vector< LineSegmentMask > LineSegmentMaskStack
Definition IntersectVisitor:171
bool isCulled(const osg::BoundingSphere &bs, LineSegmentMask &segMaskOut)
Definition IntersectVisitor:94
virtual void apply(osg::Billboard &node)
void setEyePoint(const osg::Vec3 &eye)
Definition IntersectVisitor:134
META_NodeVisitor(osgUtil, IntersectVisitor) void reset()
virtual void apply(osg::LOD &node)
osg::Vec3 _pseudoEyePoint
Definition IntersectVisitor:200
std::vector< Hit > HitList
Definition IntersectVisitor:110
virtual void apply(osg::Node &)
virtual void apply(osg::Drawable &)
void pushMatrix(osg::RefMatrix *matrix, osg::Transform::ReferenceFrame rf)
LODSelectionMode getLODSelectionMode() const
Definition IntersectVisitor:128
std::vector< osg::ref_ptr< IntersectState > > IntersectStateStack
Definition IntersectVisitor:193
int getNumHits(const osg::LineSegment *seg)
Definition IntersectVisitor:115
bool intersect(osg::Drawable &gset)
virtual void apply(osg::Switch &node)
virtual osg::Vec3 getEyePoint() const
virtual ~IntersectVisitor()
virtual void apply(osg::Geode &node)
LineSegmentHitListMap _segHitList
Definition IntersectVisitor:197
void addLineSegment(osg::LineSegment *seg)
LineSegmentHitListMap & getSegHitList()
Definition IntersectVisitor:117
LODSelectionMode _lodSelectionMode
Definition IntersectVisitor:199
virtual float getDistanceToEyePoint(const osg::Vec3 &pos, bool withLODScale) const
IntersectStateStack _intersectStateStack
Definition IntersectVisitor:195
void setLODSelectionMode(LODSelectionMode mode)
Definition IntersectVisitor:127
bool enterNode(osg::Node &node)
virtual void apply(osg::Transform &node)
LODSelectionMode
Definition IntersectVisitor:122
@ USE_HIGHEST_LEVEL_OF_DETAIL
Definition IntersectVisitor:123
virtual void apply(osg::Group &node)
std::map< const osg::LineSegment *, HitList > LineSegmentHitListMap
Definition IntersectVisitor:111
HitList & getHitList(const osg::LineSegment *seg)
Definition IntersectVisitor:113
Definition IntersectVisitor:205
PickVisitor(const osg::Viewport *viewport, const osg::Matrixd &proj, const osg::Matrixd &view, float mx, float my)
osg::ref_ptr< const osg::Viewport > _lastViewport
Definition IntersectVisitor:221
osg::Matrixd _lastViewMatrix
Definition IntersectVisitor:223
float _my
Definition IntersectVisitor:219
void runNestedPickVisitor(osg::Node &node, const osg::Viewport *viewport, const osg::Matrix &proj, const osg::Matrix &view, float mx, float my)
float _mx
Definition IntersectVisitor:218
void apply(osg::Camera &camera)
osg::Matrixd _lastProjectionMatrix
Definition IntersectVisitor:222
void apply(osg::Projection &projection)
Definition BoundingBox:34
Definition BoundingSphere:35
Definition LineSegment:25
Definition NodeVisitor:82
Shader generator framework.
Definition NodeVisitor:25
std::vector< Node * > NodePath
Definition Node:47
#define OSGUTIL_EXPORT
Definition osgUtil/Export:40