cgma
|
#include <InitCGMA.hpp>
Static Public Member Functions | |
static CubitStatus | initialize_cgma (const char *default_engine_name=0) |
static CubitStatus | deinitialize_cgma () |
Definition at line 7 of file InitCGMA.hpp.
CubitStatus InitCGMA::deinitialize_cgma | ( | ) | [static] |
Definition at line 123 of file InitCGMA.cpp.
{ CGMApp::instance()->shutdown(); has_been_initialized = false; return CUBIT_SUCCESS; }
CubitStatus InitCGMA::initialize_cgma | ( | const char * | default_engine_name = 0 | ) | [static] |
Definition at line 55 of file InitCGMA.cpp.
{ if( has_been_initialized ){ // CGM is already initialized. Return success if previous initialization had // the same parameter, failure otherwise. if( default_engine_name == first_engine_name ){ return CUBIT_SUCCESS; } else if( default_engine_name && first_engine_name && streq_nocase( default_engine_name, first_engine_name )){ return CUBIT_SUCCESS; } else{ PRINT_ERROR( "initialize_cgma() called again, but default engines differ.\n" ); return CUBIT_FAILURE; } } std::vector<CubitString> args; CGMApp::instance()->startup( args ); GeometryModifyEngine* default_engine = 0; bool ignore_default = false; // Now register attribute 43 (must be removed as the bug in CUBIT is fixed in future versions) // Register CA_ASSEMBLY_DATA (a dummy attribute) CGMApp::instance()->attrib_manager()->register_attrib_type(CA_ASSEMBLY_DATA, "assembly data", "ASSEMBLY_DATA", CAAssemblyData_creator, CUBIT_FALSE, CUBIT_FALSE, CUBIT_FALSE, CUBIT_FALSE, CUBIT_FALSE, CUBIT_FALSE); #ifdef HAVE_OCC OCCQueryEngine::instance(); OCCModifyEngine::instance(); if (default_engine_name && streq_nocase("OCC",default_engine_name)) default_engine = OCCModifyEngine::instance(); #endif FacetQueryEngine::instance(); FacetModifyEngine::instance(); VirtualQueryEngine::instance()->register_attributes(); if (default_engine_name && streq_nocase("FACET",default_engine_name)) { default_engine = FacetModifyEngine::instance(); FacetModifyEngine::instance()->set_modify_enabled(CUBIT_TRUE); } if(default_engine_name && !ignore_default) { if (!default_engine) { PRINT_ERROR("Invalid or unsupported engine: '%s'\n", default_engine_name); return CUBIT_FAILURE; } CubitStatus rval; rval = GeometryModifyTool::instance()->set_default_gme(default_engine); if (CUBIT_SUCCESS != rval) return rval; rval = GeometryQueryTool::instance()->set_default_gqe(default_engine->get_gqe()); if (CUBIT_SUCCESS != rval) return rval; } // set has_been_initialized only if everything worked if( default_engine_name ){ first_engine_name = CubitUtil::util_strdup(default_engine_name); } has_been_initialized = true; return CUBIT_SUCCESS; }