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


C++ COption::Analysis方法代码示例

本文整理汇总了C++中COption::Analysis方法的典型用法代码示例。如果您正苦于以下问题:C++ COption::Analysis方法的具体用法?C++ COption::Analysis怎么用?C++ COption::Analysis使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在COption的用法示例。


在下文中一共展示了COption::Analysis方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: main

int main(int argc, char* argv[])
{
    COption option;

    // オプション解析
    if (!option.Analysis(argc, argv)) {
        _DispUsage();
        return INVALID_RET_VAL;
    }

    // オプションチェック
    if (!option.IsValid()) {
        _DispUsage();
        return INVALID_RET_VAL;
    }

    IImporter::SetEnableTexIdx(option.idxEnableTex);
    IImporter::SetShaderName(option.nameShader.c_str());

    // インポーター作成
    IImporter* importer = IImporter::CreateImporter(option.modelType);

#ifdef ENABLE_FBX_IMPORT
    if (importer == IZ_NULL && option.modelType == ModelType::ModelTypeFBX) {
        importer = new CFbxImporter();
    }
#endif

    // 入力ファイルを開く
    VRETURN_VAL(
        importer->Open(option.in.c_str()),
        INVALID_RET_VAL);

    static IZ_CHAR tmp[MAX_PATH];

    // マテリアル数を取得
    IZ_UINT mtrlNum = importer->GetMaterialNum();

    if (mtrlNum == 0) {
        // 何もしない

        // マテリアルが存在しないことを出力
        printf("There is not material in %s\n", option.in.c_str());
    }
    else if (mtrlNum == 1) {    
        VRETURN_VAL(
            CMtrlExporter::GetInstance().Export(
                option.out.c_str(),
                importer,
                0),
            INVALID_RET_VAL);
    }
    else {
        // 出力ファイル名から拡張子を取り除く
        VRETURN_VAL(
            option.RemoveExtFromExportFileName(),
            INVALID_RET_VAL);

        for (IZ_UINT i = 0; i < mtrlNum; i++) {
            // 出力ファイル名を作成
            sprintf_s(tmp, sizeof(tmp), "%s_%d.mtrl\0", option.out.c_str(), i);
        
            VRETURN_VAL(
                CMtrlExporter::GetInstance().Export(
                    tmp,
                    importer,
                    i),
                INVALID_RET_VAL);
        }
    }

    return 0;
}
开发者ID:,项目名称:,代码行数:73,代码来源:


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