本文整理汇总了C++中osgdb::InputStream类的典型用法代码示例。如果您正苦于以下问题:C++ InputStream类的具体用法?C++ InputStream怎么用?C++ InputStream使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了InputStream类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: readText
static bool readText(osgDB::InputStream &is, osgText::TextBase &text)
{
bool isACString; is >> isACString;
if (isACString)
{
std::string acString; is.readWrappedString(acString);
text.setText(acString);
}
else
{
osg::UIntArray *array = dynamic_cast<osg::UIntArray*>(is.readArray());
if (array)
{
osgText::String string;
for (osg::UIntArray::iterator itr = array->begin(); itr != array->end(); ++itr)
{
string.push_back(*itr);
}
text.setText(string);
}
}
return true;
}
开发者ID:,项目名称:,代码行数:27,代码来源:
示例2: readInfluenceMap
static bool readInfluenceMap( osgDB::InputStream& is, osgAnimation::RigGeometry& geom )
{
osg::ref_ptr<osgAnimation::VertexInfluenceMap> map = new osgAnimation::VertexInfluenceMap;
unsigned int size = is.readSize(); is >> is.BEGIN_BRACKET;
for ( unsigned int i=0; i<size; ++i )
{
std::string name;
unsigned int viSize = 0;
is >> is.PROPERTY("VertexInfluence");
is.readWrappedString(name);
viSize = is.readSize(); is >> is.BEGIN_BRACKET;
osgAnimation::VertexInfluence vi;
vi.setName( name );
vi.reserve( viSize );
for ( unsigned int j=0; j<viSize; ++j )
{
int index = 0;
float weight = 0.0f;
is >> index >> weight;
vi.push_back( osgAnimation::VertexIndexWeight(index, weight) );
}
(*map)[name] = vi;
is >> is.END_BRACKET;
}
is >> is.END_BRACKET;
if ( !map->empty() ) geom.setInfluenceMap( map.get() );
return true;
}
开发者ID:AlexBobkov,项目名称:OpenSceneGraph,代码行数:30,代码来源:RigGeometry.cpp
示例3: readMask
static bool readMask( osgDB::InputStream& is, osg::PolygonStipple& attr )
{
char mask[128] = {0};
if ( is.isBinary() )
{
unsigned int size; is >> size;
is.readCharArray( mask, size );
}
开发者ID:aalex,项目名称:osg,代码行数:8,代码来源:PolygonStipple.cpp
示例4: readImages
static bool readImages( osgDB::InputStream& is, osg::ImageSequence& image )
{
unsigned int images = is.readSize(); is >> is.BEGIN_BRACKET;
for ( unsigned int i=0; i<images; ++i )
{
osg::Image* img = dynamic_cast<osg::Image*>( is.readObject() );
if ( img ) image.addImage( img );
}
is >> is.END_BRACKET;
return true;
}
开发者ID:3dcl,项目名称:osg,代码行数:11,代码来源:ImageSequence.cpp
示例5: readImages
static bool readImages( osgDB::InputStream& is, osg::ImageSequence& image )
{
unsigned int images = is.readSize(); is >> is.BEGIN_BRACKET;
for ( unsigned int i=0; i<images; ++i )
{
osg::ref_ptr<osg::Image> img = is.readImage();
if ( img ) image.addImage( img );
}
is >> is.END_BRACKET;
return true;
}
开发者ID:151706061,项目名称:OpenSceneGraph,代码行数:11,代码来源:ImageSequence.cpp
示例6: readAnimations
static bool readAnimations( osgDB::InputStream& is, osgAnimation::AnimationManagerBase& manager )
{
unsigned int size = is.readSize(); is >> osgDB::BEGIN_BRACKET;
for ( unsigned int i=0; i<size; ++i )
{
osgAnimation::Animation* ani = dynamic_cast<osgAnimation::Animation*>( is.readObject() );
if ( ani ) manager.registerAnimation( ani );
}
is >> osgDB::END_BRACKET;
return true;
}
开发者ID:aalex,项目名称:osg,代码行数:11,代码来源:AnimationManagerBase.cpp
示例7: readShaders
static bool readShaders( osgDB::InputStream& is, osg::Program& attr )
{
unsigned int size = is.readSize(); is >> is.BEGIN_BRACKET;
for ( unsigned int i=0; i<size; ++i )
{
osg::Shader* shader = dynamic_cast<osg::Shader*>( is.readObject() );
if ( shader ) attr.addShader( shader );
}
is >> is.END_BRACKET;
return true;
}
开发者ID:BodyViz,项目名称:osg,代码行数:11,代码来源:Program.cpp
示例8: readFileNames
static bool readFileNames( osgDB::InputStream& is, osg::ImageSequence& image )
{
unsigned int files = 0; is >> files >> is.BEGIN_BRACKET;
if (is.getOptions()) image.setReadOptions(new osgDB::Options(*is.getOptions()));
for ( unsigned int i=0; i<files; ++i )
{
std::string filename; is.readWrappedString( filename );
image.addImageFile( filename );
}
is >> is.END_BRACKET;
return true;
}
开发者ID:151706061,项目名称:OpenSceneGraph,代码行数:12,代码来源:ImageSequence.cpp
示例9: readLocatorCallbacks
static bool readLocatorCallbacks( osgDB::InputStream& is, osgVolume::Locator& locator )
{
unsigned int size = is.readSize(); is >> is.BEGIN_BRACKET;
for ( unsigned int i=0; i<size; ++i )
{
osgVolume::Locator::LocatorCallback* cb =
dynamic_cast<osgVolume::Locator::LocatorCallback*>( is.readObject() );
if ( cb ) locator.addCallback( cb );
}
is >> is.END_BRACKET;
return true;
}
开发者ID:3dcl,项目名称:osg,代码行数:12,代码来源:Locator.cpp
示例10: readStackedTransforms
static bool readStackedTransforms( osgDB::InputStream& is, osgAnimation::UpdateMatrixTransform& obj )
{
osgAnimation::StackedTransform& transform = obj.getStackedTransforms();
unsigned int size = is.readSize(); is >> is.BEGIN_BRACKET;
for ( unsigned int i=0; i<size; ++i )
{
osgAnimation::StackedTransformElement* element =
dynamic_cast<osgAnimation::StackedTransformElement*>( is.readObject() );
if ( element ) transform.push_back( element );
}
is >> is.END_BRACKET;
return true;
}
开发者ID:,项目名称:,代码行数:13,代码来源:
示例11: readShaderSource
static bool readShaderSource( osgDB::InputStream& is, osg::Shader& shader )
{
std::string code;
unsigned int size = is.readSize(); is >> is.BEGIN_BRACKET;
for ( unsigned int i=0; i<size; ++i )
{
std::string line;
is.readWrappedString( line );
code.append( line ); code.append( 1, '\n' );
}
is >> is.END_BRACKET;
shader.setShaderSource( code );
return true;
}
开发者ID:,项目名称:,代码行数:14,代码来源:
示例12: readFont
static bool readFont(osgDB::InputStream &is, osgText::TextBase &text)
{
std::string fontName; is.readWrappedString(fontName);
text.setFont(osgText::readFontFile(fontName));
return true;
}
开发者ID:,项目名称:,代码行数:7,代码来源:
示例13: readModules
//------------------------------------------------------------------------------
static bool readModules( osgDB::InputStream& is, osgCuda::Computation& computation )
{
unsigned int numMods = 0;
is >> numMods >> osgDB::BEGIN_BRACKET;
for( unsigned int i=0; i<numMods; ++i )
{
std::string moduleLibraryName;
is.readWrappedString( moduleLibraryName );
moduleLibraryName = osgCuda::trim( moduleLibraryName );
if( !osgCompute::Module::existsModule(moduleLibraryName) )
{
osg::notify(osg::WARN)
<<" osgCuda_Computation::readModules(): cannot find module library "
<< moduleLibraryName << "." << std::endl;
continue;
}
osgCompute::Module* module = osgCompute::Module::loadModule( moduleLibraryName );
if( module != NULL )
{
computation.addModule( *module );
}
}
is >> osgDB::END_BRACKET;
return true;
}
开发者ID:polakv,项目名称:3dsoftviz,代码行数:31,代码来源:Computation.cpp
示例14: readResources
//------------------------------------------------------------------------------
static bool readResources( osgDB::InputStream& is, osgCuda::Computation& computation )
{
unsigned int numRes = 0;
is >> numRes >> osgDB::BEGIN_BRACKET;
for( unsigned int i=0; i<numRes; ++i )
{
osg::Object* newRes = is.readObject();
if( newRes != NULL )
{
osgCompute::GLMemoryAdapter* ioo = dynamic_cast<osgCompute::GLMemoryAdapter*>( newRes );
if( ioo != NULL )
{
computation.addResource( *ioo->getMemory() );
}
else
{
osgCompute::Resource* curRes = dynamic_cast<osgCompute::Resource*>( newRes );
if( curRes != NULL ) computation.addResource( *curRes );
}
}
}
is >> osgDB::END_BRACKET;
return true;
}
开发者ID:polakv,项目名称:3dsoftviz,代码行数:28,代码来源:Computation.cpp
示例15: readTransformUpdating
static bool readTransformUpdating( osgDB::InputStream& is, osgManipulator::Dragger& dragger )
{
unsigned int size = is.readSize(); is >> osgDB::BEGIN_BRACKET;
for ( unsigned int i=0; i<size; ++i )
{
std::string name; is >> name >> osgDB::BEGIN_BRACKET;
if ( name=="DraggerTransformCallback" )
{
osg::MatrixTransform* transform = dynamic_cast<osg::MatrixTransform*>( is.readObject() );
if ( transform ) dragger.addTransformUpdating( transform );
}
is >> osgDB::END_BRACKET;
}
is >> osgDB::END_BRACKET;
return true;
}
开发者ID:aalex,项目名称:osg,代码行数:16,代码来源:Dragger.cpp
示例16: readClearMask
static bool readClearMask( osgDB::InputStream& is, osg::ClearNode& node )
{
GLbitfield mask = GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT;
if ( is.isBinary() )
{
int maskValue;
is >> maskValue;
mask = (GLbitfield)maskValue;
}
开发者ID:,项目名称:,代码行数:9,代码来源:
示例17: readChildren
static bool readChildren( osgDB::InputStream& is, osg::Group& node )
{
unsigned int size = 0; is >> size >> osgDB::BEGIN_BRACKET;
for ( unsigned int i=0; i<size; ++i )
{
osg::Node* child = dynamic_cast<osg::Node*>( is.readObject() );
if ( child ) node.addChild( child );
}
is >> osgDB::END_BRACKET;
return true;
}
开发者ID:aalex,项目名称:osg,代码行数:11,代码来源:Group.cpp
示例18: readLayers
static bool readLayers( osgDB::InputStream& is, osgVolume::CompositeLayer& layer )
{
unsigned int size = 0; is >> size >> is.BEGIN_BRACKET;
for ( unsigned int i=0; i<size; ++i )
{
osgVolume::Layer* child = dynamic_cast<osgVolume::Layer*>( is.readObject() );
if ( child ) layer.addLayer( child );
}
is >> is.END_BRACKET;
return true;
}
开发者ID:,项目名称:,代码行数:11,代码来源:
示例19: readValues
static bool readValues( osgDB::InputStream& is, osgSim::MultiSwitch& node )
{
unsigned int size = is.readSize(); is >> is.BEGIN_BRACKET;
for ( unsigned int i=0; i<size; ++i )
{
is >> is.PROPERTY("SwitchSet");
unsigned int valueSize = is.readSize(); is >> is.BEGIN_BRACKET;
osgSim::MultiSwitch::ValueList values;
for ( unsigned int j=0; j<valueSize; ++j )
{
bool value; is >> value;
values.push_back( value );
}
node.setValueList( i, values );
is >> is.END_BRACKET;
}
is >> is.END_BRACKET;
return true;
}
开发者ID:151706061,项目名称:OpenSceneGraph,代码行数:20,代码来源:MultiSwitch.cpp
示例20: objectRead
virtual void objectRead(osgDB::InputStream& is, osg::Object& obj)
{
osg::ProxyNode& proxyNode = static_cast<osg::ProxyNode&>(obj);
if (proxyNode.getLoadingExternalReferenceMode() == osg::ProxyNode::LOAD_IMMEDIATELY)
{
for(unsigned int i=0; i<proxyNode.getNumFileNames(); i++)
{
if(i >= proxyNode.getNumChildren() && !proxyNode.getFileName(i).empty())
{
osgDB::FilePathList& fpl = ((osgDB::ReaderWriter::Options*)is.getOptions())->getDatabasePathList();
fpl.push_front( fpl.empty() ? osgDB::getFilePath(proxyNode.getFileName(i)) : fpl.front()+'/'+ osgDB::getFilePath(proxyNode.getFileName(i)));
osg::Node* node = osgDB::readNodeFile(proxyNode.getFileName(i), is.getOptions());
fpl.pop_front();
if(node)
proxyNode.insertChild(i, node);
}
}
}
}
开发者ID:,项目名称:,代码行数:20,代码来源:
注:本文中的osgdb::InputStream类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论