Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HIOUtilityU3D.h
1 //
2 // Copyright (c) 2005 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 #ifndef _HIOUTILITYU3D_H
14 #define _HIOUTILITYU3D_H
15 
16 #ifdef H_PACK_8
17 #pragma pack(push)
18 #pragma pack(8)
19 #endif
20 
21 #include "HTools.h"
22 #include "HIOManager.h"
23 
24 #ifdef HIO_U3D
25 #define HIO_API __declspec (dllexport)
26 #else
27 #define HIO_API
28 #endif
29 
41 class HIO_API HIOUtilityU3D: public HInputHandler, public HOutputHandler
42 {
43 
44 public:
48  SetOutputOps(HOutputOpFileOutputByKey);
49  };
50 
51  ~HIOUtilityU3D() {;};
52 
55  const char * GetOutputName() { return "HIOUtilityU3D"; }
56  const char * GetInputName() { return "HIOUtilityU3D"; }
57 
58 
61  // TODO: Import U3D
62  HIORegisterInputType("U3D",this);
63  HIORegisterInputType("u3d",this);
64  };
65 
68 
70  const char * GetInputTypesString()
71  {return "u3d";};
72 
79  HFileInputResult FileInputByKey(const __wchar_t * FileName, HC_KEY key, HInputHandlerOptions * options);
80 
81  HFileInputResult FileInputByKey(const char * FileName, HC_KEY key, HInputHandlerOptions * options){
82  return FileInputByKey(H_WCS(FileName).encodedText(), key, options);
83  };
84 
85  HFileInputResult FileInputByKey(const unsigned short * FileName, HC_KEY key, HInputHandlerOptions * options){
86  H_UTF16 utf16;
87  utf16.encodedText((utf16_char const*) FileName);
88  return FileInputByKey(H_WCS(utf16).encodedText(), key, options);
89  };
90 
91 
94  HIORegisterOutputType("U3D",this);
95  HIORegisterOutputType("u3d",this);
96  };
97 
99  HOutputHandlerStyle GetOutputStyle() {return HOutputHandlerStyleModel;};
100 
102  const char * GetOutputTypesString()
103  {return "u3d";};
104 
112  HFileOutputResult FileOutputByKey(const __wchar_t * filename, HC_KEY key, HOutputHandlerOptions * options);
113 
114  HFileOutputResult FileOutputByKey(const unsigned short * filename, HC_KEY key, HOutputHandlerOptions * options){
115  H_UTF16 utf16;
116  utf16.encodedText((utf16_char const*) filename);
117  return FileOutputByKey(H_WCS(utf16).encodedText(), key, options);
118  }
119 
120  HFileOutputResult FileOutputByKey(const char * filename, HC_KEY key, HOutputHandlerOptions * options){
121  return FileOutputByKey(H_WCS(filename).encodedText(), key, options);
122  }
123 
124 };
125 
126 #ifdef HIO_U3D
127 extern "C" {
128  HIO_API void * CreateInput(HIOManager *manager);
129  HIO_API void * CreateOutput(HIOManager *manager);
130  HIO_API void * CreateConnector(void * unused);
131  HIO_API void Free(HIOUtilityU3D *);
132  HIO_API void FreeConnector(HIOConnector *connector);
133 }
134 #endif
135 
136 
137 
138 #ifdef H_PACK_8
139 #pragma pack(pop)
140 #endif
141 
142 #endif
HFileInputResult FileInputByKey(const unsigned short *FileName, HC_KEY key, HInputHandlerOptions *options)
Definition: HIOUtilityU3D.h:85
Specifies an HInputHandler for model data.
Definition: HIOManager.h:227
#define HOutputOpFileOutputByKey
This HOutputHandler supports output from a segment key.
Definition: HIOManager.h:75
virtual HFileInputResult FileInputByKey(const char *filename, HC_KEY key, HInputHandlerOptions *options)
Definition: HIOManager.h:149
HInputHandler an abstract base class for model and image input.
Definition: HIOManager.h:667
void RegisterInputHandlerTypes()
Definition: HIOUtilityU3D.h:60
HInputHandlerStyle GetInputStyle()
Definition: HIOUtilityU3D.h:67
HOutputHandlerStyle
Definition: HIOManager.h:858
#define HIORegisterInputType(type, input_object)
Definition: HIOManager.h:87
HFileInputResult FileInputByKey(const char *FileName, HC_KEY key, HInputHandlerOptions *options)
Definition: HIOUtilityU3D.h:81
#define HIORegisterOutputType(type, output_object)
HIORegisterOutputType(type,output_object) Used by a HOutputHandler to set extension types that it han...
Definition: HIOManager.h:92
HInputHandlerStyle
Definition: HIOManager.h:226
void RegisterOutputHandlerTypes()
Definition: HIOUtilityU3D.h:93
const char * GetInputName()
Definition: HIOUtilityU3D.h:56
const char * GetOutputTypesString()
Definition: HIOUtilityU3D.h:102
HOutputHandlerStyle GetOutputStyle()
Definition: HIOUtilityU3D.h:99
#define HInputOpFileInputByKey
This HInputHandler supports input to a segment key.
Definition: HIOManager.h:60
HIOUtilityU3D()
Definition: HIOUtilityU3D.h:46
Definition: HIOManager.h:247
void SetInputOps(unsigned long ops)
This sets the HInputOp.
Definition: HIOManager.h:836
const char * GetInputTypesString()
Definition: HIOUtilityU3D.h:70
A header file containing the HIO classes for passing to HBaseView::FileInput and HBaseView::FileOutpu...
Definition: HIOUtilityU3D.h:41
const char * GetOutputName()
Definition: HIOUtilityU3D.h:55