00001 // 00002 // Copyright (c) 2000 by Tech Soft 3D, LLC. 00003 // The information contained herein is confidential and proprietary to 00004 // Tech Soft 3D, LLC., and considered a trade secret as defined under 00005 // civil and criminal statutes. Tech Soft 3D shall pursue its civil 00006 // and criminal remedies in the event of unauthorized use or misappropriation 00007 // of its trade secrets. Use of this information by anyone other than 00008 // authorized employees of Tech Soft 3D, LLC. is granted only under a 00009 // written non-disclosure agreement, expressly prescribing the scope and 00010 // manner of such use. 00011 // 00012 // 00013 00020 #ifndef _HIOMANAGER_H 00021 #define _HIOMANAGER_H 00022 00023 #ifdef H_PACK_8 00024 #pragma pack(push) 00025 #pragma pack(8) 00026 #endif 00027 00028 #include "HTools.h" 00029 00030 00031 // forwards 00032 enum HFileOutputResult; 00033 class HBaseView; 00034 class HCamera; 00035 class HBaseModel; 00036 struct vlist_s; 00037 class HStreamFileToolkit; 00038 class HBhvBehaviorManager; 00039 class BREP_Topology; 00040 00041 enum H_OUTPUT_TYPE 00042 { 00043 H_OUTPUT_TYPE_DEFAULT = 0, 00044 H_PDF_OUTPUT_PORTFOLIO, 00045 H_PDF_OUTPUT_3D, 00046 H_PDF_OUTPUT_2D, 00047 H_SINGLE_PASS_ZSORT, 00048 H_SINGLE_PASS_NO_HIDDEN_SURFACES 00049 }; 00050 00051 00055 #define HInputOpNone (1UL<<0) 00056 00060 #define HInputOpFileInputByKey (1UL<<1) 00061 00065 #define HInputOpFileInputToImageKey (1UL<<2) 00066 00070 #define HOutputOpNone (1UL<<0) 00071 00075 #define HOutputOpFileOutputByKey (1UL<<1) 00076 00080 #define HOutputOpFileOutputFromImageKey (1UL<<2) 00081 00082 00087 #define HIORegisterInputType(type,input_object) do {HIOManager::GetCurrentHIOManager()->RegisterInputHandler(type, input_object); }while(0); 00088 00089 00090 00092 #define HIORegisterOutputType(type,output_object) do { HIOManager::GetCurrentHIOManager()->RegisterOutputHandler(type, output_object); }while(0); 00093 00094 00095 00096 00101 class MVO_API HIONoticeCallback 00102 { 00103 public: 00104 00105 virtual ~HIONoticeCallback() {;}; 00110 virtual void Notice(const char * notice) =0; 00111 virtual void Notice(const __wchar_t * notice){ 00112 }; 00113 #ifdef H_USHORT_OVERLOAD 00114 virtual void Notice(const unsigned short * notice){ 00115 Notice((__wchar_t const *) notice); 00116 }; 00117 #endif 00118 }; 00119 00123 class MVO_API HIOPercentNoticeCallback 00124 { 00125 public: 00126 virtual ~HIOPercentNoticeCallback(); 00131 virtual void Notice(float notice) =0; 00132 }; 00133 00134 00135 00138 typedef void * (*HIO_CREATE_FREE_FUNCTION)(void *); 00139 00142 typedef void (*HIO_FREE_CONNECTOR_FUNCTION)(void *); 00143 00149 class MVO_API HIOConnector 00150 { 00151 public: 00152 00153 /*Constructs an HIOConnector object.*/ 00154 HIOConnector(); 00155 virtual ~HIOConnector(); 00156 00164 virtual HC_KEY GetHoopsEntity(void * pKernelEntity); 00165 virtual HC_KEY GetHoopsEntity(void * pKernelEntity, HC_KEY modelKey); 00166 00174 virtual void * GetKernelEntity(HC_KEY key); 00175 virtual void * GetKernelEntity(HC_KEY key, HC_KEY modelKey); 00176 00183 virtual bool GetHoopsEntities(void * pKernelEntity, vlist_s *ret_HoopsKeysList); 00184 virtual bool GetHoopsEntities(void * pKernelEntity, vlist_s *ret_HoopsKeysList, HC_KEY modelKey); 00185 00192 virtual bool GetKernelEntities(HC_KEY key, vlist_s *ret_KernelEntitiesList); 00193 virtual bool GetKernelEntities(HC_KEY key, vlist_s *ret_KernelEntitiesList, HC_KEY modelKey); 00194 00200 virtual void AddConnection(HC_KEY key, void* pKernelEntity); 00201 virtual void AddConnection(HC_KEY key, void* pKernelEntity, HC_KEY modelKey); 00202 00203 00210 virtual void OptimizeTree(const char * segname, const char * option_string); 00211 00212 protected: 00213 00215 struct vhash_s *mhash_Hoops2Kernel; 00216 00218 struct vhash_s *mhash_Kernel2Hoops; 00219 00220 }; 00221 00226 enum HInputHandlerStyle { 00227 HInputHandlerStyleModel, 00228 HInputHandlerStyleImage 00229 }; 00230 00235 enum HDwgViewVector { 00236 DwgTopView, 00237 DwgIsoView, 00238 DwgViewportInherit, 00239 DwgSceneInherit 00240 }; 00241 00247 class MVO_API HInputHandlerOptions 00248 { 00249 public: 00250 00252 HInputHandlerOptions() { 00253 m_z_separation = 1; 00254 m_depth_range = 0; 00255 m_pHBaseView = 0; 00256 m_pImageName = 0; 00257 m_pImageFormat = 0; 00258 m_pConnector = 0; 00259 m_pExtendedData = 0; 00260 m_bLocal = false; 00261 m_tk = 0; 00262 m_bLogging = false; 00263 00264 00265 // Generic options used in DGN, SKP and DWG importer 00266 m_bIgnoreOffEntities = false; 00267 00268 //DWG/SKP option 00269 m_bImportMetadata = false; 00270 00271 // DWG import options (try and move them somewhere else) 00272 m_bInputViaHSF = false; 00273 m_Deviation = 10.0; 00274 m_bImportWireframeForBrep = false; 00275 m_numIsolines = 0; 00276 m_listRegAppNames = 0; 00277 m_listEntityType = 0; 00278 m_bForceReimport = false; 00279 m_listDWGLayouts = 0; 00280 m_bAttachDWGHandles = false; 00281 m_bImportAllLayouts = false; 00282 m_bDWGInsertMeshesAsShells = false; 00283 m_bDisableDWGDrawOrder = false; 00284 m_eDwgViewVector = DwgViewportInherit; 00285 m_sDwgContrastColorRgb = HPoint(0, 0, 0); 00286 m_bLegacyOptimize = false; 00287 m_bDwgDepthRangeDrawOrder = false; 00288 00289 // DGN import Options 00290 m_iDGNCellHeaderOption = SINGLE_ENTITY_CELLHEADER; 00291 m_coneFactor = 10.0; 00292 m_factorForSmartSolids = 45.0; 00293 m_bDGNRebaselineModel = false; 00294 m_bDGNImportAllModels = false; 00295 00296 // PRC options 00297 m_pPRCPMIConnector = 0; 00298 m_pPRCTopologyManager = 0; 00299 m_bPRCMergeFaces = false; 00300 m_bPRCCreatePRCFileOnly = false; 00301 m_bSuppressEarlyOptimization = false; 00302 m_bPMIDetected = false; 00303 m_pPRCMultiModelSelectionCallback = 0; 00304 m_pPRCAsmModelFile = 0; 00305 m_pPRCDeleteModelFile = false; 00306 m_bPRCStoreUserAttributes = true; 00307 m_dPRCMinimumTransparency = 0; 00308 m_bPRCImportHiddenObjects = false; 00309 00310 // DWF import options 00311 m_bDisableDWFDrawOrder = false; 00312 m_bDWFRebaselineModel = true; 00313 m_bImportThumbnail = false; 00314 00315 //SKP optimization option 00316 m_bOptimizeSegmentTree = false; 00317 m_license = 0; 00318 }; 00319 00322 HInputHandlerOptions(HInputHandlerOptions const *o) { 00323 m_z_separation = o->m_z_separation; 00324 m_depth_range = o->m_depth_range; 00325 m_pHBaseView = o->m_pHBaseView; 00326 m_pImageName = o->m_pImageName; 00327 m_pImageFormat = o->m_pImageFormat; 00328 m_pConnector = o->m_pConnector; 00329 m_pExtendedData = o->m_pExtendedData; 00330 m_bLocal = o->m_bLocal; 00331 00332 m_license = o->m_license; 00333 00334 00335 //DWG/DGN/SKP option 00336 m_bIgnoreOffEntities = o->m_bIgnoreOffEntities; 00337 00338 //DWG/SKP option 00339 m_bImportMetadata = o->m_bImportMetadata; 00340 00341 00342 //DWG Options 00343 m_bInputViaHSF = o->m_bInputViaHSF; 00344 m_Deviation = o->m_Deviation; 00345 m_bImportWireframeForBrep = o->m_bImportWireframeForBrep; 00346 m_numIsolines = o->m_numIsolines; 00347 m_listRegAppNames = o->m_listRegAppNames; 00348 m_listEntityType=o->m_listEntityType; 00349 m_bForceReimport = o->m_bForceReimport; 00350 m_listDWGLayouts = o->m_listDWGLayouts; 00351 m_bAttachDWGHandles = o->m_bAttachDWGHandles; 00352 m_bImportAllLayouts = o->m_bImportAllLayouts; 00353 m_bDWGInsertMeshesAsShells = o->m_bDWGInsertMeshesAsShells; 00354 m_bDisableDWGDrawOrder = o->m_bDisableDWGDrawOrder; 00355 m_eDwgViewVector = o->m_eDwgViewVector; 00356 m_sDwgContrastColorRgb = o->m_sDwgContrastColorRgb; 00357 m_bLegacyOptimize = o->m_bLegacyOptimize; 00358 m_bDwgDepthRangeDrawOrder = o->m_bDwgDepthRangeDrawOrder; 00359 00360 //DGN Options 00361 m_iDGNCellHeaderOption = o->m_iDGNCellHeaderOption; 00362 m_bDGNRebaselineModel = o->m_bDGNRebaselineModel; 00363 m_coneFactor = o->m_coneFactor; 00364 m_factorForSmartSolids = o->m_factorForSmartSolids; 00365 m_bDGNImportAllModels = o->m_bDGNImportAllModels; 00366 00367 // PRC options 00368 m_pPRCPMIConnector = o->m_pPRCPMIConnector; 00369 m_pPRCTopologyManager = o->m_pPRCTopologyManager; 00370 m_bPRCMergeFaces = o->m_bPRCMergeFaces; 00371 m_bPRCCreatePRCFileOnly = o->m_bPRCCreatePRCFileOnly; 00372 m_bSuppressEarlyOptimization = o->m_bSuppressEarlyOptimization; 00373 m_bPMIDetected = o->m_bPMIDetected; 00374 m_pPRCMultiModelSelectionCallback = o->m_pPRCMultiModelSelectionCallback; 00375 m_pPRCAsmModelFile = o->m_pPRCAsmModelFile; 00376 m_pPRCDeleteModelFile = o->m_pPRCDeleteModelFile; 00377 m_bPRCStoreUserAttributes = o->m_bPRCStoreUserAttributes; 00378 m_dPRCMinimumTransparency = o->m_dPRCMinimumTransparency; 00379 m_bPRCImportHiddenObjects = o->m_bPRCImportHiddenObjects; 00380 00381 00382 00383 // DWF import options 00384 m_bDisableDWFDrawOrder = o->m_bDisableDWFDrawOrder; 00385 m_bDWFRebaselineModel = o->m_bDWFRebaselineModel; 00386 m_bImportThumbnail = o->m_bImportThumbnail; 00387 00388 00389 //SKP import option 00390 m_bOptimizeSegmentTree = o->m_bOptimizeSegmentTree; 00391 00392 00393 }; 00394 00397 HInputHandlerOptions(const HInputHandlerOptions &o) { 00398 m_z_separation = o.m_z_separation; 00399 m_depth_range = o.m_depth_range; 00400 m_pHBaseView = o.m_pHBaseView; 00401 m_pImageName = o.m_pImageName; 00402 m_pImageFormat = o.m_pImageFormat; 00403 m_pConnector = o.m_pConnector; 00404 m_pExtendedData = o.m_pExtendedData; 00405 m_bLocal = o.m_bLocal; 00406 00407 //DWG/DGN/SKP option 00408 m_bIgnoreOffEntities = o.m_bIgnoreOffEntities; 00409 00410 //DWG/SKP option 00411 m_bImportMetadata = o.m_bImportMetadata; 00412 00413 //DWG options 00414 m_bInputViaHSF = o.m_bInputViaHSF; 00415 m_Deviation = o.m_Deviation; 00416 m_bImportWireframeForBrep = o.m_bImportWireframeForBrep; 00417 m_numIsolines = o.m_numIsolines; 00418 m_listRegAppNames = o.m_listRegAppNames; 00419 m_listEntityType = o.m_listEntityType; 00420 m_bForceReimport = o.m_bForceReimport; 00421 m_listDWGLayouts = o.m_listDWGLayouts; 00422 m_bAttachDWGHandles = o.m_bAttachDWGHandles; 00423 m_bImportAllLayouts = o.m_bImportAllLayouts; 00424 m_bDWGInsertMeshesAsShells = o.m_bDWGInsertMeshesAsShells; 00425 m_bDisableDWGDrawOrder = o.m_bDisableDWGDrawOrder; 00426 m_eDwgViewVector = o.m_eDwgViewVector; 00427 m_sDwgContrastColorRgb = o.m_sDwgContrastColorRgb; 00428 m_bLegacyOptimize = o.m_bLegacyOptimize; 00429 m_bDwgDepthRangeDrawOrder = o.m_bDwgDepthRangeDrawOrder; 00430 00431 //DGN options 00432 m_iDGNCellHeaderOption = o.m_iDGNCellHeaderOption; 00433 m_bDGNRebaselineModel = o.m_bDGNRebaselineModel; 00434 m_coneFactor = o.m_coneFactor; 00435 m_factorForSmartSolids = o.m_factorForSmartSolids; 00436 m_bDGNImportAllModels = o.m_bDGNImportAllModels; 00437 00438 // PRC options 00439 m_pPRCPMIConnector = o.m_pPRCPMIConnector; 00440 m_pPRCTopologyManager = o.m_pPRCTopologyManager; 00441 m_bPRCMergeFaces = o.m_bPRCMergeFaces; 00442 m_bPRCCreatePRCFileOnly = o.m_bPRCCreatePRCFileOnly; 00443 m_bSuppressEarlyOptimization = o.m_bSuppressEarlyOptimization; 00444 m_bPMIDetected = o.m_bPMIDetected; 00445 m_pPRCMultiModelSelectionCallback = o.m_pPRCMultiModelSelectionCallback; 00446 m_pPRCAsmModelFile = o.m_pPRCAsmModelFile; 00447 m_pPRCDeleteModelFile = o.m_pPRCDeleteModelFile; 00448 m_bPRCImportHiddenObjects = o.m_bPRCImportHiddenObjects; 00449 00450 // DWF import options 00451 m_bDisableDWFDrawOrder = o.m_bDisableDWFDrawOrder; 00452 m_bDWFRebaselineModel = o.m_bDWFRebaselineModel; 00453 m_bImportThumbnail = o.m_bImportThumbnail; 00454 00455 00456 //SKP import option 00457 m_bOptimizeSegmentTree = o.m_bOptimizeSegmentTree; 00458 00459 }; 00460 00461 virtual ~HInputHandlerOptions(); 00462 00464 HBaseView * m_pHBaseView; 00465 00467 const char * m_pImageName; 00468 00470 const char * m_pImageFormat; 00471 00473 bool m_bLocal; 00474 00476 HStreamFileToolkit * m_tk; 00477 00479 bool m_bLogging; 00480 00482 HIOConnector * m_pConnector; 00483 00485 void * m_pExtendedData; 00486 00488 bool m_bInputViaHSF; 00489 00491 double m_Deviation; 00492 00494 bool m_bImportMetadata; 00495 00497 const char *m_license; 00498 00502 struct vlist_s * m_listRegAppNames; 00503 00505 struct vlist_s * m_listEntityType; 00506 00508 bool m_bImportWireframeForBrep; 00509 00511 double m_numIsolines; 00512 00514 bool m_bForceReimport; 00515 00520 bool m_bDisableDWGDrawOrder; 00521 00523 struct vlist_s * m_listDWGLayouts; 00524 00526 bool m_bIgnoreOffEntities; 00527 00531 double m_coneFactor; 00532 00536 double m_factorForSmartSolids; 00537 00539 bool m_bAttachDWGHandles; 00540 00542 int m_iDGNCellHeaderOption; 00543 00544 00545 00549 enum { 00550 SINGLE_ENTITY_CELLHEADER, 00551 BREAK_CELLHEADER, 00552 OPT_CELLHEADER 00553 }; 00554 00556 void *m_pPRCAsmModelFile; 00557 00559 bool m_pPRCDeleteModelFile; 00560 00562 HIOConnector * m_pPRCPMIConnector; 00564 BREP_Topology * m_pPRCTopologyManager; 00566 bool m_bPRCMergeFaces; 00568 bool m_bPRCCreatePRCFileOnly; 00570 void (*m_pPRCMultiModelSelectionCallback) (char const * in_container, int in_num_configs, char const ** in_configs, 00571 int & out_config_selection); 00573 bool m_bPRCStoreUserAttributes; 00575 double m_dPRCMinimumTransparency; 00577 bool m_bPRCImportHiddenObjects; 00578 00579 bool m_bSuppressEarlyOptimization; 00580 bool m_bPMIDetected; 00581 00582 00585 bool m_bImportAllLayouts; 00586 00588 bool m_bDGNRebaselineModel; 00589 00591 bool m_bDGNImportAllModels; 00592 00596 bool m_bDWGInsertMeshesAsShells; 00597 00598 // DWF import options 00603 bool m_bDisableDWFDrawOrder; 00604 00606 bool m_bImportThumbnail; 00607 00609 bool m_bDWFRebaselineModel; 00610 00612 bool m_bOptimizeSegmentTree; 00613 00619 HDwgViewVector m_eDwgViewVector; 00620 00627 HPoint m_sDwgContrastColorRgb; 00628 00635 bool m_bLegacyOptimize; 00636 00643 bool m_bDwgDepthRangeDrawOrder; 00644 00649 double m_z_separation; 00650 00655 double m_depth_range; 00656 }; 00657 00658 00659 00661 00667 class MVO_API HInputHandler 00668 { 00669 00670 public: 00678 HInputHandler(); 00679 virtual ~HInputHandler(); 00680 00685 unsigned long GetInputOps() {return m_InputOps;}; 00686 00687 00690 virtual const char * GetInputName() = 0; 00691 00692 00699 virtual void RegisterInputHandlerTypes() = 0; 00700 00707 virtual HInputHandlerStyle GetInputStyle() = 0; 00708 00716 virtual HFileInputResult FileInputByKey(const char * filename, HC_KEY key, HInputHandlerOptions * options); 00717 virtual HFileInputResult FileInputByKey(const __wchar_t * filename, HC_KEY key, HInputHandlerOptions * options); 00718 00719 00728 virtual HFileInputResult FileInputByKey(const unsigned short * filename, HC_KEY key, HInputHandlerOptions * options); 00729 00740 virtual HFileInputResult FileInputToImageKey(const char * filename, HC_KEY * image_key, HC_KEY segment_key, HInputHandlerOptions * options); 00741 virtual HFileInputResult FileInputToImageKey(const __wchar_t * filename, HC_KEY * image_key, HC_KEY segment_key, HInputHandlerOptions * options); 00742 00743 00753 virtual HFileInputResult FileInputToImageKey(const unsigned short * filename, HC_KEY * image_key, HC_KEY segment_key, HInputHandlerOptions * options); 00754 00767 virtual const char * GetInputTypesString() = 0; 00768 00772 const __wchar_t * GetInputProgress(); 00773 00777 float GetInputPercentProgress(); 00778 00782 const __wchar_t * GetInputInformation(); 00783 00790 HIONoticeCallback * SetInputProgressNoticeCallback(HIONoticeCallback *notice_callback); 00791 00792 00799 HIOPercentNoticeCallback * SetInputPercentProgressNoticeCallback(HIOPercentNoticeCallback *percent_notice_callback); 00800 00807 HIONoticeCallback * SetInputInformationNoticeCallback(HIONoticeCallback *notice_callback); 00808 00810 void ReportInputProgress(const char * progress); 00811 void ReportInputProgress(const __wchar_t * progress); 00812 00814 void ReportInputPercentProgress(float percent_progress); 00815 00817 void ReportInputInformation(const char * information); 00818 void ReportInputInformation(const __wchar_t * information); 00819 00820 void SetModuleDirectory(const char *module_directory); 00821 void SetModuleDirectory(const __wchar_t *module_directory); 00822 protected: 00823 00827 void SetStartingInput(const char *filename); 00828 void SetStartingInput(const __wchar_t *filename = 0); 00829 00833 void SetFinishedInput(); 00834 00836 void SetInputOps(unsigned long ops) {m_InputOps=ops;}; 00837 00839 unsigned long m_InputOps; 00840 00841 __wchar_t *m_module_directory; 00842 00843 private: 00844 00845 __wchar_t *m_progress; 00846 float m_percent_progress1; 00847 float m_percent_progress2; 00848 __wchar_t *m_information; 00849 struct vlist_s *m_information_list; 00850 HIONoticeCallback *m_progress_callback; 00851 HIONoticeCallback *m_information_callback; 00852 HIOPercentNoticeCallback *m_percent_progress_callback; 00853 }; 00854 00858 enum HOutputHandlerStyle 00859 { 00860 HOutputHandlerStyleModel, 00861 HOutputHandlerStyleImage, 00862 HOutputHandlerStyleHardcopy, 00863 HOutputHandlerStyleHTML, 00864 HOutputHandlerStyleDontCare 00865 }; 00866 00873 class MVO_API ExportNameMap 00874 { 00875 private: 00876 void * _imp; 00877 public: 00878 ExportNameMap(); 00879 ~ExportNameMap(); 00880 00881 H_FORMAT_TEXT lookup(HC_KEY) const; 00882 void tag(HC_KEY, H_FORMAT_TEXT const &); 00883 }; 00884 00892 enum HPrcBrepCompression { 00893 PrcBrepCompressionNone, 00894 PrcBrepCompressionLow, 00895 PrcBrepCompressionMedium, 00896 PrcBrepCompressionHigh 00897 }; 00898 00904 class MVO_API HOutputHandlerOptions 00905 { 00906 public: 00908 HOutputHandlerOptions(); 00909 00910 virtual char const * GetType() const; 00911 00914 virtual bool PopulateOptions(); 00915 00919 HOutputHandlerOptions(HOutputHandlerOptions const *o) { 00920 Init(o); 00921 }; 00922 00926 HOutputHandlerOptions(const HOutputHandlerOptions &o) { 00927 Init(&o); 00928 }; 00929 00930 00931 virtual ~HOutputHandlerOptions(); 00932 00936 void Init(HOutputHandlerOptions const *o); 00937 00939 HBaseView * m_pHBaseView; 00941 HBaseView * const View() const {return m_pHBaseView;}; 00943 void View(HBaseView * const v) {m_pHBaseView = v;}; 00944 00946 HBaseModel * m_pHBaseModel; 00948 HBaseModel * const Model() const {return m_pHBaseModel;}; 00950 void Model(HBaseModel * const m) {m_pHBaseModel = m;}; 00951 00953 HCamera * m_pCamera; 00955 HCamera * const Camera() const {return m_pCamera;}; 00957 void Camera(HCamera * const c) {m_pCamera = c;}; 00958 00960 HC_KEY m_Key; 00962 HC_KEY const Key() const {return m_Key;}; 00964 void Key(HC_KEY const k) {m_Key = k;}; 00965 00967 char const * m_pHSRAOptions; 00969 char const * const HSRAOptions() const {return m_pHSRAOptions;}; 00971 void HSRAOptions(char const * const tf) {m_pHSRAOptions = tf;}; 00972 00974 HPoint const * m_pWindowColor; 00976 HPoint const * const WindowColor() const {return m_pWindowColor;}; 00978 void WindowColor(HPoint const * const tf) {m_pWindowColor = tf;}; 00979 00981 bool m_bUseWindowColor; 00983 bool UseWindowColor() const {return m_bUseWindowColor;}; 00985 void UseWindowColor(bool const tf) {m_bUseWindowColor = tf;}; 00986 00993 float m_Window_Width; 00995 float const WindowWidth() const {return m_Window_Width;}; 00997 void WindowWidth(float const f) {m_Window_Width = f;}; 00998 01005 float m_Window_Height; 01007 float const WindowHeight() const {return m_Window_Height;}; 01009 void WindowHeight(float const f) {m_Window_Height = f;}; 01010 01012 float m_Paper_Width; 01014 float const PaperWidth() const {return m_Paper_Width;}; 01016 void PaperWidth(float const f) {m_Paper_Width = f;}; 01017 01019 float m_Paper_Height; 01021 float const PaperHeight() const {return m_Paper_Height;}; 01023 void PaperHeight(float const f) {m_Paper_Height = f;}; 01024 01026 bool m_ForceGrayscale; 01028 bool ForceGrayscale() const {return m_ForceGrayscale;}; 01030 void ForceGrayscale(bool const tf) {m_ForceGrayscale = tf;}; 01031 01033 bool m_bFastPrint; 01035 bool FastPrint() const {return m_bFastPrint;}; 01037 void FastPrint(bool const tf) {m_bFastPrint = tf;}; 01038 01040 bool m_bConserveMemory; 01042 bool ConserveMemory() const {return m_bConserveMemory;}; 01044 void ConserveMemory(bool const tf) {m_bConserveMemory = tf;}; 01045 01046 bool m_bWriteAnimations; 01047 bool WriteAnimations() const {return m_bWriteAnimations;}; 01048 void WriteAnimations(bool const tf) {m_bWriteAnimations = tf;}; 01049 01051 bool m_bWindowFrame; 01053 bool WindowFrame() const {return m_bWindowFrame;}; 01055 void WindowFrame(bool const tf) {m_bWindowFrame = tf;}; 01056 01058 bool m_bUseSubscreen; 01060 bool UseSubscreen() const {return m_bUseSubscreen;}; 01062 void UseSubscreen(bool const tf) {m_bUseSubscreen = tf;}; 01063 01070 int m_Image_Dpi; 01072 int const ImageDpi() const {return m_Image_Dpi;}; 01074 void ImageDpi(int const dpi) {m_Image_Dpi = dpi;}; 01075 01077 int m_Paper_Dpi; 01079 int const PaperDpi() const {return m_Paper_Dpi;}; 01081 void PaperDpi(int const dpi) {m_Paper_Dpi = dpi;}; 01082 01084 void * m_pExtendedData; 01085 void * const ExtendedData() const {return m_pExtendedData;}; 01086 void ExtendedData(void * const vp) {m_pExtendedData = vp;}; 01087 void ExtendedData(HOutputHandlerOptions * const vp) {m_pExtendedData = (void*)vp;}; 01088 01089 bool ActivateOnPageOpen() const {return m_bActivateOnPageOpen;}; 01090 void ActivateOnPageOpen(bool onoff) {m_bActivateOnPageOpen = onoff;}; 01091 float const AnnotLeft(void) const {return m_fAnnotLeft;}; 01092 void AnnotLeft(float f) {m_fAnnotLeft = f;}; 01093 float const AnnotRight(void) const {return m_fAnnotRight;}; 01094 void AnnotRight(float f) {m_fAnnotRight = f;}; 01095 float const AnnotBottom(void) const {return m_fAnnotBottom;}; 01096 void AnnotBottom(float f) {m_fAnnotBottom = f;}; 01097 float const AnnotTop(void) const {return m_fAnnotTop;}; 01098 void AnnotTop(float f) {m_fAnnotTop = f;}; 01099 01100 01102 const char *m_license; 01103 01105 int m_Version; 01106 int const Version() const {return m_Version;}; 01107 void Version(int const v) {m_Version = v;}; 01108 01110 H_OUTPUT_TYPE m_OutputType; 01112 H_OUTPUT_TYPE OutputType() const {return m_OutputType;}; 01114 void OutputType(H_OUTPUT_TYPE ot) {m_OutputType = ot;}; 01115 01117 bool m_b3dOutput; 01119 bool Output3d() const {return m_b3dOutput;}; 01121 void Output3d(bool const tf) {m_b3dOutput = tf;}; 01122 01124 bool m_bAscii; 01126 bool Ascii() const {return m_bAscii;}; 01128 void Ascii(bool const tf) {m_bAscii = tf;}; 01129 01131 bool m_bStlNormals; 01133 bool StlNormals() const {return m_bStlNormals;}; 01135 void StlNormals(bool const tf) {m_bStlNormals = tf;}; 01136 01138 double m_ratio_cm_to_internal_units; 01139 01143 double PrintToScale() const {return m_ratio_cm_to_internal_units;}; 01144 01160 void PrintToScale(double const r) {m_ratio_cm_to_internal_units = r;}; 01161 01168 float m_PageMargins[4]; 01169 01171 HBhvBehaviorManager * m_pBehaviorManager; 01172 01174 char const* m_pDWFModelName; 01175 01177 ExportNameMap m_names; 01178 01179 01181 void *m_pPRCAsmModelFile; 01182 01184 bool m_bActivateOnPageOpen; 01185 01187 float m_fAnnotLeft; 01188 01190 float m_fAnnotRight; 01191 01193 float m_fAnnotBottom; 01194 01196 float m_fAnnotTop; 01197 01199 HPrcBrepCompression m_ePrcBrepCompression; 01200 01202 bool m_bPrcCompressTessellation; 01203 01205 bool m_bAVIShowCompressionDialog; 01206 01215 01218 01223 01229 01240 01246 01252 01264 01274 01284 01295 01308 01318 01326 01331 01336 01341 01349 01358 01366 01369 01372 01375 01386 01391 01394 01396 01416 01433 01443 01455 01461 01471 01478 01484 01490 01499 01505 01512 01519 01524 01527 01530 01533 01536 01539 01542 01545