#include <osgViewer/Viewer>
#include <osgDB/ReadFile>
#include <osgManipulator/Selection>
#include <osg/MatrixTransform>
#include <osgGA/GUIEventAdapter>
#include <osgManipulator/CommandManager>
#include <osgManipulator/TranslateAxisDragger>
int main()
{
float scale = 1.0;
osgViewer::Viewer viewer;
osg::ref_ptr<osg::Node> loadedModel = osgDB::readNodeFile("航天器.3ds");
osg::ref_ptr<osgManipulator::Selection> selection = new osgManipulator::Selection;
selection->addChild(loadedModel);
//三维平移拖拽器
osgManipulator::TranslateAxisDragger * Move3d = new osgManipulator::TranslateAxisDragger();
Move3d->setupDefaultGeometry();
Move3d->setMatrix(osg::Matrix::scale(scale, scale, scale)*osg::Matrix::translate(loadedModel->getBound().center()));
Move3d->addTransformUpdating(selection);
Move3d->setHandleEvents(true);
osg::ref_ptr<osg::Group> root = new
05-12
358