示例#1
0
//-*****************************************************************************
static Abc::IArchive* mkIArchive( const std::string &iName )
{
    Abc::IArchive archive;
    AbcF::IFactory factory;
    factory.setPolicy(Abc::ErrorHandler::kQuietNoopPolicy);
    AbcF::IFactory::CoreType coreType;
    archive = factory.getArchive(iName, coreType);

    if ( coreType == AbcF::IFactory::kUnknown ) {
        throwPythonException( "Unknown core type" );
    }
    return new Abc::IArchive( archive );
}
示例#2
0
//-*****************************************************************************
static std::string getCoreType( Abc::IArchive& archive )
{
    AbcF::IFactory factory;
    factory.setPolicy(Abc::ErrorHandler::kQuietNoopPolicy);
    AbcF::IFactory::CoreType coreType;
    archive = factory.getArchive(archive.getName(), coreType);

    if ( coreType == AbcF::IFactory::kOgawa ) {
        return kOgawa;
    } else if ( coreType == AbcF::IFactory::kHDF5 ) {
        return kHDF5;
    } else {
        return kUnknown;
    };
}