freMediaCtrlrs.cxx

Go to the documentation of this file.
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: freMediaCtrlrs.cxx,v $
00007   Language:  C++
00008  
00009  
00010         
00011   Copyright (c) 2007 Ralf o Floca (Department of Medical Informatics,
00012   Institute for Medical Biometry and Informatics, University of Heidelberg,
00013   Germany). All rights reserved.
00014   See FREECopyright.txt or http://www.mi.med.uni-hd.de/free/copyright.htm
00015   for details.
00016  
00017      This software is distributed WITHOUT ANY WARRANTY; without even 
00018      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
00019      PURPOSE.  See the above copyright notices for more information.
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 } // end of anonymous namspace of dll interface
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     //ROIs
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     //Media
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     //create export array with controller names.
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     //ROIs
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     //Media
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 } //end of namespace free

Generated at Sat Oct 13 16:39:19 2007 for f.r.e.e. - Flexible Registration and Evaluation Engine by doxygen 1.5.3 written by Dimitri van Heesch, © 1997-2000