IntersectVisitor类
来源:互联网 发布:soap rest 知乎 编辑:程序博客网 时间:2024/06/05 22:34
该类是一个访问器类,包含线段并对节点进行碰撞检测的类。可以判断其包含的线段是否与物体发生交集,也可以求出交点。
类方法如下:
void addLineSegment(osg::LineSegment *seg)
往当前访问器中添加线段,以用于计算该线段与物体是否相交
HitList &getHitList(cosnt osg::LineSegment *seg)
求出当前线段与物体的交点。HitList中存放的是交点
int getNumHits(const osg::LineSegment *seg)
求出当前线段与物体有多少交点
LIneSegmentHitListMap &getSegHitList()
求出线段与对应交点结果的 映射集合。其中存放的都是线段以及该线段与物体的交点。
bool hits()
求出当前已压入的线段与物体是否产生交点,产生返回真。
void setLODSelectionMode(LODSelectionMode mode)
设置与LOD模型碰撞检测的模式。也就是具体与哪一层LOD求交。
mode 可以设置为USE_HIGHEST_LEVEL_OF_DETAIL(与最精细求交)、USE_SEGMENT_START_POINT_AS_EYE_FOR_LOD_LEVEL_SELECTION(把线段的起点当作当前视点时,LOD显示几层,就与这一层进行求交)
LODSelectionMode getLODSelectionMode() const
得到设置的与:LOD模型碰撞模式
void setEyePoint(const osg::Vec3 &eye)
在局部坐标系中设置视点
virtual osg::Vec3 getEyePoint() const
得到视点位置
virtual float getDistanceToEyePoint(const osg::Vec3 &pos , bool withLODScale) const
得到视点到pos点的距离
pos 需要求到视点距离的pos点
withLODScale 是否计算LOD偏移
virtual void apply(osg::Node &)
virtual void apply(osg::Geode &)
virtual void apply(osg::Billboard &node)
virtual void apply(osg::Group &node)
virtual void apply(osg::Transform &node)
virtual void apply(osg::Switch &node)
virtual void apply(osg::LOD &node)
需要计算哪一种类型的节点,就是哪一种apply()
- IntersectVisitor类
- 类
- 类
- 类
- 类
- 类
- 类
- 类
- 类
- 类
- 类
- 类
- 类
- 类
- 类
- 类
- 类
- 类
- 链队列的定义及相关操作
- 44. Struts2_表单的重复提交问题
- Eclipse实用快捷键个人总结
- Makefile中的死循环问题--学习李云《驾驭Makefile》中的疑惑解决
- jsp所需基础
- IntersectVisitor类
- python 电路绘制库 schemdraw
- day23-linux
- Android WiFi--系统架构
- codevs 1225_八数码难题_bfs+hash
- hive安装问题
- POJ 1321 棋盘问题
- day24-nginx
- python中的DocStrings