OsgEarth中IntersectionPicker
osgUtil封装了RayIntersector、LineSegmentIntersector、PlaneIntersector求交器,分别用于三维空间射线、线段、平面与场景osg::Node的求交,求交的结果为求交的点的坐标,以及其它辅助信息,osgEarth中提供了针对目标选择的类,如在osg::Earth::RTTPicker类、osgEarth::IntersectionPicker,本篇文章讲解osgEarth::IntersectionPicker的简单用法以及原理。
目录
- 1 IntersectionPicker求交器的简介
- 2 IntersectionPicker类结构及关键函数解析
内容
- 1 IntersectionPicker求交器的简介
与osgEarth::RTTPicker不同(前面 ”osgEarth目标选择“主要讲解RTTPicker的用法,IntersectionPicker通过空间求交的方式来获取拾取的对象,这也使得其相较于RTTPicker具有一定的劣势,如不能选中annotations、基于shader的几何体(如常见的drape模式,其将几何体最终通过一个图片来展示)。相交与传统osg封装的求交器,IntersectionPicker的求交器支持对点、线的求交,其通过设置一个搜索的buffer来实现。osgEarth::PrimitiveIntersector为IntersectionPicker