osgManipulator.ScaleAxisDragger是OpenSceneGraph中的一个类,用于实现场景中物体的缩放操作。该类继承自osgManipulator.Dragger类。
class OSGMANIPULATOR_EXPORT ScaleAxisDragger : public Dragger
ScaleAxisDragger();
设置拖动轴的长度。
void setAxisSize(float size);
获取拖动轴的长度。
float getAxisSize() const;
设置是否处理用户事件。
void setHandleEvents(bool handleEvents);
获取是否处理用户事件。
bool getHandleEvents() const;
设置是否绘制轴线。
void setDrawAxes(DrawMode mode);
获取是否绘制轴线。
DrawMode getDrawAxes() const;
// 创建一个MatrixTransform节点
osg::ref_ptr<osg::MatrixTransform> node = new osg::MatrixTransform;
// 设置节点的矩阵变换
node->setMatrix(osg::Matrix::translate(0.f, 0.f, 10.f));
// 创建一个ScaleAxisDragger对象
osgManipulator::ScaleAxisDragger* dragger = new osgManipulator::ScaleAxisDragger();
// 设置拖动轴的长度
dragger->setAxisSize(1.f);
// 将ScaleAxisDragger添加到MatrixTransform节点中
node->addChild(dragger);
// 创建一个Group节点,并将MatrixTransform添加进去
osg::ref_ptr<osg::Group> root = new osg::Group;
root->addChild(node);
// 创建Viewer
osgViewer::Viewer viewer;
viewer.setSceneData(root);
// 运行Viewer
viewer.run();