Introduction

Getting Started

Programming Guides

API Reference

Additional Resources

HIOUtilityExchange.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 _HIOUTILITYEXCHANGE_H
11 #define _HIOUTILITYEXCHANGE_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 "vlist.h"
21 
22 #if defined(HIO_EXCHANGE) && defined(_MSC_VER)
23 #define HIO_API __declspec (dllexport)
24 #elif defined(HIO_EXCHANGE) && defined(LINUX_SYSTEM)
25 #define HIO_API __attribute__ ((visibility ("default")))
26 #else
27 #define HIO_API
28 #endif
29 
30 class HPDFLayoutManager;
31 class HPDFOptions;
36 class HIO_API HIOUtilityExchange: public HInputHandler, public HOutputHandler
37 {
38 
39 public:
40 
43  virtual ~HIOUtilityExchange() {};
44 
49  const char * GetOutputName() { return "HIOUtilityExchange"; }
50  const char * GetInputName() { return "HIOUtilityExchange"; }
51 
53  const char * GetInputTypesString() {return "prc;prd;x_t;x_b;step;stp;igs;iges;CATPart;CATProduct;"
54  "cgr;session;model;3dxml;CADDS;PD;XV3;XV0;prt;asm;xpr;xas;neu;asm.1;prt.1;jt;SLDPRT;SLDASM;mf1;"
55  "arc;unv;pkg;sdp;sdpc;sdw;sdwc;sda;sdac;sds;sdsc;ses;bdl;psm;pwd;par;asm;sat;sab;ipt;iam;ifc;dae"; }
56 
57 
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  HFileOutputResult FileOutputByKey(const wchar_t * filename, HC_KEY key, HOutputHandlerOptions * options);
82 
83  HFileOutputResult FileOutputByKey(const unsigned short * filename, HC_KEY key, HOutputHandlerOptions * options){
84  H_UTF16 utf16;
85  utf16.encodedText((utf16_char const*) filename);
86  return FileOutputByKey(H_WCS(utf16).encodedText(), key, options);
87  }
88 
89  HFileOutputResult FileOutputByKey(const char * filename, HC_KEY key, HOutputHandlerOptions * options){
90  return FileOutputByKey(H_WCS(filename).encodedText(), key, options);
91  }
92 
94 
101  virtual void *BuildPRCModel(HOutputHandlerOptions * options, HC_KEY key);
102 
103 
104  const char * GetOutputTypesString() {
105  return "prc;iges;step;x_t;stl";
106  }
107 
109  return HOutputHandlerStyleModel;
110  }
111 };
112 
113 
114 
115 #ifdef HIO_EXCHANGE
116 extern "C" {
117  HIO_API void * CreateInput(HIOManager *manager);
118  HIO_API void * CreateOutput(HIOManager *manager);
119  HIO_API void * CreateConnector(void * unused);
120  HIO_API void Free(HIOUtilityExchange *);
121  }
122 
123 
124 #endif
125 
126 #ifdef H_PACK_8
127 #pragma pack(pop)
128 #endif
129 
130 #endif
Definition: HIOManager.h:1407
virtual HFileOutputResult FileOutputByKey(const char *filename, HC_KEY key, HOutputHandlerOptions *options)
virtual void RegisterInputHandlerTypes()=0
const char * GetInputName()
Definition: HIOUtilityExchange.h:50
const char * GetOutputName()
Definition: HIOUtilityExchange.h:49
Specifies an HInputHandler for model data.
Definition: HIOManager.h:226
HOutputHandlerStyle GetOutputStyle()
Definition: HIOUtilityExchange.h:108
HFileOutputResult FileOutputByKey(const char *filename, HC_KEY key, HOutputHandlerOptions *options)
Definition: HIOUtilityExchange.h:89
virtual HFileInputResult FileInputByKey(const char *filename, HC_KEY key, HInputHandlerOptions *options)
HInputHandler an abstract base class for model and image input.
Definition: HIOManager.h:628
HInputHandlerStyle GetInputStyle()
Definition: HIOUtilityExchange.h:60
HFileInputResult FileInputByKey(const unsigned short *FileName, HC_KEY key, HInputHandlerOptions *options)
Definition: HIOUtilityExchange.h:75
HOutputHandlerStyle
Definition: HIOManager.h:819
HOutputHandler an abstract base class for model and image output.
Definition: HIOManager.h:1220
virtual void RegisterOutputHandlerTypes()=0
HFileOutputResult FileOutputByKey(const unsigned short *filename, HC_KEY key, HOutputHandlerOptions *options)
Definition: HIOUtilityExchange.h:83
HFileInputResult FileInputByKey(const char *FileName, HC_KEY key, HInputHandlerOptions *options)
Definition: HIOUtilityExchange.h:71
HInputHandlerStyle
Definition: HIOManager.h:225
Definition: HIOManager.h:865
const char * GetInputTypesString()
Definition: HIOUtilityExchange.h:53
Definition: HIOUtilityPublish.h:135
Definition: HIOUtilityExchange.h:36
Definition: HIOManager.h:246
A header file containing the HIO classes for passing to HBaseView::FileInput and HBaseView::FileOutpu...
const char * GetOutputTypesString()
Definition: HIOUtilityExchange.h:104