00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef __freSetupOptimizationProcessorController_h
00023 #define __freSetupOptimizationProcessorController_h
00024
00025 #include "freControllerBase.h"
00026
00027 #include "freSetupOptimizationProcessor.h"
00028
00029 namespace FREE
00030 {
00031
00037 freControllerIDMacro(SetupOptimizationProcessorController, "Setup Optimization Processor");
00038 class SetupOptimizationProcessorController : public ComponentControllerBase<SetupOptimizationProcessor>
00039 {
00040 public:
00041 typedef ComponentControllerBase<SetupOptimizationProcessor> Superclass;
00042 itkTypeMacro(SetupOptimizationProcessorController, ComponentControllerBase);
00043
00044 DeclareParameterMacro(Setup);
00045 DeclareParameterMacro(AdaptationList);
00046
00047 SetupOptimizationProcessorController();
00048
00049 protected:
00050 virtual void GenerateProfile(CtrlProfile::ControllerProfile& profile,
00051 const SessionComponentCache* pComponentCache,
00052 bool bRegardOldSetup) const;
00053
00054 virtual void BuildFinalization(ComponentSetup* pComponentSetup, SessionComponentCache* pComponentCache) const;
00055
00056 virtual void ActualizeMainComponent(ComponentType* pMainComponent,
00057 SessionComponentCache* pComponentCache,
00058 SessionInfo* pSessionInfo,
00059 const unsigned int& iActLevel) const;
00060
00061 virtual GenericComponentType* GetSubComponentCasted(ComponentType* pMainComponent,
00062 const ComponentID& compID,
00063 SessionComponentCache* pMainComponentCache) const;
00064
00065 virtual void SetSubComponentCasted(GenericComponentType* pSubComponent,
00066 ComponentType* pMainComponent,
00067 const ComponentID compID,
00068 SessionComponentCache* pMainComponentCache) const;
00069
00070 virtual void SetStatisticEntrySubComponents(StatisticEntry& rStatisticEntry,
00071 SessionComponentCache* pComponentCache,
00072 SessionInfo* pSessionInfo,
00073 StatisticDictionary& rDictionary) const;
00074 };
00075
00076
00077 }
00078
00079 #endif