HIOUtilityObj.h
1 // Copyright (c) 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 _HIOUTILITYOBJ_H
11 #define _HIOUTILITYOBJ_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 
60 class MVO_API HIOUtilityObj: public HInputHandler, public HOutputHandler
61 {
62 
63 public:
64 
68  };
69  virtual ~HIOUtilityObj() {;};
70 
73  const char * GetOutputName() { return "HIOUtilityObj"; }
74  const char * GetInputName() { return "HIOUtilityObj"; }
75 
76 
79  HIORegisterInputType("obj",this);
80  }
81 
83  const char * GetInputTypesString() {return "obj";};
84 
87 
96  HFileInputResult FileInputByKey(const __wchar_t * FileName, HC_KEY key, HInputHandlerOptions * options);
97 
98  HFileInputResult FileInputByKey(const char * FileName, HC_KEY key, HInputHandlerOptions * options){
99  return FileInputByKey(H_WCS(FileName).encodedText(), key, options);
100  };
101 
102  HFileInputResult FileInputByKey(const unsigned short * FileName, HC_KEY key, HInputHandlerOptions * options){
103  H_UTF16 utf16;
104  utf16.encodedText((utf16_char const*) FileName);
105  return FileInputByKey(H_WCS(utf16).encodedText(), key, options);
106  };
107 
110  HIORegisterOutputType("OBJ",this);
111  HIORegisterOutputType("obj",this);
112  };
113 
115  HOutputHandlerStyle GetOutputStyle() {return HOutputHandlerStyleModel;};
116 
118  const char * GetOutputTypesString()
119  {return "obj";};
120 
128  HFileOutputResult FileOutputByKey(const __wchar_t * filename, HC_KEY key, HOutputHandlerOptions * options);
129 
130  HFileOutputResult FileOutputByKey(const unsigned short * filename, HC_KEY key, HOutputHandlerOptions * options){
131  H_UTF16 utf16;
132  utf16.encodedText((utf16_char const*) filename);
133  return FileOutputByKey(H_WCS(utf16).encodedText(), key, options);
134  }
135 
136  HFileOutputResult FileOutputByKey(const char * filename, HC_KEY key, HOutputHandlerOptions * options){
137  return FileOutputByKey(H_WCS(filename).encodedText(), key, options);
138  }
139 };
140 
141 
142 #ifdef H_PACK_8
143 #pragma pack(pop)
144 #endif
145 
146 #endif
virtual HFileOutputResult FileOutputByKey(const char *filename, HC_KEY key, HOutputHandlerOptions *options)
Specifies an HInputHandler for model data.
Definition: HIOManager.h:226
const char * GetInputTypesString()
Definition: HIOUtilityObj.h:83
virtual HFileInputResult FileInputByKey(const char *filename, HC_KEY key, HInputHandlerOptions *options)
HInputHandler an abstract base class for model and image input.
Definition: HIOManager.h:671
HOutputHandlerStyle
Definition: HIOManager.h:862
HOutputHandler an abstract base class for model and image output.
Definition: HIOManager.h:1269
void RegisterInputHandlerTypes()
Definition: HIOUtilityObj.h:78
#define HIORegisterInputType(type, input_object)
Definition: HIOManager.h:85
Definition: HIOUtilityObj.h:60
HInputHandlerStyle GetInputStyle()
Definition: HIOUtilityObj.h:86
#define HIORegisterOutputType(type, output_object)
HIORegisterOutputType(type,output_object) Used by a HOutputHandler to set extension types that it han...
Definition: HIOManager.h:90
const char * GetOutputTypesString()
Definition: HIOUtilityObj.h:118
HInputHandlerStyle
Definition: HIOManager.h:225
Definition: HIOManager.h:908
HIOUtilityObj()
Definition: HIOUtilityObj.h:66
HOutputHandlerStyle GetOutputStyle()
Definition: HIOUtilityObj.h:115
void RegisterOutputHandlerTypes()
Definition: HIOUtilityObj.h:109
const char * GetOutputName()
Definition: HIOUtilityObj.h:73
#define HInputOpFileInputByKey
This HInputHandler supports input to a segment key.
Definition: HIOManager.h:58
Definition: HIOManager.h:246
void SetInputOps(unsigned long ops)
This sets the HInputOp.
Definition: HIOManager.h:841
A header file containing the HIO classes for passing to HBaseView::FileInput and HBaseView::FileOutpu...
const char * GetInputName()
Definition: HIOUtilityObj.h:74