static bool writeInfluenceMap( osgDB::OutputStream& os, const osgAnimation::RigGeometry& geom ) { const osgAnimation::VertexInfluenceMap* map = geom.getInfluenceMap(); os.writeSize(map->size()); os << os.BEGIN_BRACKET << std::endl; for ( osgAnimation::VertexInfluenceMap::const_iterator itr=map->begin(); itr!=map->end(); ++itr ) { std::string name = itr->first; const osgAnimation::VertexInfluence& vi = itr->second; if ( name.empty() ) name = "Empty"; os << os.PROPERTY("VertexInfluence"); os.writeWrappedString(name); os.writeSize(vi.size()) ; os << os.BEGIN_BRACKET << std::endl; for ( osgAnimation::VertexInfluence::const_iterator vitr=vi.begin(); vitr != vi.end(); ++vitr ) { os << vitr->first << vitr->second << std::endl; } os << os.END_BRACKET << std::endl; } os << os.END_BRACKET << std::endl; return true; }
static bool writeValues( osgDB::OutputStream& os, const osgSim::MultiSwitch& node ) { const osgSim::MultiSwitch::SwitchSetList& switches = node.getSwitchSetList(); os.writeSize( switches.size() ); os << os.BEGIN_BRACKET << std::endl; for ( unsigned int i=0; i<switches.size(); ++i ) { const osgSim::MultiSwitch::ValueList& values = node.getValueList(i); os << os.PROPERTY("SwitchSet"); os.writeSize( values.size() ); os << os.BEGIN_BRACKET << std::endl; for ( osgSim::MultiSwitch::ValueList::const_iterator itr=values.begin(); itr!=values.end(); ++itr ) { os << *itr << std::endl; } os << os.END_BRACKET << std::endl; } os << os.END_BRACKET << std::endl; return true; }
static bool writeFeedBackVaryingsName( osgDB::OutputStream& os, const osg::Program& attr ) { unsigned int size = attr.getNumTransformFeedBackVaryings(); os.writeSize(size); os << os.BEGIN_BRACKET << std::endl; for ( unsigned int i=0; i<size; ++i ) { os << attr.getTransformFeedBackVarying(i)<< std::endl; } os << os.END_BRACKET << std::endl; return true; }
static bool writeTextureWeights( osgDB::OutputStream& os, const osgFX::MultiTextureControl& ctrl ) { unsigned int size = ctrl.getNumTextureWeights(); os.writeSize(size); os << os.BEGIN_BRACKET << std::endl; for ( unsigned int i=0; i<size; ++i ) { os << ctrl.getTextureWeight(i); } os << os.END_BRACKET << std::endl; return true; }
static bool writeShaders( osgDB::OutputStream& os, const osg::Program& attr ) { unsigned int size = attr.getNumShaders(); os.writeSize(size); os << os.BEGIN_BRACKET << std::endl; for ( unsigned int i=0; i<size; ++i ) { os << attr.getShader(i); } os << os.END_BRACKET << std::endl; return true; }
static bool writeRangeList( osgDB::OutputStream& os, const osg::LOD& node ) { const osg::LOD::RangeList& ranges = node.getRangeList(); os.writeSize(ranges.size()); os << os.BEGIN_BRACKET << std::endl; for ( osg::LOD::RangeList::const_iterator itr=ranges.begin(); itr!=ranges.end(); ++itr ) { os << itr->first << itr->second << std::endl; } os << os.END_BRACKET << std::endl; return true; }
static bool writeLocalParameters( osgDB::OutputStream& os, const osg::VertexProgram& vp ) { const osg::VertexProgram::LocalParamList& params = vp.getLocalParameters(); os.writeSize(params.size()); os << os.BEGIN_BRACKET << std::endl; for ( osg::VertexProgram::LocalParamList::const_iterator itr=params.begin(); itr!=params.end(); ++itr ) { os << itr->first << osg::Vec4d(itr->second) << std::endl; } os << os.END_BRACKET << std::endl; return true; }
static bool writeMatrices( osgDB::OutputStream& os, const osg::VertexProgram& vp ) { const osg::VertexProgram::MatrixList& matrices = vp.getMatrices(); os.writeSize(matrices.size()); os << os.BEGIN_BRACKET << std::endl; for ( osg::VertexProgram::MatrixList::const_iterator itr=matrices.begin(); itr!=matrices.end(); ++itr ) { os << (unsigned int)itr->first << osg::Matrixd(itr->second) << std::endl; } os << os.END_BRACKET << std::endl; return true; }
static bool writeStackedTransforms( osgDB::OutputStream& os, const osgAnimation::UpdateMatrixTransform& obj ) { const osgAnimation::StackedTransform& transform = obj.getStackedTransforms(); os.writeSize(transform.size()); os << os.BEGIN_BRACKET << std::endl; for ( osgAnimation::StackedTransform::const_iterator itr=transform.begin(); itr!=transform.end(); ++itr ) { os << itr->get(); } os << os.END_BRACKET << std::endl; return true; }
static bool writeAnimations( osgDB::OutputStream& os, const osgAnimation::AnimationManagerBase& manager ) { const osgAnimation::AnimationList& animations = manager.getAnimationList(); os.writeSize(animations.size()); os << osgDB::BEGIN_BRACKET << std::endl; for ( osgAnimation::AnimationList::const_iterator itr=animations.begin(); itr!=animations.end(); ++itr ) { os << itr->get(); } os << osgDB::END_BRACKET << std::endl; return true; }
static bool writeLocatorCallbacks( osgDB::OutputStream& os, const osgVolume::Locator& locator ) { const osgVolume::Locator::LocatorCallbacks& callbacks = locator.getLocatorCallbacks(); os.writeSize( callbacks.size() ); os << os.BEGIN_BRACKET << std::endl; for ( osgVolume::Locator::LocatorCallbacks::const_iterator itr=callbacks.begin(); itr!=callbacks.end(); ++itr ) { os << itr->get(); } os << os.END_BRACKET << std::endl; return true; }
static bool writeColorMap( osgDB::OutputStream& os, const osg::TransferFunction1D& func ) { const osg::TransferFunction1D::ColorMap& map = func.getColorMap(); os.writeSize(map.size()); os << os.BEGIN_BRACKET << std::endl; for ( osg::TransferFunction1D::ColorMap::const_iterator itr=map.begin(); itr!=map.end(); ++itr ) { os << itr->first << itr->second << std::endl; } os << os.END_BRACKET << std::endl; return true; }
static bool writePositionList( osgDB::OutputStream& os, const osg::Billboard& node ) { const osg::Billboard::PositionList& posList = node.getPositionList(); os.writeSize(posList.size()); os<< os.BEGIN_BRACKET << std::endl; for ( osg::Billboard::PositionList::const_iterator itr=posList.begin(); itr!=posList.end(); ++itr ) { os << osg::Vec3d(*itr) << std::endl; } os << os.END_BRACKET << std::endl; return true; }
static bool writeImages( osgDB::OutputStream& os, const osg::ImageSequence& image) { const osg::ImageSequence::ImageDataList& imageDataList = image.getImageDataList(); os.writeSize(imageDataList.size()); os << os.BEGIN_BRACKET << std::endl; for ( osg::ImageSequence::ImageDataList::const_iterator itr=imageDataList.begin(); itr!=imageDataList.end(); ++itr ) { os.writeObject( (*itr)._image.get() ); } os << os.END_BRACKET << std::endl; return true; }
static bool writeFileNames( osgDB::OutputStream& os, const osg::ImageSequence& image ) { const osg::ImageSequence::ImageDataList& imageDataList = image.getImageDataList(); os.writeSize(imageDataList.size()); os << os.BEGIN_BRACKET << std::endl; for ( osg::ImageSequence::ImageDataList::const_iterator itr=imageDataList.begin(); itr!=imageDataList.end(); ++itr ) { os.writeWrappedString( itr->_filename ); os << std::endl; } os << os.END_BRACKET << std::endl; return true; }
static bool writeShaderSource( osgDB::OutputStream& os, const osg::Shader& shader ) { std::vector<std::string> lines; std::istringstream iss( shader.getShaderSource() ); std::string line; while ( std::getline(iss, line) ) { lines.push_back( line ); } os.writeSize(lines.size()); os << os.BEGIN_BRACKET << std::endl; for ( std::vector<std::string>::const_iterator itr=lines.begin(); itr!=lines.end(); ++itr ) { os.writeWrappedString( *itr ); os << std::endl; } os << os.END_BRACKET << std::endl; return true; }
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; }