00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include "freMediaCtrlrs.h"
00023
00024 #include "freMediaContainerController.h"
00025 #include "freIntensityImageMediaController.h"
00026 #include "freCharImageMediaController.h"
00027 #include "freShortImageMediaController.h"
00028 #include "freRegionImageMediaController.h"
00029 #include "freTransformFieldMediaController.h"
00030 #include "freTransformFunctionMediaController.h"
00031 #include "frePointSetMediaController.h"
00032 #include "freROIController.h"
00033 #include "freMaskedROIController.h"
00034 #include "freROICoupleController.h"
00035 #include "freMaskedROICoupleController.h"
00036 #include "freMediaActualizerController.h"
00037 #include "freMediaBridgeController.h"
00038 #include "freMediaDrainController.h"
00039 #include "freParameterListMediaController.h"
00040
00041 namespace FREE
00042 {
00043
00044 #ifndef __FREE_DISABLE_DLL_INTERFACE
00045
00046 namespace
00047 {
00048
00049 extern "C"
00050 #ifdef _WIN32
00051 __declspec( dllexport )
00052 #endif
00053 void FREEGetControllerList(int& iControllerCount, const char**& pControllerIDs)
00054 {
00055 ::FREE::MediaCtrlrs::GetControllerList(iControllerCount, pControllerIDs);
00056 };
00057
00058 extern "C"
00059 #ifdef _WIN32
00060 __declspec( dllexport )
00061 #endif
00062 GenericComponentController* FREECreateController(const char* pControllerID)
00063 {
00064 return ::FREE::MediaCtrlrs::CreateController(pControllerID);
00065 };
00066
00067 extern "C"
00068 #ifdef _WIN32
00069 __declspec( dllexport )
00070 #endif
00071 bool FREEDeleteController (GenericComponentController* pController)
00072 {
00073 if (pController)
00074 {
00075 delete pController;
00076 }
00077 return true;
00078 };
00079
00080 extern "C"
00081 #ifdef _WIN32
00082 __declspec( dllexport )
00083 #endif
00084 void FREELinkCentralAsDedicated (::FREE::ControllerCentral::ControllerListType* pDedicatedControllerList,
00085 ::FREE::ControllerCentral::LibraryHandleListType* pDedicatedLibraryHandles,
00086 ::FREE::ProgressEventBase* pfnOnControl, ::FREE::ProgressEventBase* pfnOnBuild,
00087 ::FREE::ControllerCentral::CtrlCallbackListType* pCtrlCallbackList,
00088 ::FREE::ControllerCentral::CtrlProgressListType* pCtrlProgressList,
00089 ::itk::MutexLock* pGlobalCallbackMutex,
00090 ::itk::MutexLock* pGlobalProgressMutex)
00091 {
00092 ::FREE::ControllerCentral::LinkControllerCentralAsDedicated(pDedicatedControllerList,pDedicatedLibraryHandles,pfnOnControl,pfnOnBuild,pCtrlCallbackList,pCtrlProgressList,pGlobalCallbackMutex,pGlobalProgressMutex);
00093 }
00094
00095
00096 }
00097
00098 #endif // __FREE_DISABLE_DLL_INTERFACE
00099
00103
00104
00105 void MediaCtrlrs::RegisterAllControllers(ControllerCentral* pCentral)
00106 {
00107 int iCount = 0;
00108 const char** pControllerIDs = 0;
00109
00110 MediaCtrlrs::GetControllerList(iCount,pControllerIDs);
00111
00112 for (int iPos = 0; iPos < iCount; iPos++)
00113 {
00114 pCentral->RegisterController(MediaCtrlrs::CreateController(pControllerIDs[iPos]));
00115 }
00116
00117 if (pControllerIDs)
00118 delete pControllerIDs;
00119 };
00120
00121 void MediaCtrlrs::GetControllerList(int& iControllerCount, const char**& pControllerIDs)
00122 {
00123 typedef std::vector<const char*> ControllerListType;
00124 ControllerListType internalControllerList;
00125
00126
00127 internalControllerList.push_back(ControllerID::ROI2DController);
00128 internalControllerList.push_back(ControllerID::MaskedROI2DController);
00129 internalControllerList.push_back(ControllerID::ROICouple2DController);
00130 internalControllerList.push_back(ControllerID::MaskedROICouple2DController);
00131
00132 internalControllerList.push_back(ControllerID::ROI3DController);
00133 internalControllerList.push_back(ControllerID::MaskedROI3DController);
00134 internalControllerList.push_back(ControllerID::ROICouple3DController);
00135 internalControllerList.push_back(ControllerID::MaskedROICouple3DController);
00136
00137
00138 internalControllerList.push_back(ControllerID::MediaActualizerController);
00139 internalControllerList.push_back(ControllerID::MediaContainerController);
00140 internalControllerList.push_back(ControllerID::MediaBridgeController);
00141 internalControllerList.push_back(ControllerID::MediaDrainController);
00142
00143 internalControllerList.push_back(ControllerID::IntensityImage2DMediaController);
00144 internalControllerList.push_back(ControllerID::IntensityImage3DMediaController);
00145 internalControllerList.push_back(ControllerID::CharImage2DMediaController);
00146 internalControllerList.push_back(ControllerID::CharImage3DMediaController);
00147 internalControllerList.push_back(ControllerID::UnsignedCharImage2DMediaController);
00148 internalControllerList.push_back(ControllerID::UnsignedCharImage3DMediaController);
00149 internalControllerList.push_back(ControllerID::ShortImage2DMediaController);
00150 internalControllerList.push_back(ControllerID::ShortImage3DMediaController);
00151 internalControllerList.push_back(ControllerID::UnsignedShortImage2DMediaController);
00152 internalControllerList.push_back(ControllerID::UnsignedShortImage3DMediaController);
00153 internalControllerList.push_back(ControllerID::RegionImage2DMediaController);
00154 internalControllerList.push_back(ControllerID::RegionImage3DMediaController);
00155 internalControllerList.push_back(ControllerID::TransformField2DMediaController);
00156 internalControllerList.push_back(ControllerID::TransformField3DMediaController);
00157 internalControllerList.push_back(ControllerID::TransformFunction2DMediaController);
00158 internalControllerList.push_back(ControllerID::TransformFunction3DMediaController);
00159 internalControllerList.push_back(ControllerID::ParameterListMediaController);
00160 internalControllerList.push_back(ControllerID::PointSet2DMediaController);
00161 internalControllerList.push_back(ControllerID::PointSet3DMediaController);
00162
00163
00164 iControllerCount = internalControllerList.size();
00165 pControllerIDs = new const char*[iControllerCount];
00166 for (unsigned int iPos = 0; iPos<iControllerCount; iPos++)
00167 {
00168 pControllerIDs[iPos] = internalControllerList.at(iPos);
00169 }
00170 };
00171
00172 GenericComponentController* MediaCtrlrs::CreateController(const char* pControllerID)
00173 {
00174 std::string sControllerID(pControllerID);
00175
00176
00177 if (sControllerID == ControllerID::ROI2DController)
00178 return(GenericComponentController*)new ROI2DController;
00179 if (sControllerID == ControllerID::MaskedROI2DController)
00180 return(GenericComponentController*)new MaskedROI2DController;
00181 if (sControllerID == ControllerID::ROICouple2DController)
00182 return(GenericComponentController*)new ROICouple2DController;
00183 if (sControllerID == ControllerID::MaskedROICouple2DController)
00184 return(GenericComponentController*)new MaskedROICouple2DController;
00185
00186 if (sControllerID == ControllerID::ROI3DController)
00187 return(GenericComponentController*)new ROI3DController;
00188 if (sControllerID == ControllerID::MaskedROI3DController)
00189 return(GenericComponentController*)new MaskedROI3DController;
00190 if (sControllerID == ControllerID::ROICouple3DController)
00191 return(GenericComponentController*)new ROICouple3DController;
00192 if (sControllerID == ControllerID::MaskedROICouple3DController)
00193 return(GenericComponentController*)new MaskedROICouple3DController;
00194
00195
00196 if (sControllerID == ControllerID::MediaActualizerController)
00197 return(GenericComponentController*)new MediaActualizerController;
00198 if (sControllerID == ControllerID::MediaContainerController)
00199 return(GenericComponentController*)new MediaContainerController;
00200 if (sControllerID == ControllerID::MediaBridgeController)
00201 return(GenericComponentController*)new MediaBridgeController;
00202 if (sControllerID == ControllerID::MediaDrainController)
00203 return(GenericComponentController*)new MediaDrainController;
00204
00205 if (sControllerID == ControllerID::IntensityImage2DMediaController)
00206 return(GenericComponentController*)new IntensityImage2DMediaController;
00207 if (sControllerID == ControllerID::IntensityImage3DMediaController)
00208 return(GenericComponentController*)new IntensityImage3DMediaController;
00209 if (sControllerID == ControllerID::CharImage2DMediaController)
00210 return(GenericComponentController*)new CharImage2DMediaController;
00211 if (sControllerID == ControllerID::CharImage3DMediaController)
00212 return(GenericComponentController*)new CharImage3DMediaController;
00213 if (sControllerID == ControllerID::UnsignedCharImage2DMediaController)
00214 return(GenericComponentController*)new UnsignedCharImage2DMediaController;
00215 if (sControllerID == ControllerID::UnsignedCharImage3DMediaController)
00216 return(GenericComponentController*)new UnsignedCharImage3DMediaController;
00217 if (sControllerID == ControllerID::ShortImage2DMediaController)
00218 return(GenericComponentController*)new ShortImage2DMediaController;
00219 if (sControllerID == ControllerID::ShortImage3DMediaController)
00220 return(GenericComponentController*)new ShortImage3DMediaController;
00221 if (sControllerID == ControllerID::UnsignedShortImage2DMediaController)
00222 return(GenericComponentController*)new UnsignedShortImage2DMediaController;
00223 if (sControllerID == ControllerID::UnsignedShortImage3DMediaController)
00224 return(GenericComponentController*)new UnsignedShortImage3DMediaController;
00225 if (sControllerID == ControllerID::RegionImage2DMediaController)
00226 return(GenericComponentController*)new RegionImage2DMediaController;
00227 if (sControllerID == ControllerID::RegionImage3DMediaController)
00228 return(GenericComponentController*)new RegionImage3DMediaController;
00229 if (sControllerID == ControllerID::TransformField2DMediaController)
00230 return(GenericComponentController*)new TransformField2DMediaController;
00231 if (sControllerID == ControllerID::TransformField3DMediaController)
00232 return(GenericComponentController*)new TransformField3DMediaController;
00233 if (sControllerID == ControllerID::ParameterListMediaController)
00234 return(GenericComponentController*)new ParameterListMediaController;
00235 if (sControllerID == ControllerID::PointSet2DMediaController)
00236 return(GenericComponentController*)new PointSet2DMediaController;
00237 if (sControllerID == ControllerID::PointSet3DMediaController)
00238 return(GenericComponentController*)new PointSet3DMediaController;
00239 if (sControllerID == ControllerID::TransformFunction2DMediaController)
00240 return(GenericComponentController*)new TransformFunction2DMediaController;
00241 if (sControllerID == ControllerID::TransformFunction3DMediaController)
00242 return(GenericComponentController*)new TransformFunction3DMediaController;
00243
00244 return NULL;
00245 };
00246
00247
00248 }