00001 /*========================================================================= 00002 00003 Program: F.R.E.E. - flexible registration evaluation engine 00004 Version: v.1.0.0 00005 Date: $Date: 2006/09/01 12:00:00 $ 00006 Module: $RCSfile: frePointSupportedMetricCtrlrs.h,v $ 00007 Language: C++ 00008 00009 00010 00011 Copyright (c) 2003 University Heidelberg, University of applied science Heilbronn. 00012 All rights reserved. 00013 00014 Portions of this code are covered under the ITK copyright. 00015 See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details. 00016 00017 Portions of this code are covered under the VTK copyright. 00018 See VTKCopyright.txt or http://www.kitware.com/VTKCopyright.htm for details. 00019 00020 This software is distributed WITHOUT ANY WARRANTY; without even 00021 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00022 PURPOSE. See the above copyright notices for more information. 00023 00024 =========================================================================*/ 00025 #ifndef __frePointSupportedMetricCtrlrs_h 00026 #define __frePointSupportedMetricCtrlrs_h 00027 00028 #include "freElementals.h" 00029 #include "freControllerBase.h" 00030 #include "freControllerCentral.h" 00031 00032 namespace FREE 00033 { 00034 00035 #ifndef __FREE_DISABLE_DLL_INTERFACE 00036 00037 namespace 00038 { 00039 extern "C" 00040 #ifdef _WIN32 00041 __declspec( dllexport ) 00042 #endif 00043 void FREEGetControllerList(int& iControllerCount, const char**& pControllerIDs); 00044 00045 extern "C" 00046 #ifdef _WIN32 00047 __declspec( dllexport ) 00048 #endif 00049 GenericComponentController* FREECreateController(const char* pControllerID); 00050 00051 extern "C" 00052 #ifdef _WIN32 00053 __declspec( dllexport ) 00054 #endif 00055 bool FREEDeleteController (GenericComponentController* pController); 00056 00057 extern "C" 00058 #ifdef _WIN32 00059 __declspec( dllexport ) 00060 #endif 00061 void FREELinkCentralAsDedicated (::FREE::ControllerCentral::ControllerListType* pDedicatedControllerList, 00062 ::FREE::ControllerCentral::LibraryHandleListType* pDedicatedLibraryHandles, 00063 ::FREE::ProgressEventBase* pfnOnControl, ::FREE::ProgressEventBase* pfnOnBuild, 00064 ::FREE::ControllerCentral::CtrlCallbackListType* pCtrlCallbackList, 00065 ::FREE::ControllerCentral::CtrlProgressListType* pCtrlProgressList, 00066 ::itk::MutexLock* pGlobalCallbackMutex, 00067 ::itk::MutexLock* pGlobalProgressMutex); 00068 } 00069 00070 #endif //__FREE_USEComponentDLLs 00071 00072 class PointSupportedMetricCtrlrs 00073 { 00074 public: 00075 static void RegisterAllControllers(ControllerCentral* pCentral); 00076 00077 static void GetControllerList(int& iControllerCount, const char**& pControllerIDs); 00078 static GenericComponentController* CreateController(const char* pControllerID); 00079 00080 }; 00081 00082 00083 } //end of namespace free 00084 00085 #endif
1.5.3 written by Dimitri van Heesch,
© 1997-2000