本文整理汇总了C++中osg::ProxyNode::getFileName方法的典型用法代码示例。如果您正苦于以下问题:C++ ProxyNode::getFileName方法的具体用法?C++ ProxyNode::getFileName怎么用?C++ ProxyNode::getFileName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类osg::ProxyNode
的用法示例。
在下文中一共展示了ProxyNode::getFileName方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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: writeFileNames
static bool writeFileNames( osgDB::OutputStream& os, const osg::ProxyNode& node )
{
os << node.getNumFileNames() << os.BEGIN_BRACKET << std::endl;
for ( unsigned int i=0; i<node.getNumFileNames(); ++i )
{
os.writeWrappedString( node.getFileName(i) );
os << std::endl;
}
os << os.END_BRACKET << std::endl;
return true;
}
示例4: writeChildren
static bool writeChildren( osgDB::OutputStream& os, const osg::ProxyNode& node )
{
unsigned int size=node.getNumFileNames(), dynamicLoadedSize=0;
for ( unsigned int i=0; i<size; ++i )
{
if ( !node.getFileName(i).empty() )
dynamicLoadedSize++;
}
unsigned int realSize = size-dynamicLoadedSize; os << realSize;
if ( realSize>0 )
{
os << os.BEGIN_BRACKET << std::endl;
for ( unsigned int i=0; i<size; ++i )
{
if ( !node.getFileName(i).empty() ) continue;
if ( i<node.getNumChildren() )
os << node.getChild(i);
}
os << os.END_BRACKET;
}
os << std::endl;
return true;
}
示例5: length
void
FltExportVisitor::writeExternalReference(const osg::ProxyNode &proxy)
{
uint16 length(216);
// Set sane defaults for the override flags
unsigned long flags = COLOR_PALETTE_OVERRIDE |
MATERIAL_PALETTE_OVERRIDE |
TEXTURE_PALETTE_OVERRIDE |
LIGHT_POINT_PALETTE_OVERRIDE |
SHADER_PALETTE_OVERRIDE;
// Selectively turn off overrides for resources we don't need
const ParentPools *pp = dynamic_cast<const ParentPools*>(proxy.getUserData());
if (pp && pp->getColorPool())
flags &= ~COLOR_PALETTE_OVERRIDE;
if (pp && pp->getMaterialPool())
flags &= ~MATERIAL_PALETTE_OVERRIDE;
if (pp && pp->getTexturePool())
flags &= ~TEXTURE_PALETTE_OVERRIDE;
if (pp && pp->getLightSourcePool())
flags &= ~LIGHT_SOURCE_PALETTE_OVERRIDE;
if (pp && pp->getLPAppearancePool())
flags &= ~LIGHT_POINT_PALETTE_OVERRIDE;
if (pp && pp->getShaderPool())
flags &= ~SHADER_PALETTE_OVERRIDE;
_records->writeInt16((int16) EXTERNAL_REFERENCE_OP);
_records->writeInt16(length);
_records->writeString(proxy.getFileName(0), 200);
_records->writeInt32(0); // Reserved
_records->writeInt32(flags);
_records->writeInt16(0); // ViewAsBoundingBox flag
_records->writeInt16(0); // Reserved
}