00001 /* 00002 * Copyright (c) 2009 by Tech Soft 3D, LLC. 00003 * The information contained herein is confidential and proprietary to 00004 * Tech Soft 3D, LLC., and considered a trade secret as defined under 00005 * civil and criminal statutes. Tech Soft 3D shall pursue its civil 00006 * and criminal remedies in the event of unauthorized use or misappropriation 00007 * of its trade secrets. Use of this information by anyone other than 00008 * authorized employees of Tech Soft 3D, LLC. is granted only under a 00009 * written non-disclosure agreement, expressly prescribing the scope and 00010 * manner of such use. 00011 * 00012 * $Id$ 00013 */ 00014 00015 #ifndef _HIOUTILITYOOC_H 00016 #define _HIOUTILITYOOC_H 00017 00018 #include "HIOManager.h" 00019 #include "utf_utils.h" 00020 00021 #ifdef _MSC_VER 00022 #define HIO_API __declspec (dllexport) 00023 #else 00024 #define HIO_API 00025 #endif 00026 00027 class HIO_API HOOCOptions { 00028 public: 00029 HOOCOptions () {}; 00030 ~HOOCOptions () {}; 00031 }; 00032 00037 class HIO_API HIOUtilityOOC : public HInputHandler { 00038 public: 00040 HIOUtilityOOC (); 00041 ~HIOUtilityOOC (); 00042 00043 00050 HFileInputResult FileInputByKey ( wchar_t const * filename, HC_KEY key, HInputHandlerOptions * options ); 00051 HFileInputResult FileInputByKey ( char const * filename, HC_KEY key, HInputHandlerOptions * options ) { 00058 return FileInputByKey(H_WCS(filename).encodedText(), key, options); 00059 }; 00060 00061 char const * GetInputName () { return "HIOUtilityOOC"; }; 00062 char const * GetInputTypesString () { return "ooc"; }; 00063 HInputHandlerStyle GetInputStyle () { return HInputHandlerStyleModel; }; 00064 void RegisterInputHandlerTypes (); 00065 00066 static bool FreePointCloudData ( int signal, void * signal_data, void * user_data ); 00067 static bool UpdateCheck ( float request_time, float actual_time, void * user_data ); 00068 }; 00069 00070 #ifdef HIO_OOC_IMPORT 00071 extern "C" { 00072 HIO_API void * CreateInput ( HIOManager * manager ); 00073 HIO_API void * CreateOutput ( HIOManager * manager ); 00074 HIO_API void * CreateConnector ( void * unused ); 00075 HIO_API void Free ( HIOUtilityOOC * handler ); 00076 HIO_API void FreeConnector ( HIOConnector * connector ); 00077 } 00078 #endif 00079 00080 #endif // _HIOUTILITYOOC_H