Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HIOManager.h
Go to the documentation of this file.
1 //
2 // Copyright (c) 2000 by Tech Soft 3D, LLC.
3 // The information contained herein is confidential and proprietary to
4 // Tech Soft 3D, LLC., and considered a trade secret as defined under
5 // civil and criminal statutes. Tech Soft 3D shall pursue its civil
6 // and criminal remedies in the event of unauthorized use or misappropriation
7 // of its trade secrets. Use of this information by anyone other than
8 // authorized employees of Tech Soft 3D, LLC. is granted only under a
9 // written non-disclosure agreement, expressly prescribing the scope and
10 // manner of such use.
11 //
12 //
13 
20 #ifndef _HIOMANAGER_H
21 #define _HIOMANAGER_H
22 
23 #ifdef H_PACK_8
24 #pragma pack(push)
25 #pragma pack(8)
26 #endif
27 
28 #include "HTools.h"
29 
30 
31 // forwards
32 enum HFileOutputResult;
33 class HBaseView;
34 class HCamera;
35 class HBaseModel;
36 struct vlist_s;
37 class HStreamFileToolkit;
39 class BREP_Topology;
40 
41 enum H_OUTPUT_TYPE
42 {
43  H_OUTPUT_TYPE_DEFAULT = 0,
44  H_PDF_OUTPUT_PORTFOLIO,
45  H_PDF_OUTPUT_3D,
46  H_PDF_OUTPUT_2D,
47  H_SINGLE_PASS_ZSORT,
48  H_SINGLE_PASS_NO_HIDDEN_SURFACES
49 };
50 
51 
55 #define HInputOpNone (1UL<<0)
56 
60 #define HInputOpFileInputByKey (1UL<<1)
61 
65 #define HInputOpFileInputToImageKey (1UL<<2)
66 
70 #define HOutputOpNone (1UL<<0)
71 
75 #define HOutputOpFileOutputByKey (1UL<<1)
76 
80 #define HOutputOpFileOutputFromImageKey (1UL<<2)
81 
82 
87 #define HIORegisterInputType(type,input_object) do {HIOManager::GetCurrentHIOManager()->RegisterInputHandler(type, input_object); }while(0);
88 
89 
90 
92 #define HIORegisterOutputType(type,output_object) do { HIOManager::GetCurrentHIOManager()->RegisterOutputHandler(type, output_object); }while(0);
93 
94 
95 
96 
101 class MVO_API HIONoticeCallback
102 {
103 public:
104 
105  virtual ~HIONoticeCallback() {;};
110  virtual void Notice(const char * notice) =0;
111  virtual void Notice(const __wchar_t * notice){
112  };
113 #ifdef H_USHORT_OVERLOAD
114  virtual void Notice(const unsigned short * notice){
115  Notice((__wchar_t const *) notice);
116  };
117 #endif
118 };
119 
124 {
125 public:
126  virtual ~HIOPercentNoticeCallback();
131  virtual void Notice(float notice) =0;
132 };
133 
134 
135 
138 typedef void * (*HIO_CREATE_FREE_FUNCTION)(void *);
139 
142 typedef void (*HIO_FREE_CONNECTOR_FUNCTION)(void *);
143 
149 class MVO_API HIOConnector
150 {
151 public:
152 
153  /*Constructs an HIOConnector object.*/
154  HIOConnector();
155  virtual ~HIOConnector();
156 
164  virtual HC_KEY GetHoopsEntity(void * pKernelEntity);
165  virtual HC_KEY GetHoopsEntity(void * pKernelEntity, HC_KEY modelKey);
166 
174  virtual void * GetKernelEntity(HC_KEY key);
175  virtual void * GetKernelEntity(HC_KEY key, HC_KEY modelKey);
176 
183  virtual bool GetHoopsEntities(void * pKernelEntity, vlist_s *ret_HoopsKeysList);
184  virtual bool GetHoopsEntities(void * pKernelEntity, vlist_s *ret_HoopsKeysList, HC_KEY modelKey);
185 
192  virtual bool GetKernelEntities(HC_KEY key, vlist_s *ret_KernelEntitiesList);
193  virtual bool GetKernelEntities(HC_KEY key, vlist_s *ret_KernelEntitiesList, HC_KEY modelKey);
194 
200  virtual void AddConnection(HC_KEY key, void* pKernelEntity);
201  virtual void AddConnection(HC_KEY key, void* pKernelEntity, HC_KEY modelKey);
202 
203 
210  virtual void OptimizeTree(const char * segname, const char * option_string);
211 
212 protected:
213 
215  struct vhash_s *mhash_Hoops2Kernel;
216 
218  struct vhash_s *mhash_Kernel2Hoops;
219 
220 };
221 
229 };
230 
240 };
241 
247 class MVO_API HInputHandlerOptions
248 {
249 public:
250 
253  m_z_separation = 1;
254  m_depth_range = 0;
255  m_pHBaseView = 0;
256  m_pImageName = 0;
257  m_pImageFormat = 0;
258  m_pConnector = 0;
259  m_pExtendedData = 0;
260  m_bLocal = false;
261  m_tk = 0;
262  m_bLogging = false;
263 
264 
265  // Generic options used in DGN, SKP and DWG importer
266  m_bIgnoreOffEntities = false;
267 
268  //DWG/SKP option
269  m_bImportMetadata = false;
270 
271  // DWG import options (try and move them somewhere else)
272  m_bInputViaHSF = false;
273  m_Deviation = 10.0;
274  m_bImportWireframeForBrep = false;
275  m_numIsolines = 0;
276  m_listRegAppNames = 0;
277  m_listEntityType = 0;
278  m_bForceReimport = false;
279  m_listDWGLayouts = 0;
280  m_bAttachDWGHandles = false;
281  m_bImportAllLayouts = false;
282  m_bDWGInsertMeshesAsShells = false;
283  m_bDisableDWGDrawOrder = false;
284  m_eDwgViewVector = DwgViewportInherit;
285  m_sDwgContrastColorRgb = HPoint(0, 0, 0);
286  m_bLegacyOptimize = false;
287  m_bDwgDepthRangeDrawOrder = false;
288 
289  // DGN import Options
290  m_iDGNCellHeaderOption = SINGLE_ENTITY_CELLHEADER;
291  m_coneFactor = 10.0;
292  m_factorForSmartSolids = 45.0;
293  m_bDGNRebaselineModel = false;
294  m_bDGNImportAllModels = false;
295 
296  // PRC options
297  m_pPRCPMIConnector = 0;
298  m_pPRCTopologyManager = 0;
299  m_bPRCMergeFaces = false;
300  m_bPRCCreatePRCFileOnly = false;
301  m_bSuppressEarlyOptimization = false;
302  m_bPMIDetected = false;
303  m_pPRCMultiModelSelectionCallback = 0;
304  m_pPRCAsmModelFile = 0;
305  m_pPRCDeleteModelFile = false;
306  m_bPRCStoreUserAttributes = true;
307  m_dPRCMinimumTransparency = 0;
308  m_bPRCImportHiddenObjects = false;
309 
310  // DWF import options
311  m_bDisableDWFDrawOrder = false;
312  m_bDWFRebaselineModel = true;
313  m_bImportThumbnail = false;
314 
315  //SKP optimization option
316  m_bOptimizeSegmentTree = false;
317  m_license = 0;
318  };
319 
323  m_z_separation = o->m_z_separation;
324  m_depth_range = o->m_depth_range;
325  m_pHBaseView = o->m_pHBaseView;
326  m_pImageName = o->m_pImageName;
327  m_pImageFormat = o->m_pImageFormat;
328  m_pConnector = o->m_pConnector;
329  m_pExtendedData = o->m_pExtendedData;
330  m_bLocal = o->m_bLocal;
331 
332  m_license = o->m_license;
333 
334 
335  //DWG/DGN/SKP option
336  m_bIgnoreOffEntities = o->m_bIgnoreOffEntities;
337 
338  //DWG/SKP option
339  m_bImportMetadata = o->m_bImportMetadata;
340 
341 
342  //DWG Options
343  m_bInputViaHSF = o->m_bInputViaHSF;
344  m_Deviation = o->m_Deviation;
345  m_bImportWireframeForBrep = o->m_bImportWireframeForBrep;
346  m_numIsolines = o->m_numIsolines;
347  m_listRegAppNames = o->m_listRegAppNames;
348  m_listEntityType=o->m_listEntityType;
349  m_bForceReimport = o->m_bForceReimport;
350  m_listDWGLayouts = o->m_listDWGLayouts;
351  m_bAttachDWGHandles = o->m_bAttachDWGHandles;
352  m_bImportAllLayouts = o->m_bImportAllLayouts;
353  m_bDWGInsertMeshesAsShells = o->m_bDWGInsertMeshesAsShells;
354  m_bDisableDWGDrawOrder = o->m_bDisableDWGDrawOrder;
355  m_eDwgViewVector = o->m_eDwgViewVector;
356  m_sDwgContrastColorRgb = o->m_sDwgContrastColorRgb;
357  m_bLegacyOptimize = o->m_bLegacyOptimize;
358  m_bDwgDepthRangeDrawOrder = o->m_bDwgDepthRangeDrawOrder;
359 
360  //DGN Options
361  m_iDGNCellHeaderOption = o->m_iDGNCellHeaderOption;
362  m_bDGNRebaselineModel = o->m_bDGNRebaselineModel;
363  m_coneFactor = o->m_coneFactor;
364  m_factorForSmartSolids = o->m_factorForSmartSolids;
365  m_bDGNImportAllModels = o->m_bDGNImportAllModels;
366 
367  // PRC options
368  m_pPRCPMIConnector = o->m_pPRCPMIConnector;
369  m_pPRCTopologyManager = o->m_pPRCTopologyManager;
370  m_bPRCMergeFaces = o->m_bPRCMergeFaces;
371  m_bPRCCreatePRCFileOnly = o->m_bPRCCreatePRCFileOnly;
372  m_bSuppressEarlyOptimization = o->m_bSuppressEarlyOptimization;
373  m_bPMIDetected = o->m_bPMIDetected;
374  m_pPRCMultiModelSelectionCallback = o->m_pPRCMultiModelSelectionCallback;
375  m_pPRCAsmModelFile = o->m_pPRCAsmModelFile;
376  m_pPRCDeleteModelFile = o->m_pPRCDeleteModelFile;
377  m_bPRCStoreUserAttributes = o->m_bPRCStoreUserAttributes;
378  m_dPRCMinimumTransparency = o->m_dPRCMinimumTransparency;
379  m_bPRCImportHiddenObjects = o->m_bPRCImportHiddenObjects;
380 
381 
382 
383  // DWF import options
384  m_bDisableDWFDrawOrder = o->m_bDisableDWFDrawOrder;
385  m_bDWFRebaselineModel = o->m_bDWFRebaselineModel;
386  m_bImportThumbnail = o->m_bImportThumbnail;
387 
388 
389  //SKP import option
390  m_bOptimizeSegmentTree = o->m_bOptimizeSegmentTree;
391 
392 
393  };
394 
398  m_z_separation = o.m_z_separation;
399  m_depth_range = o.m_depth_range;
400  m_pHBaseView = o.m_pHBaseView;
401  m_pImageName = o.m_pImageName;
402  m_pImageFormat = o.m_pImageFormat;
403  m_pConnector = o.m_pConnector;
404  m_pExtendedData = o.m_pExtendedData;
405  m_bLocal = o.m_bLocal;
406 
407  //DWG/DGN/SKP option
408  m_bIgnoreOffEntities = o.m_bIgnoreOffEntities;
409 
410  //DWG/SKP option
411  m_bImportMetadata = o.m_bImportMetadata;
412 
413  //DWG options
414  m_bInputViaHSF = o.m_bInputViaHSF;
415  m_Deviation = o.m_Deviation;
416  m_bImportWireframeForBrep = o.m_bImportWireframeForBrep;
417  m_numIsolines = o.m_numIsolines;
418  m_listRegAppNames = o.m_listRegAppNames;
419  m_listEntityType = o.m_listEntityType;
420  m_bForceReimport = o.m_bForceReimport;
421  m_listDWGLayouts = o.m_listDWGLayouts;
422  m_bAttachDWGHandles = o.m_bAttachDWGHandles;
423  m_bImportAllLayouts = o.m_bImportAllLayouts;
424  m_bDWGInsertMeshesAsShells = o.m_bDWGInsertMeshesAsShells;
425  m_bDisableDWGDrawOrder = o.m_bDisableDWGDrawOrder;
426  m_eDwgViewVector = o.m_eDwgViewVector;
427  m_sDwgContrastColorRgb = o.m_sDwgContrastColorRgb;
428  m_bLegacyOptimize = o.m_bLegacyOptimize;
429  m_bDwgDepthRangeDrawOrder = o.m_bDwgDepthRangeDrawOrder;
430 
431  //DGN options
432  m_iDGNCellHeaderOption = o.m_iDGNCellHeaderOption;
433  m_bDGNRebaselineModel = o.m_bDGNRebaselineModel;
434  m_coneFactor = o.m_coneFactor;
435  m_factorForSmartSolids = o.m_factorForSmartSolids;
436  m_bDGNImportAllModels = o.m_bDGNImportAllModels;
437 
438  // PRC options
439  m_pPRCPMIConnector = o.m_pPRCPMIConnector;
440  m_pPRCTopologyManager = o.m_pPRCTopologyManager;
441  m_bPRCMergeFaces = o.m_bPRCMergeFaces;
442  m_bPRCCreatePRCFileOnly = o.m_bPRCCreatePRCFileOnly;
443  m_bSuppressEarlyOptimization = o.m_bSuppressEarlyOptimization;
444  m_bPMIDetected = o.m_bPMIDetected;
445  m_pPRCMultiModelSelectionCallback = o.m_pPRCMultiModelSelectionCallback;
446  m_pPRCAsmModelFile = o.m_pPRCAsmModelFile;
447  m_pPRCDeleteModelFile = o.m_pPRCDeleteModelFile;
448  m_bPRCImportHiddenObjects = o.m_bPRCImportHiddenObjects;
449 
450  // DWF import options
451  m_bDisableDWFDrawOrder = o.m_bDisableDWFDrawOrder;
452  m_bDWFRebaselineModel = o.m_bDWFRebaselineModel;
453  m_bImportThumbnail = o.m_bImportThumbnail;
454 
455 
456  //SKP import option
457  m_bOptimizeSegmentTree = o.m_bOptimizeSegmentTree;
458 
459  };
460 
461  virtual ~HInputHandlerOptions();
462 
465 
467  const char * m_pImageName;
468 
470  const char * m_pImageFormat;
471 
473  bool m_bLocal;
474 
476  HStreamFileToolkit * m_tk;
477 
480 
483 
486 
489 
491  double m_Deviation;
492 
495 
497  const char *m_license;
498 
502  struct vlist_s * m_listRegAppNames;
503 
505  struct vlist_s * m_listEntityType;
506 
509 
512 
515 
521 
523  struct vlist_s * m_listDWGLayouts;
524 
527 
531  double m_coneFactor;
532 
537 
540 
543 
544 
545 
549  enum {
552  OPT_CELLHEADER
553  };
554 
557 
560 
570  void (*m_pPRCMultiModelSelectionCallback) (char const * in_container, int in_num_configs, char const ** in_configs,
571  int & out_config_selection);
578 
579  bool m_bSuppressEarlyOptimization;
580  bool m_bPMIDetected;
581 
582 
586 
589 
592 
597 
598  // DWF import options
604 
607 
610 
613 
620 
628 
636 
644 
650 
656 };
657 
658 
659 
661 
667 class MVO_API HInputHandler
668 {
669 
670 public:
678  HInputHandler();
679  virtual ~HInputHandler();
680 
685  unsigned long GetInputOps() {return m_InputOps;};
686 
687 
690  virtual const char * GetInputName() = 0;
691 
692 
699  virtual void RegisterInputHandlerTypes() = 0;
700 
707  virtual HInputHandlerStyle GetInputStyle() = 0;
708 
716  virtual HFileInputResult FileInputByKey(const char * filename, HC_KEY key, HInputHandlerOptions * options);
717  virtual HFileInputResult FileInputByKey(const __wchar_t * filename, HC_KEY key, HInputHandlerOptions * options);
718 
719 
728  virtual HFileInputResult FileInputByKey(const unsigned short * filename, HC_KEY key, HInputHandlerOptions * options);
729 
740  virtual HFileInputResult FileInputToImageKey(const char * filename, HC_KEY * image_key, HC_KEY segment_key, HInputHandlerOptions * options);
741  virtual HFileInputResult FileInputToImageKey(const __wchar_t * filename, HC_KEY * image_key, HC_KEY segment_key, HInputHandlerOptions * options);
742 
743 
753  virtual HFileInputResult FileInputToImageKey(const unsigned short * filename, HC_KEY * image_key, HC_KEY segment_key, HInputHandlerOptions * options);
754 
767  virtual const char * GetInputTypesString() = 0;
768 
772  const __wchar_t * GetInputProgress();
773 
777  float GetInputPercentProgress();
778 
782  const __wchar_t * GetInputInformation();
783 
790  HIONoticeCallback * SetInputProgressNoticeCallback(HIONoticeCallback *notice_callback);
791 
792 
799  HIOPercentNoticeCallback * SetInputPercentProgressNoticeCallback(HIOPercentNoticeCallback *percent_notice_callback);
800 
807  HIONoticeCallback * SetInputInformationNoticeCallback(HIONoticeCallback *notice_callback);
808 
810  void ReportInputProgress(const char * progress);
811  void ReportInputProgress(const __wchar_t * progress);
812 
814  void ReportInputPercentProgress(float percent_progress);
815 
817  void ReportInputInformation(const char * information);
818  void ReportInputInformation(const __wchar_t * information);
819 
820  void SetModuleDirectory(const char *module_directory);
821  void SetModuleDirectory(const __wchar_t *module_directory);
822 protected:
823 
827  void SetStartingInput(const char *filename);
828  void SetStartingInput(const __wchar_t *filename = 0);
829 
833  void SetFinishedInput();
834 
836  void SetInputOps(unsigned long ops) {m_InputOps=ops;};
837 
839  unsigned long m_InputOps;
840 
841  __wchar_t *m_module_directory;
842 
843 private:
844 
845  __wchar_t *m_progress;
846  float m_percent_progress1;
847  float m_percent_progress2;
848  __wchar_t *m_information;
849  struct vlist_s *m_information_list;
850  HIONoticeCallback *m_progress_callback;
851  HIONoticeCallback *m_information_callback;
852  HIOPercentNoticeCallback *m_percent_progress_callback;
853 };
854 
859 {
860  HOutputHandlerStyleModel,
865 };
866 
873 class MVO_API ExportNameMap
874 {
875 private:
876  void * _imp;
877 public:
878  ExportNameMap();
879  ~ExportNameMap();
880 
881  H_FORMAT_TEXT lookup(HC_KEY) const;
882  void tag(HC_KEY, H_FORMAT_TEXT const &);
883 };
884 
897 };
898 
904 class MVO_API HOutputHandlerOptions
905 {
906 public:
908  HOutputHandlerOptions();
909 
910  virtual char const * GetType() const;
911 
914  virtual bool PopulateOptions();
915 
919  HOutputHandlerOptions(HOutputHandlerOptions const *o) {
920  Init(o);
921  };
922 
926  HOutputHandlerOptions(const HOutputHandlerOptions &o) {
927  Init(&o);
928  };
929 
930 
931  virtual ~HOutputHandlerOptions();
932 
936  void Init(HOutputHandlerOptions const *o);
937 
939  HBaseView * m_pHBaseView;
941  HBaseView * const View() const {return m_pHBaseView;};
943  void View(HBaseView * const v) {m_pHBaseView = v;};
944 
946  HBaseModel * m_pHBaseModel;
948  HBaseModel * const Model() const {return m_pHBaseModel;};
950  void Model(HBaseModel * const m) {m_pHBaseModel = m;};
951 
953  HCamera * m_pCamera;
955  HCamera * const Camera() const {return m_pCamera;};
957  void Camera(HCamera * const c) {m_pCamera = c;};
958 
960  HC_KEY m_Key;
962  HC_KEY const Key() const {return m_Key;};
964  void Key(HC_KEY const k) {m_Key = k;};
965 
967  char const * m_pHSRAOptions;
969  char const * const HSRAOptions() const {return m_pHSRAOptions;};
971  void HSRAOptions(char const * const tf) {m_pHSRAOptions = tf;};
972 
974  HPoint const * m_pWindowColor;
976  HPoint const * const WindowColor() const {return m_pWindowColor;};
978  void WindowColor(HPoint const * const tf) {m_pWindowColor = tf;};
979 
981  bool m_bUseWindowColor;
983  bool UseWindowColor() const {return m_bUseWindowColor;};
985  void UseWindowColor(bool const tf) {m_bUseWindowColor = tf;};
986 
993  float m_Window_Width;
995  float const WindowWidth() const {return m_Window_Width;};
997  void WindowWidth(float const f) {m_Window_Width = f;};
998 
1005  float m_Window_Height;
1007  float const WindowHeight() const {return m_Window_Height;};
1009  void WindowHeight(float const f) {m_Window_Height = f;};
1010 
1012  float m_Paper_Width;
1014  float const PaperWidth() const {return m_Paper_Width;};
1016  void PaperWidth(float const f) {m_Paper_Width = f;};
1017 
1019  float m_Paper_Height;
1021  float const PaperHeight() const {return m_Paper_Height;};
1023  void PaperHeight(float const f) {m_Paper_Height = f;};
1024 
1026  bool m_ForceGrayscale;
1028  bool ForceGrayscale() const {return m_ForceGrayscale;};
1030  void ForceGrayscale(bool const tf) {m_ForceGrayscale = tf;};
1031 
1033  bool m_bFastPrint;
1035  bool FastPrint() const {return m_bFastPrint;};
1037  void FastPrint(bool const tf) {m_bFastPrint = tf;};
1038 
1040  bool m_bConserveMemory;
1042  bool ConserveMemory() const {return m_bConserveMemory;};
1044  void ConserveMemory(bool const tf) {m_bConserveMemory = tf;};
1045 
1046  bool m_bWriteAnimations;
1047  bool WriteAnimations() const {return m_bWriteAnimations;};
1048  void WriteAnimations(bool const tf) {m_bWriteAnimations = tf;};
1049 
1051  bool m_bWindowFrame;
1053  bool WindowFrame() const {return m_bWindowFrame;};
1055  void WindowFrame(bool const tf) {m_bWindowFrame = tf;};
1056 
1058  bool m_bUseSubscreen;
1060  bool UseSubscreen() const {return m_bUseSubscreen;};
1062  void UseSubscreen(bool const tf) {m_bUseSubscreen = tf;};
1063 
1070  int m_Image_Dpi;
1072  int const ImageDpi() const {return m_Image_Dpi;};
1074  void ImageDpi(int const dpi) {m_Image_Dpi = dpi;};
1075 
1077  int m_Paper_Dpi;
1079  int const PaperDpi() const {return m_Paper_Dpi;};
1081  void PaperDpi(int const dpi) {m_Paper_Dpi = dpi;};
1082 
1084  void * m_pExtendedData;
1085  void * const ExtendedData() const {return m_pExtendedData;};
1086  void ExtendedData(void * const vp) {m_pExtendedData = vp;};
1087  void ExtendedData(HOutputHandlerOptions * const vp) {m_pExtendedData = (void*)vp;};
1088 
1089  bool ActivateOnPageOpen() const {return m_bActivateOnPageOpen;};
1090  void ActivateOnPageOpen(bool onoff) {m_bActivateOnPageOpen = onoff;};
1091  float const AnnotLeft(void) const {return m_fAnnotLeft;};
1092  void AnnotLeft(float f) {m_fAnnotLeft = f;};
1093  float const AnnotRight(void) const {return m_fAnnotRight;};
1094  void AnnotRight(float f) {m_fAnnotRight = f;};
1095  float const AnnotBottom(void) const {return m_fAnnotBottom;};
1096  void AnnotBottom(float f) {m_fAnnotBottom = f;};
1097  float const AnnotTop(void) const {return m_fAnnotTop;};
1098  void AnnotTop(float f) {m_fAnnotTop = f;};
1099 
1100 
1102  const char *m_license;
1103 
1105  int m_Version;
1106  int const Version() const {return m_Version;};
1107  void Version(int const v) {m_Version = v;};
1108 
1110  H_OUTPUT_TYPE m_OutputType;
1112  H_OUTPUT_TYPE OutputType() const {return m_OutputType;};
1114  void OutputType(H_OUTPUT_TYPE ot) {m_OutputType = ot;};
1115 
1117  bool m_b3dOutput;
1119  bool Output3d() const {return m_b3dOutput;};
1121  void Output3d(bool const tf) {m_b3dOutput = tf;};
1122 
1124  bool m_bAscii;
1126  bool Ascii() const {return m_bAscii;};
1128  void Ascii(bool const tf) {m_bAscii = tf;};
1129 
1131  bool m_bStlNormals;
1133  bool StlNormals() const {return m_bStlNormals;};
1135  void StlNormals(bool const tf) {m_bStlNormals = tf;};
1136 
1138  double m_ratio_cm_to_internal_units;
1139 
1143  double PrintToScale() const {return m_ratio_cm_to_internal_units;};
1144 
1160  void PrintToScale(double const r) {m_ratio_cm_to_internal_units = r;};
1161 
1168  float m_PageMargins[4];
1169 
1171  HBhvBehaviorManager * m_pBehaviorManager;
1172 
1174  char const* m_pDWFModelName;
1175 
1177  ExportNameMap m_names;
1178 
1179 
1181  void *m_pPRCAsmModelFile;
1182 
1184  bool m_bActivateOnPageOpen;
1185 
1187  float m_fAnnotLeft;
1188 
1190  float m_fAnnotRight;
1191 
1193  float m_fAnnotBottom;
1194 
1196  float m_fAnnotTop;
1197 
1199  HPrcBrepCompression m_ePrcBrepCompression;
1200 
1202  bool m_bPrcCompressTessellation;
1203 
1205  bool m_bAVIShowCompressionDialog;
1206 
1215 
1218 
1223 
1229 
1240 
1246 
1252 
1264 
1274 
1284 
1295 
1308 
1318 
1326 
1331 
1336 
1341 
1349 
1358 
1366 
1369 
1372 
1375 
1386 
1391 
1394 
1396 
1416 
1433 
1443 
1455 
1461 
1471 
1478 
1484 
1490 
1499 
1505 
1512 
1519 
1524 
1527 
1530 
1533 
1536 
1539 
1542 
1545 
bool m_bDGNRebaselineModel
Applies to HIO_DGN. if true then whole model is rebased with use of model extents to compensate for t...
Definition: HIOManager.h:588
Definition: HIOManager.h:873
double m_numIsolines
Applies to HIO_DWG module. Set the number of isolines you want for surfaces (cylindrical/spherical/to...
Definition: HIOManager.h:511
void(* HIO_FREE_CONNECTOR_FUNCTION)(void *)
Definition: HIOManager.h:142
Definition: HIOManager.h:101
bool m_pPRCDeleteModelFile
Applies to HIO_Exchange and HIO_Publish. If true model file is deleted after loading is complete...
Definition: HIOManager.h:559
Definition: HDGNHelper.h:294
bool m_bPRCImportHiddenObjects
PRC import option: If true, hidden objects will be imported though not visible. If false...
Definition: HIOManager.h:577
Specifies an HInputHandler for model data.
Definition: HIOManager.h:227
bool m_bLogging
If true, logging will be enabled in those plugins that support it.
Definition: HIOManager.h:479
The HBhvBehaviorManager class stores and manages all animation related data.
Definition: HBhvBehaviorManager.h:241
Low compression, high accurracy.
Definition: HIOManager.h:894
bool m_bDWFRebaselineModel
Applies to HIO_DWF. if true then whole model is rebased with use of model extents to compensate for t...
Definition: HIOManager.h:609
Definition: HUtility.h:2350
const char * m_license
A pointer to a license key, intended to be used by 3rd party toolkits which require a license key to ...
Definition: HIOManager.h:497
Specifies an #HOutputHandler for geometry data.
Definition: HIOManager.h:861
struct vhash_s * mhash_Hoops2Kernel
A hash map between HOOPS Keys and kernel entities.
Definition: HIOManager.h:215
const char * m_pImageName
The HOOPS image name to use for a newly loaded image.
Definition: HIOManager.h:467
bool m_bLegacyOptimize
Definition: HIOManager.h:635
Definition: HIOManager.h:149
HInputHandler an abstract base class for model and image input.
Definition: HIOManager.h:667
#define HC_KEY
The HCamera class is the data type of a HOOPS Camera Attribute.
Definition: HUtility.h:543
bool m_bDGNImportAllModels
Applies to HIO_DGN. if true then all the models are imported in the DGN file else only current model ...
Definition: HIOManager.h:591
BREP_Topology * m_pPRCTopologyManager
Applies to HIO_Exchange and HIO_Publish. Pointer to connector class. If not null prc topology entitie...
Definition: HIOManager.h:564
Specifies an #HOutputHandler for a hardcopy output type.
Definition: HIOManager.h:863
HIOConnector * m_pConnector
A pointer to HIOConnector object. The connectivity between HOOPS scene-graph entities and 3rd party t...
Definition: HIOManager.h:482
HOutputHandlerStyle
Definition: HIOManager.h:858
Specifies an HInputHandler for image data.
Definition: HIOManager.h:228
Definition: HIOManager.h:123
HPrcBrepCompression
Definition: HIOManager.h:892
Specifies an #HOutputHandler for an image.
Definition: HIOManager.h:862
Specifies using an iso view (looking at the origin from (1, 1, 1))
Definition: HIOManager.h:237
Specifies an #HOutputHandler for a MVO style html file.
Definition: HIOManager.h:864
double m_depth_range
Definition: HIOManager.h:655
indicates that cell header entity will be imported as single segment
Definition: HIOManager.h:550
const char * m_pImageFormat
The HOOPS image format to use for loading an image if not using filename .ext for format...
Definition: HIOManager.h:470
indicates that cell header will have as many segments as its childs
Definition: HIOManager.h:551
void * m_pExtendedData
A pointer to extra data needed by a HInputHandler subclass.
Definition: HIOManager.h:485
bool m_bDisableDWFDrawOrder
Definition: HIOManager.h:603
double m_factorForSmartSolids
Definition: HIOManager.h:536
HPoint m_sDwgContrastColorRgb
Definition: HIOManager.h:627
bool m_bPRCStoreUserAttributes
PRC import option: If true all prc user attributes will be converted as user option.
Definition: HIOManager.h:573
bool m_bDisableDWGDrawOrder
Definition: HIOManager.h:520
High compression, low accurracy.
Definition: HIOManager.h:896
bool m_bPRCCreatePRCFileOnly
Applies to HIO_Exchange and HIO_Publish. If true temporary prc file will be created but no parsing an...
Definition: HIOManager.h:568
HInputHandlerOptions(HInputHandlerOptions const *o)
Definition: HIOManager.h:322
HDwgViewVector
Definition: HIOManager.h:235
HInputHandlerOptions(const HInputHandlerOptions &o)
Definition: HIOManager.h:397
The HBaseModel class is used to store and manage model information.
Definition: HBaseModel.h:52
struct vlist_s * m_listRegAppNames
Definition: HIOManager.h:502
HInputHandlerStyle
Definition: HIOManager.h:226
double m_dPRCMinimumTransparency
PRC import option: define the minimum of transparency that can be applied.
Definition: HIOManager.h:575
The HPoint class is the data type of a three-dimensional point.
Definition: HGlobals.h:126
bool m_bInputViaHSF
Applies to HIO_DWG module. Set to true if you want to import the DWG file using BStream Toolkit...
Definition: HIOManager.h:488
The HBaseView class defines and manages a view of model information.
Definition: HBaseView.h:337
Specifies using a top view (looking down the positive Z-axis at the XY-plane)
Definition: HIOManager.h:236
double m_z_separation
Definition: HIOManager.h:649
bool m_bDWGInsertMeshesAsShells
Definition: HIOManager.h:596
bool m_bIgnoreOffEntities
Definition: HIOManager.h:526
HInputHandlerOptions()
Definition: HIOManager.h:252
Medium compression, medium accurracy.
Definition: HIOManager.h:895
void * m_pPRCAsmModelFile
PRC import option: Returned to user. Contains Pointer to A3DAsmModelFile entity.
Definition: HIOManager.h:556
Definition: HDGNHelper.h:782
double m_Deviation
Applies to HIO_DWG module. The allowable maximum difference in world space between a true mathematica...
Definition: HIOManager.h:491
double m_coneFactor
Definition: HIOManager.h:531
No compression.
Definition: HIOManager.h:893
bool m_bAttachDWGHandles
Definition: HIOManager.h:539
unsigned long GetInputOps()
Definition: HIOManager.h:685
Definition: HIOManager.h:247
bool m_bOptimizeSegmentTree
Applies to HIO_SKP. if true then model is optimized using Optimize_Segment_Tree API. Can be set to true if scene graph structure is not important.
Definition: HIOManager.h:612
struct vlist_s * m_listEntityType
Definition: HIOManager.h:505
void SetInputOps(unsigned long ops)
This sets the HInputOp.
Definition: HIOManager.h:836
HStreamFileToolkit * m_tk
The streamfile toolkit to be used.
Definition: HIOManager.h:476
HDwgViewVector m_eDwgViewVector
Definition: HIOManager.h:619
struct vlist_s * m_listDWGLayouts
Definition: HIOManager.h:523
bool m_bForceReimport
Applies to HIO_DWG module. If true, re-imports DWG files (master and all xrefs) even if their corresp...
Definition: HIOManager.h:514
bool m_bImportMetadata
HIO_DWG and HIO_SKP import option: Set to true if you want to import the metadata (xdata) along with ...
Definition: HIOManager.h:494
struct vhash_s * mhash_Kernel2Hoops
A hash map between kernel entities and HOOPS Keys.
Definition: HIOManager.h:218
void(* m_pPRCMultiModelSelectionCallback)(char const *in_container, int in_num_configs, char const **in_configs, int &out_config_selection)
Applies to HIO_Exchange and HIO_Publish. Function pointer for interactive multi-model loading...
Definition: HIOManager.h:570
int m_iDGNCellHeaderOption
Applies to HIO_DWG module. Contains options about how cell header should be imported.
Definition: HIOManager.h:542
Specifies using the active viewport in the DWG file if present (if no active viewport is present...
Definition: HIOManager.h:238
HIOConnector * m_pPRCPMIConnector
Applies to HIO_Exchange and HIO_Publish. Pointer to connector class. If not null, PRC PMI entities wi...
Definition: HIOManager.h:562
bool m_bDwgDepthRangeDrawOrder
Definition: HIOManager.h:643
bool m_bPRCMergeFaces
Applies to HIO_Exchange and HIO_Publish. If true individual faces will be merged into one shell...
Definition: HIOManager.h:566
bool m_bImportWireframeForBrep
Applies to HIO_DWG module. Set to true if you want to import the wireframe representation for BRep so...
Definition: HIOManager.h:508
HBaseView * m_pHBaseView
A pointer to the HBaseView object for this input.
Definition: HIOManager.h:464
bool m_bImportAllLayouts
Definition: HIOManager.h:585
bool m_bImportThumbnail
Applies to HIO_DWF. if true then Thumbnail are imported in the DWF file.
Definition: HIOManager.h:606
Specifies using the view determined by the camera in the scene segment.
Definition: HIOManager.h:239
bool m_bLocal
The value is true if the image will have the local attribute.
Definition: HIOManager.h:473