Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HIOUtilityPDF.h
1 // Copyright (c) 1998-2014 by Tech Soft 3D, Inc.
2 //
3 // The information contained herein is confidential and proprietary to Tech Soft 3D, Inc.,
4 // and considered a trade secret as defined under civil and criminal statutes.
5 // Tech Soft 3D, Inc. shall pursue its civil and criminal remedies in the event of
6 // unauthorized use or misappropriation of its trade secrets. Use of this information
7 // by anyone other than authorized employees of Tech Soft 3D, Inc. is granted only under
8 // a written non-disclosure agreement, expressly prescribing the scope and manner of such use.
9 
10 #ifndef _HIOUTILITYPDF_H
11 #define _HIOUTILITYPDF_H
12 
13 #ifdef H_PACK_8
14 #pragma pack(push)
15 #pragma pack(8)
16 #endif
17 
18 #include "HTools.h"
19 #include "HIOManager.h"
20 #include "HDB.h"
21 #include <string>
22 #include <map>
23 
24 
25 
32 class MVO_API HU3DOptions
33 {
34 public:
36  HU3DOptions() {Reset();};
38  void Reset(){
39  m_bExportLines = m_bExportAnnotations = false;
40  };
41 
43  bool m_bExportLines;
46 
48  bool ExportLines() const {return m_bExportLines;};
50  void ExportLines(bool onoff) {m_bExportLines = onoff;};
52  bool ExportAnnotations() const {return m_bExportAnnotations;};
54  void ExportAnnotations(bool onoff) {m_bExportAnnotations = onoff;};
55 };
56 
59 class MVO_API HIOUtilityPDF: public HOutputHandler
60 {
61 public:
65  };
66 
67  ~HIOUtilityPDF() {;};
68 
71  const char * GetOutputName() { return "HIOUtilityPDF"; }
72 
75  HC_Begin_Segment_Search("/driver/pdf");{
76  char seg[100];
77  while(HC_Find_Segment(seg)){
78  if(strieq(seg, "/driver/pdf")){
79  HIORegisterOutputType("pdf",this);
80  break;
81  }
82  }
84  };
85 
87  const char * GetOutputTypesString() {return "pdf";};
90 
92  const char * GetOutputDefaultHSRA() {return "painters";};
93 
97  bool Has3dSupport(){
98  return HDB::GetHIOManager()->GetOutputHandler("u3d") != 0;
99  }
100 
107  HFileOutputResult FileOutputByKey(const __wchar_t * filename, HC_KEY key, HOutputHandlerOptions * options);
108 
109 #ifdef _MSC_VER
110  HFileOutputResult FileOutputByKey(const unsigned short * filename, HC_KEY key, HOutputHandlerOptions * options){
111  H_UTF16 utf16;
112  utf16.encodedText((utf16_char const*) filename);
113  return FileOutputByKey(H_WCS(utf16).encodedText(), key, options);
114  }
115 #endif
116 
117  HFileOutputResult FileOutputByKey(const char * filename, HC_KEY key, HOutputHandlerOptions * options){
118  return FileOutputByKey(H_WCS(filename).encodedText(), key, options);
119  }
120 
121 protected:
128  HFileOutputResult FileOutputByKey2D(const __wchar_t * filename, HC_KEY key, HOutputHandlerOptions * options);
129  HFileOutputResult FileOutputByKey2D(const char * filename, HC_KEY key, HOutputHandlerOptions * options){
130  return FileOutputByKey2D((__wchar_t*)H_WCS(filename).encodedText(), key, options);
131  }
132 
133 
134 };
135 
136 
137 #ifdef H_PACK_8
138 #pragma pack(pop)
139 #endif
140 
141 #endif
bool ExportLines() const
Definition: HIOUtilityPDF.h:48
virtual HFileOutputResult FileOutputByKey(const char *filename, HC_KEY key, HOutputHandlerOptions *options)
void ExportLines(bool onoff)
Definition: HIOUtilityPDF.h:50
HIOUtilityPDF()
Definition: HIOUtilityPDF.h:63
void ExportAnnotations(bool onoff)
Definition: HIOUtilityPDF.h:54
#define HOutputOpFileOutputByKey
This HOutputHandler supports output from a segment key.
Definition: HIOManager.h:72
void HC_End_Segment_Search(void)
Definition: HIOUtilityPDF.h:59
bool ExportAnnotations() const
Definition: HIOUtilityPDF.h:52
HOutputHandlerStyle
Definition: HIOManager.h:862
Specifies an HOutputHandler for an image.
Definition: HIOManager.h:866
HOutputHandler an abstract base class for model and image output.
Definition: HIOManager.h:1225
void RegisterOutputHandlerTypes()
Definition: HIOUtilityPDF.h:74
virtual HOutputHandler * GetOutputHandler(const char *file_type)
#define HIORegisterOutputType(type, output_object)
HIORegisterOutputType(type,output_object) Used by a HOutputHandler to set extension types that it han...
Definition: HIOManager.h:89
const char * GetOutputDefaultHSRA()
Definition: HIOUtilityPDF.h:92
HOutputHandlerStyle GetOutputStyle()
Definition: HIOUtilityPDF.h:89
Definition: HIOManager.h:908
const char * GetOutputName()
Definition: HIOUtilityPDF.h:71
Definition: HIOUtilityPDF.h:32
HU3DOptions()
Definition: HIOUtilityPDF.h:36
static HIOManager * GetHIOManager()
bool m_bExportAnnotations
Definition: HIOUtilityPDF.h:45
const char * GetOutputTypesString()
Definition: HIOUtilityPDF.h:87
HFileOutputResult FileOutputByKey(const char *filename, HC_KEY key, HOutputHandlerOptions *options)
Definition: HIOUtilityPDF.h:117
void SetOutputOps(unsigned long ops)
This sets the HOutputOp.
Definition: HIOManager.h:1390
A header file containing the HIO classes for passing to HBaseView::FileInput and HBaseView::FileOutpu...
HC_BOOLEAN HC_Find_Segment(char *segment)
void Reset()
Definition: HIOUtilityPDF.h:38
void HC_Begin_Segment_Search(const char *segspec)
bool Has3dSupport()
Definition: HIOUtilityPDF.h:97