- Timestamp:
- 07/01/09 16:50:08 (4 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
OpenSceneGraph/trunk/examples/osgmanipulator/osgmanipulator.cpp
r10436 r10439 23 23 #include <osgText/Text> 24 24 25 #include <osgManipulator/CommandManager>26 25 #include <osgManipulator/TabBoxDragger> 27 26 #include <osgManipulator/TabPlaneDragger> … … 39 38 #include <iostream> 40 39 41 // #define USE_COMMAND_MANAGER42 43 40 osgManipulator::Dragger* createDragger(const std::string& name) 44 41 { … … 93 90 94 91 95 osg::Node* addDraggerToScene(osg::Node* scene, osgManipulator::CommandManager* cmdMgr,const std::string& name)92 osg::Node* addDraggerToScene(osg::Node* scene, const std::string& name) 96 93 { 97 94 scene->getOrCreateStateSet()->setMode(GL_NORMALIZE, osg::StateAttribute::ON); 98 95 99 osg Manipulator::Selection* selection = new osgManipulator::Selection;96 osg::MatrixTransform* selection = new osg::MatrixTransform; 100 97 selection->addChild(scene); 101 98 … … 112 109 osg::Matrix::translate(scene->getBound().center())); 113 110 114 #ifdef USE_COMMAND_MANAGER115 cmdMgr->connect(*dragger, *selection);116 #else117 111 dragger->addTransformUpdating(selection); 118 #endif 112 119 113 return root; 120 114 } 121 115 122 osg::Node* createDemoScene( osgManipulator::CommandManager* cmdMgr) {116 osg::Node* createDemoScene() { 123 117 124 118 osg::Group* root = new osg::Group; … … 196 190 root->getOrCreateStateSet()->setAttributeAndModes(matirial.get(), osg::StateAttribute::ON); 197 191 198 transform_1.get()->addChild(addDraggerToScene(geode_1.get(), cmdMgr,"TabBoxDragger"));199 transform_2.get()->addChild(addDraggerToScene(geode_2.get(), cmdMgr,"TabPlaneDragger"));200 transform_3.get()->addChild(addDraggerToScene(geode_3.get(), cmdMgr,"TabPlaneTrackballDragger"));201 transform_4.get()->addChild(addDraggerToScene(geode_4.get(), cmdMgr,"TrackballDragger"));202 transform_5.get()->addChild(addDraggerToScene(geode_5.get(), cmdMgr,"Translate1DDragger"));203 transform_6.get()->addChild(addDraggerToScene(geode_6.get(), cmdMgr,"Translate2DDragger"));204 transform_7.get()->addChild(addDraggerToScene(geode_7.get(), cmdMgr,"TranslateAxisDragger"));192 transform_1.get()->addChild(addDraggerToScene(geode_1.get(),"TabBoxDragger")); 193 transform_2.get()->addChild(addDraggerToScene(geode_2.get(),"TabPlaneDragger")); 194 transform_3.get()->addChild(addDraggerToScene(geode_3.get(),"TabPlaneTrackballDragger")); 195 transform_4.get()->addChild(addDraggerToScene(geode_4.get(),"TrackballDragger")); 196 transform_5.get()->addChild(addDraggerToScene(geode_5.get(),"Translate1DDragger")); 197 transform_6.get()->addChild(addDraggerToScene(geode_6.get(),"Translate2DDragger")); 198 transform_7.get()->addChild(addDraggerToScene(geode_7.get(),"TranslateAxisDragger")); 205 199 206 200 root->addChild(transform_1.get()); … … 268 262 osg::ref_ptr<osg::Node> loadedModel = osgDB::readNodeFiles(arguments); 269 263 270 // create a command manager271 osg::ref_ptr<osgManipulator::CommandManager> cmdMgr;272 273 274 #ifdef USE_COMMAND_MANAGER275 cmdMgr = new osgManipulator::CommandManager;276 #endif277 278 264 // if no model has been successfully loaded report failure. 279 265 bool tragger2Scene(true); … … 282 268 //std::cout << arguments.getApplicationName() <<": No data loaded" << std::endl; 283 269 //return 1; 284 loadedModel = createDemoScene( cmdMgr.get());270 loadedModel = createDemoScene(); 285 271 tragger2Scene=false; 286 272 } … … 307 293 // pass the loaded scene graph to the viewer. 308 294 if ( tragger2Scene ) { 309 viewer.setSceneData(addDraggerToScene(loadedModel.get(), cmdMgr.get(),dragger_name));295 viewer.setSceneData(addDraggerToScene(loadedModel.get(), dragger_name)); 310 296 } else { 311 297 viewer.setSceneData(loadedModel.get());
