Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HIOUtilitySKP.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 
14 #ifndef _HIO_UTILITY_SKP_2__02052008_1230_
15 #define _HIO_UTILITY_SKP_2__02052008_1230_
16 
17 #ifdef H_PACK_8
18 #pragma pack(push)
19 #pragma pack(8)
20 #endif
21 
22 //#import "SketchUp.tlb" rename_namespace("SketchUp"), no_auto_exclude, rename("LoadImage", "Load_Image")
23 
24 #include "HSKPHelper.h"
25 
26 #include "HTools.h"
27 #include "HIOManager.h"
28 
29 #ifdef HIO_SKP
30 #define HIO_API __declspec (dllexport)
31 #else
32 #define HIO_API
33 #endif
34 
38 class HIO_API HIOUtilitySKP : public HInputHandler
39 {
40 
41 private:
42 
43  HMODULE m_rHModule;
44  HSKPImporter* m_bImporter;
45 
46 public:
47 
48  CComPtr<ISkpApplication> m_pApp;
51  {
52  m_pApp = 0;
54  };
55 
56  ~HIOUtilitySKP()
57  {
58 
59  };
60 
63  const char * GetOutputName() { return "HIOUtilitySKP"; }
64  const char * GetInputName() { return "HIOUtilitySKP"; }
65 
68  HIORegisterInputType("SKP",this); // SKP (Google SketchUp's Format)
69  HIORegisterInputType("skp",this); // skp (Google SketchUp's Format)
70  };
71 
74 
76  const char * GetInputTypesString() {return "skp";};
77 
84  HFileInputResult FileInputByKey(const char * FileName, HC_KEY key, HInputHandlerOptions * options);
85 
86  HFileInputResult FileInputByKey(const wchar_t * FileName, HC_KEY key, HInputHandlerOptions * options);
87 
94  HFileInputResult FileInputByKey(const unsigned short * FileName, HC_KEY key, HInputHandlerOptions * options);
95 
99  bool InitSKP();
100 
102  void ShutdownSKP();
103 };
104 
105 #ifdef HIO_SKP
106 extern "C" {
107  HIO_API void * CreateInput(HIOManager *manager);
108  HIO_API void * CreateOutput(HIOManager *manager);
109  HIO_API void * CreateConnector(void *unused);
110  HIO_API void Free(HIOUtilitySKP *);
111  HIO_API void FreeConnector(HIOConnector *connector);
112 }
113 #endif
114 
115 
116 
117 #ifdef H_PACK_8
118 #pragma pack(pop)
119 #endif
120 
121 #endif //_HIO_UTILITY_SKP_2__02052008_1230_
122 
123 
124 
125 
126 
127 
void RegisterInputHandlerTypes()
Definition: HIOUtilitySKP.h:67
Specifies an HInputHandler for model data.
Definition: HIOManager.h:227
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
HIOUtilitySKP()
Definition: HIOUtilitySKP.h:50
#define HIORegisterInputType(type, input_object)
Definition: HIOManager.h:87
const char * GetInputTypesString()
Definition: HIOUtilitySKP.h:76
HInputHandlerStyle
Definition: HIOManager.h:226
#define HInputOpFileInputByKey
This HInputHandler supports input to a segment key.
Definition: HIOManager.h:60
HInputHandlerStyle GetInputStyle()
Definition: HIOUtilitySKP.h:73
Definition: HIOManager.h:247
const char * GetOutputName()
Definition: HIOUtilitySKP.h:63
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 * GetInputName()
Definition: HIOUtilitySKP.h:64
Definition: HSKPHelper.h:96
Definition: HIOUtilitySKP.h:38