Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HIOUtilityPrc.h
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 // $Id: 27b888846f83d0a1ec57d7f32021a059cdcd3671 $
13 //
14 
15 #ifndef _HIOUTILITYPRC_H
16 #define _HIOUTILITYPRC_H
17 
18 
19 #ifdef H_PACK_8
20 #pragma pack(push)
21 #pragma pack(8)
22 #endif
23 
24 #include "HTools.h"
25 #include "HIOManager.h"
26 #include "varray.h"
27 
28 
33 class MVO_API HIOUtilityPrc: public HInputHandler
34 {
35 
36 public:
37 
41  };
42  virtual ~HIOUtilityPrc() {;};
43 
46  const char * GetOutputName() { return "HIOUtilityPrc"; }
47  const char * GetInputName() { return "HIOUtilityPrc"; }
48 
51  HIORegisterInputType("prc",this);
52  HIORegisterInputType("u3d",this);
53  };
54 
55 
57  const char * GetInputTypesString() {return "prc;u3d";};
58 
61 
69  HFileInputResult FileInputByKey(const __wchar_t * FileName, HC_KEY key, HInputHandlerOptions * options);
70 
71  HFileInputResult FileInputByKey(const char * FileName, HC_KEY key, HInputHandlerOptions * options){
72  return FileInputByKey(H_WCS(FileName).encodedText(), key, options);
73  };
74 
75  HFileInputResult FileInputByKey(const unsigned short * FileName, HC_KEY key, HInputHandlerOptions * options){
76  H_UTF16 utf16;
77  utf16.encodedText((utf16_char const*) FileName);
78  return FileInputByKey(H_WCS(utf16).encodedText(), key, options);
79  };
80 
81 
82 
83 private:
84 
85  static struct prc_info
86  {
87  FILE *f;
88  bool is_ascii;
89  HC_KEY start_segment;
90  HC_KEY copy_segment;
91  int triangle_count;
92  } prc_info_s;
93 
94  static struct include_list
95  {
96  HC_KEY include;
97  include_list *next;
98  } include_list_s;
99 
100  static HFileInputResult ReadPrcFile(const __wchar_t *FileName);
101 /*
102  static HFileOutputResult ComputeStlTriangles(HC_KEY the_key, stl_info *info, HOutputHandlerOptions *options, bool no_recurse=false, float *matrix_for_segment_reference=0 );*/
103 };
104 
105 
106 #ifdef H_PACK_8
107 #pragma pack(pop)
108 #endif
109 
110 #endif
void RegisterInputHandlerTypes()
Definition: HIOUtilityPrc.h:50
Specifies an HInputHandler for model data.
Definition: HIOManager.h:227
virtual HFileInputResult FileInputByKey(const char *filename, HC_KEY key, HInputHandlerOptions *options)
HInputHandler an abstract base class for model and image input.
Definition: HIOManager.h:667
#define HC_KEY
HFileInputResult FileInputByKey(const unsigned short *FileName, HC_KEY key, HInputHandlerOptions *options)
Definition: HIOUtilityPrc.h:75
Definition: HIOUtilityPrc.h:33
const char * GetOutputName()
Definition: HIOUtilityPrc.h:46
#define HIORegisterInputType(type, input_object)
Definition: HIOManager.h:87
const char * GetInputName()
Definition: HIOUtilityPrc.h:47
HIOUtilityPrc()
Definition: HIOUtilityPrc.h:39
HFileInputResult FileInputByKey(const char *FileName, HC_KEY key, HInputHandlerOptions *options)
Definition: HIOUtilityPrc.h:71
HInputHandlerStyle
Definition: HIOManager.h:226
#define HInputOpFileInputByKey
This HInputHandler supports input to a segment key.
Definition: HIOManager.h:60
HInputHandlerStyle GetInputStyle()
Definition: HIOUtilityPrc.h:60
Definition: HIOManager.h:247
void SetInputOps(unsigned long ops)
This sets the HInputOp.
Definition: HIOManager.h:836
A header file containing the HIO classes for passing to HBaseView::FileInput and HBaseView::FileOutpu...
const char * GetInputTypesString()
Definition: HIOUtilityPrc.h:57