osgManipulator.LineProjector
概述
osgManipulator.LineProjector
是OpenSceneGraph中的一个投影器,用于将拖拽操作投影到一个线段上。
继承
继承自 osgManipulator.Projector
头文件
#include <osgManipulator/LineProjector>
定义
class LineProjector : public Projector
构造函数
LineProjector()
默认构造函数。
LineProjector(const osg::Vec3d& start, const osg::Vec3d& end)
构造一个投影器,将拖拽操作投影到从 start
点到 end
点的线段上。
LineProjector(const LineProjector& lp, const osg::CopyOp& copyop = osg::CopyOp::SHALLOW_COPY)
复制构造函数。
成员函数
osgManipulator::Constraint* getConstraint()
获取该投影器的约束器。
void setLine(const osg::Vec3d& start, const osg::Vec3d& end)
设置该投影器的线段。
osg::Vec3d project(osgManipulator::PointerInfo& pointer) const
投影指定的拖拽指针(pointer
)到该投影器的线段上,并返回投影点。
bool project(const osg::Vec3d& pointer, const osg::Vec3d& /delta/, osg::Vec3d& projectedPoint) const
投影指定的点(pointer
)到该投影器的线段上,并将投影点存储在 projectedPoint
中。本函数将返回 true
表示成功,或 false
表示投影失败。
bool intersects(osgManipulator::PointerInfo& pointer) const
判断指定的拖拽指针(pointer
)是否与该投影器的线段相交。
void setOrtho(zNear, zFar)
设置该投影器的正交投影区间。
参考文献