static bool writeTransformUpdating( osgDB::OutputStream& os, const osgManipulator::Dragger& dragger ) { const osgManipulator::Dragger::DraggerCallbacks& callbacks = dragger.getDraggerCallbacks(); os.writeSize( callbacks.size() ); os << osgDB::BEGIN_BRACKET << std::endl; for ( osgManipulator::Dragger::DraggerCallbacks::const_iterator itr=callbacks.begin(); itr!=callbacks.end(); ++itr ) { osgManipulator::DraggerTransformCallback* dtcb = dynamic_cast<osgManipulator::DraggerTransformCallback*>( itr->get() ); if ( dtcb ) { os << std::string("DraggerTransformCallback") << osgDB::BEGIN_BRACKET << std::endl; os << dtcb->getTransform(); } else { os << std::string("DraggerCallback") << osgDB::BEGIN_BRACKET << std::endl; } os << osgDB::END_BRACKET << std::endl; } os << osgDB::END_BRACKET << std::endl; return true; }
// TransformUpdating static bool checkTransformUpdating( const osgManipulator::Dragger& dragger ) { return dragger.getDraggerCallbacks().size()>0; }