#include "app.h" #include "ha_part.h" App::App() { m_pHoopsDB = NULL; } BOOL App::InitInstance() { HC_Define_System_Options("license = `" VISUALIZE_LICENSE "`"); m_pHoopsDB = new HDB; m_pHoopsDB->Init(); m_pHoopsDB->SetIsolatedDrivers(true);//设置“隔离”驱动程序选项。允许在单独的线程上生成驱动程序。用于背景打印或多视图 base_configuration base_config; initialize_base( &base_config); spa_unlock_result out = spa_unlock_products("3VKKZ85TA8QRNSJT3HK3EC5NE82UJE5XPRLDVETLKCJUKNJZTCEUJH5EKRMKKQTVKCVCGEJQ9A8UJN5HRR8DDSHHK8JCMA57HX2ZMEJ7QRACJZJWW8M3KGMLRCUDD85RR85ZMD5WQLZUJJPUS8PUNDPWACP7V8HXTLPUJ8JC98MRGG5L7ALDVZTV3LLZGCMAR3K3AZH8VRRZAZM7A8S7EJN7QH2CSS2JKERDFE2B3HJKZ85NQR3FWN2H7V8FFQDFA3D3A8JUVGJLDAHNN8Q7VA5SJ8CNEQDQ3GNMMZ22PEQREZ5NHAHCDWDRTVVFPY87VVCAEQD8TECFFHXLPEDFWD2B7VQ7EZ5TN8Q3JHBBKEGCSU2DKRRFWAXNA8QRGJNSW8QRMYHZPAECKHP6TA5CD8P6PR6ZKYHTH8N3A85Z3CVUBZHZTANZPJNSW8Q7EAHAPR4UNZHZVCPDJEJ67APZMSHTHXQ7EAHAPR4ZDCHETACAE85NE8HZJUJ63R7DNYTHPASCNJNSN8Q7EAHAPR4ZDDT39LJCKATRTACAEQ5NE8HZJUJ6KCTZPHPQR3K3VQD7NANCMYTCPAJDJZJ63RNUNJQ7Q8QRDWHCPADUMQP6KARDJCJ3KC4UJCPHKCTDZQ5NACTF7EH29EQKKJQSQHTZYQX5KVX5AEHTS8QRKNXSKA359C8NA8N3EQMBQ8K7LQMSA3D3AQPUREELU82TPE75AZMSA8Q7EETC78P7D85LRAXDKAMCKCSKJNPRV8NCMSH57RZZGEMR7ATDMCJZVAPZ2N53P83C2WJ8P8MRPZHFNRGUJSJ3TAMCVHHV3XHDEJH3VRCCPAM5PCTCPSH3KAAUPCH5VRKCNGJ8PA8UPAHWEC3UDG5US8AZPEJWNCUUKNM57AUZA85LV8KCJJTTH8QRNS2M7CTMW8BJ9VG5AQ5TH8QRNSJT7CTMW8BJ9VG5AQ5T"); if (out.get_state() == SPA_UNLOCK_PASS_WARN) { /* insert your warning notification code here */; } else if (out.get_state() != SPA_UNLOCK_PASS) { /* insert your error handling code here */; } api_start_modeller(); api_initialize_hoops_acis_bridge(); api_initialize_part_manager(); api_set_int_option("annotations", false); api_set_int_option("cell_recompute", 8); // HA_Set_Rendering_Options("merge faces"); #ifdef HOOPS_QA HC_Define_System_Options("no warnings, no info, errors=on, no message limit"); #elif defined( _DEBUG ) HC_Define_System_Options("errors, info, no message limit"); #else HC_Define_System_Options("no warnings, no info, no errors, no fatal errors, no message limit"); #endif //this is overridden later and could be removed HC_Define_System_Options("multi-threading = full"); initialize_ha_part(); return TRUE; } int App::ExitInstance(){ //m_pCTDriver must be deleted before m_pHoopsDB if (m_pHoopsDB) { delete m_pHoopsDB; m_pHoopsDB = 0; terminate_ha_part(); api_terminate_part_manager(); api_terminate_hoops_acis_bridge(); api_stop_modeller(); terminate_base(); } return 1; }