コード例 #1
0
ファイル: main.cpp プロジェクト: angelstudio/sview
    /**
     * Instantiate StApplication.
     */
    ST_LOCAL virtual void createApplication() override {
        StMutexAuto aLock(myFetchLock);
        const StString aFileExtension = StFileNode::getExtension(myCreatePath);

        StHandle<StOpenInfo> anInfo = new StOpenInfo();
        anInfo->setPath(myDndPath);
        myDndPath.clear();

        StHandle<StResourceManager> aResMgr = new StResourceManager(myActivity->assetManager);
        //StHandle<StResourceManager> aResMgr = new StResourceManager(myActivity->assetManager"com.sview.cad");
        aResMgr->setFolder(StResourceManager::FolderId_SdCard,
                           getStoragePath(myThJniEnv, "sdcard"));
        aResMgr->setFolder(StResourceManager::FolderId_Downloads,
                           getStoragePath(myThJniEnv, "Download"));
        aResMgr->setFolder(StResourceManager::FolderId_Pictures,
                           getStoragePath(myThJniEnv, "Pictures"));
        aResMgr->setFolder(StResourceManager::FolderId_Photos,
                           getStoragePath(myThJniEnv, "DCIM"));

        StString anOcctResFolder = aResMgr->getUserDataFolder();
        copyResource(aResMgr, "lang", anOcctResFolder, "IGES.us");
        copyResource(aResMgr, "lang", anOcctResFolder, "IGES.fr");
        copyResource(aResMgr, "lang", anOcctResFolder, "SHAPE.us");
        copyResource(aResMgr, "lang", anOcctResFolder, "SHAPE.fr");
        copyResource(aResMgr, "lang", anOcctResFolder, "XSTEP.us");
        copyResource(aResMgr, "lang", anOcctResFolder, "XSTEP.fr");
        copyResource(aResMgr, "lang", anOcctResFolder, "TObj.msg");

        copyResource(aResMgr, "res",  anOcctResFolder, "Units.dat");
        copyResource(aResMgr, "res",  anOcctResFolder, "Lexi_Expr.dat");
        copyResource(aResMgr, "res",  anOcctResFolder, "IGES");
        copyResource(aResMgr, "res",  anOcctResFolder, "STEP");
        //copyResource(aResMgr, "res",  anOcctResFolder, "TObj");
        //copyResource(aResMgr, "res",  anOcctResFolder, "XCAF");
        //copyResource(aResMgr, "res",  anOcctResFolder, "Plugin");
        //copyResource(aResMgr, "res",  anOcctResFolder, "Standard");
        //copyResource(aResMgr, "res",  anOcctResFolder, "StandardLite");

        copyResource(aResMgr, "shaders/occt", anOcctResFolder, "Declarations.glsl");
        copyResource(aResMgr, "shaders/occt", anOcctResFolder, "DeclarationsImpl.glsl");

        StProcess::setEnv("CSF_UnitsLexicon",     anOcctResFolder + "/Lexi_Expr.dat");
        StProcess::setEnv("CSF_UnitsDefinition",  anOcctResFolder + "/Units.dat");
        StProcess::setEnv("CSF_ShadersDirectory", anOcctResFolder);
        StProcess::setEnv("CSF_SHMessage",        anOcctResFolder);

        if(myStAppClass.isEmpty()) {
            myStAppClass = "cad";
        }

        if(anInfo->isEmpty()) {
            // open recent file by default
            StArgumentsMap anArgs = anInfo->getArgumentsMap();
            anArgs.set(StDictEntry("last", "true"));
            anArgs.set(StDictEntry("toSaveRecent","true"));
            anInfo->setArgumentsMap(anArgs);
        }

        myApp = new StCADViewer(aResMgr, this, anInfo);
    }