osgManipulator.SpherePlaneProjector是一个从球形手柄中创建用于投影的圆锥体类。它允许用户通过选择交点的方式来沿着平面进行拖拽。
#include <osgManipulator/SpherePlaneProjector>
SpherePlaneProjector(const osg::Vec3d& lineStart,
const osg::Vec3d& lineEnd,
const osg::Vec3d& sphereCenter,
double sphereRadius);
virtual bool project(const osg::Vec3d& world,
const osg::Vec3d& local,
osg::Vec3d& projected)const;
该方法将投影点存储在projected变量中,并返回true,如果没有被投影,则返回false。
virtual void setLine(const osg::Vec3d& lineStart,
const osg::Vec3d& lineEnd);
设置线段的起点和终点。
virtual void setSphere(const osg::Vec3d& sphereCenter,
double sphereRadius);
设置新球体的中心和半径。