Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HIOManager.h
Go to the documentation of this file.
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