当前位置: 首页>>代码示例>>C++>>正文


C++ ProxyNode::getFileName方法代码示例

本文整理汇总了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) );
}
开发者ID:rhabacker,项目名称:osgearth,代码行数:26,代码来源:ShaderGenerator.cpp

示例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 );
 }
开发者ID:aarnchng,项目名称:osggis,代码行数:9,代码来源:LayerCompiler.cpp

示例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;
}
开发者ID:,项目名称:,代码行数:11,代码来源:

示例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;
}
开发者ID:,项目名称:,代码行数:24,代码来源:

示例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
}
开发者ID:hyyh619,项目名称:OpenSceneGraph-3.4.0,代码行数:41,代码来源:expPrimaryRecords.cpp


注:本文中的osg::ProxyNode::getFileName方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。