本文整理汇总了C++中osg::ProxyNode::setFileName方法的典型用法代码示例。如果您正苦于以下问题:C++ ProxyNode::setFileName方法的具体用法?C++ ProxyNode::setFileName怎么用?C++ ProxyNode::setFileName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类osg::ProxyNode
的用法示例。
在下文中一共展示了ProxyNode::setFileName方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Stringify
void
ShaderGenerator::apply(osg::ProxyNode& node)
{
if ( !_active )
return;
if ( ignore(&node) )
return;
if ( node.getLoadingExternalReferenceMode() != osg::ProxyNode::LOAD_IMMEDIATELY )
{
// rewrite the filenames to include the shadergen pseudo-loader extension so
// that dynamically loaded children will have the same shadergen applied.
for( unsigned i=0; i<node.getNumFileNames(); ++i )
{
const std::string& filename = node.getFileName( i );
if (!filename.empty() &&
osgDB::getLowerCaseFileExtension(filename).compare(SHADERGEN_PL_EXTENSION) != 0 )
{
node.setFileName( i, Stringify() << filename << "." << SHADERGEN_PL_EXTENSION );
}
}
}
apply( static_cast<osg::Group&>(node) );
}
示例2: apply
virtual void apply( osg::ProxyNode& proxy )
{
proxy.setDatabasePath( archive_name );
std::string name = proxy.getFileName( 0 );
std::string simple = osgDB::getSimpleFileName( name );
proxy.setFileName( 0, simple );
osgGIS::notify( osg::INFO ) << " Rewrote " << name << " as " << simple << std::endl;
osg::NodeVisitor::apply( proxy );
}
示例3: readFileNames
static bool readFileNames( osgDB::InputStream& is, osg::ProxyNode& node )
{
unsigned int size = 0; is >> size >> is.BEGIN_BRACKET;
for ( unsigned int i=0; i<size; ++i )
{
std::string value;
is.readWrappedString( value );
node.setFileName( i, value );
}
is >> is.END_BRACKET;
return true;
}