00001 // Copyright (c) 1998-2014 by Tech Soft 3D, Inc. 00002 // 00003 // The information contained herein is confidential and proprietary to Tech Soft 3D, Inc., 00004 // and considered a trade secret as defined under civil and criminal statutes. 00005 // Tech Soft 3D, Inc. shall pursue its civil and criminal remedies in the event of 00006 // unauthorized use or misappropriation of its trade secrets. Use of this information 00007 // by anyone other than authorized employees of Tech Soft 3D, Inc. is granted only under 00008 // a written non-disclosure agreement, expressly prescribing the scope and manner of such use. 00009 00010 #ifndef _HIO_UTILITY_DGN_2__02052008_1230_ 00011 #define _HIO_UTILITY_DGN_2__02052008_1230_ 00012 00013 #ifdef H_PACK_8 00014 #pragma pack(push) 00015 #pragma pack(8) 00016 #endif 00017 00018 #include "HTools.h" 00019 #include "HIOManager.h" 00020 00021 00022 #ifdef HIO_DGN 00023 #define HIO_API __declspec (dllexport) 00024 #else 00025 #define HIO_API 00026 #endif 00027 00034 class HIO_API HIOUtilityDGN : public HInputHandler 00035 { 00036 00037 00038 public: 00039 00041 HIOUtilityDGN() 00042 { 00043 SetInputOps(HInputOpFileInputByKey); 00044 }; 00045 00046 ~HIOUtilityDGN() {;}; 00047 00049 void RegisterInputHandlerTypes() { 00050 HIORegisterInputType("DGN",this); // DGN (Bentley's CAD format) 00051 HIORegisterInputType("dgn",this); // DGN (Bentley's CAD format) 00052 }; 00053 00056 const char * GetOutputName() { return "HIOUtilityDGN"; } 00057 const char * GetInputName() { return "HIOUtilityDGN"; } 00058 00060 HInputHandlerStyle GetInputStyle() {return HInputHandlerStyleModel;}; 00061 00063 const char * GetInputTypesString() {return "dgn";}; 00064 00071 HFileInputResult FileInputByKey(const char * FileName, HC_KEY key, HInputHandlerOptions * options); 00072 00073 HFileInputResult FileInputByKey(const wchar_t * FileName, HC_KEY key, HInputHandlerOptions * options); 00074 00081 HFileInputResult FileInputByKey(const unsigned short * FileName, HC_KEY key, HInputHandlerOptions * options); 00082 00083 00085 void InitDGNDirect(); 00086 00088 void ShutdownDGNDirect(); 00089 00090 }; 00091 00092 #ifdef HIO_DGN 00093 extern "C" { 00094 HIO_API void * CreateInput(HIOManager *manager); 00095 HIO_API void * CreateOutput(HIOManager *manager); 00096 HIO_API void * CreateConnector(void *unused); 00097 HIO_API void Free(HIOUtilityDGN *); 00098 HIO_API void FreeConnector(HIOConnector *connector); 00099 } 00100 #endif 00101 00102 00103 00104 #ifdef H_PACK_8 00105 #pragma pack(pop) 00106 #endif 00107 00108 #endif //_HIO_UTILITY_DGN_2__02052008_1230_ 00109 00110 00111 00112 00113 00114