From b99d96382d7bd538b3cfdf3b48723cad293ea0a3 Mon Sep 17 00:00:00 2001 From: Floris Berendsen <floris.berendsen@gmail.com> Date: Tue, 17 Nov 2015 17:51:29 +0100 Subject: [PATCH] COMP: integrated in SuperElastix with initial google tests --- .../ComponentInterface/{ => include}/ComponentBase.h | 4 ++-- .../{ => include}/Example3rdPartyCode.h | 0 .../{ => include}/Example4thPartyCode.h | 0 .../{ => include}/GDOptimizer3rdPartyComponent.h | 2 +- .../{ => include}/GDOptimizer4thPartyComponent.h | 2 +- .../ComponentInterface/{ => include}/Interfaces.hxx | 0 .../{ => include}/Metric3rdPartyWrapper.h | 0 .../{ => include}/Metric4thPartyWrapper.h | 0 .../{ => include}/SSDMetric3rdPartyComponent.h | 2 +- .../{ => include}/SSDMetric4thPartyComponent.h | 2 +- .../{ => src}/Example3rdPartyCode.cxx | 0 .../{ => src}/Example4thPartyCode.cxx | 0 .../{ => src}/GDOptimizer3rdPartyComponent.cxx | 0 .../{ => src}/GDOptimizer4thPartyComponent.cxx | 0 .../{ => src}/Metric3rdPartyWrapper.cxx | 0 .../{ => src}/Metric4thPartyWrapper.cxx | 0 .../{ => src}/SSDMetric3rdPartyComponent.cxx | 0 .../{ => src}/SSDMetric4thPartyComponent.cxx | 0 .../{ => src}/componenthandshake.cxx | 0 Modules/Core/elxModuleCore.cmake | 11 +++++++++++ Testing/Unit/CMakeLists.txt | 1 + 21 files changed, 18 insertions(+), 6 deletions(-) rename Modules/Core/ComponentInterface/{ => include}/ComponentBase.h (87%) rename Modules/Core/ComponentInterface/{ => include}/Example3rdPartyCode.h (100%) rename Modules/Core/ComponentInterface/{ => include}/Example4thPartyCode.h (100%) rename Modules/Core/ComponentInterface/{ => include}/GDOptimizer3rdPartyComponent.h (94%) rename Modules/Core/ComponentInterface/{ => include}/GDOptimizer4thPartyComponent.h (94%) rename Modules/Core/ComponentInterface/{ => include}/Interfaces.hxx (100%) rename Modules/Core/ComponentInterface/{ => include}/Metric3rdPartyWrapper.h (100%) rename Modules/Core/ComponentInterface/{ => include}/Metric4thPartyWrapper.h (100%) rename Modules/Core/ComponentInterface/{ => include}/SSDMetric3rdPartyComponent.h (93%) rename Modules/Core/ComponentInterface/{ => include}/SSDMetric4thPartyComponent.h (93%) rename Modules/Core/ComponentInterface/{ => src}/Example3rdPartyCode.cxx (100%) rename Modules/Core/ComponentInterface/{ => src}/Example4thPartyCode.cxx (100%) rename Modules/Core/ComponentInterface/{ => src}/GDOptimizer3rdPartyComponent.cxx (100%) rename Modules/Core/ComponentInterface/{ => src}/GDOptimizer4thPartyComponent.cxx (100%) rename Modules/Core/ComponentInterface/{ => src}/Metric3rdPartyWrapper.cxx (100%) rename Modules/Core/ComponentInterface/{ => src}/Metric4thPartyWrapper.cxx (100%) rename Modules/Core/ComponentInterface/{ => src}/SSDMetric3rdPartyComponent.cxx (100%) rename Modules/Core/ComponentInterface/{ => src}/SSDMetric4thPartyComponent.cxx (100%) rename Modules/Core/ComponentInterface/{ => src}/componenthandshake.cxx (100%) diff --git a/Modules/Core/ComponentInterface/ComponentBase.h b/Modules/Core/ComponentInterface/include/ComponentBase.h similarity index 87% rename from Modules/Core/ComponentInterface/ComponentBase.h rename to Modules/Core/ComponentInterface/include/ComponentBase.h index 77571d97..1fb89f4a 100644 --- a/Modules/Core/ComponentInterface/ComponentBase.h +++ b/Modules/Core/ComponentInterface/include/ComponentBase.h @@ -10,8 +10,8 @@ namespace elx class ComponentBase { public: virtual interfaceStatus ConnectFrom(const char *, ComponentBase*) = 0; - protected: - virtual ~ComponentBase(){}; + //protected: + virtual ~ComponentBase() {}; }; } // end namespace elx #endif // #define ComponentBase_h \ No newline at end of file diff --git a/Modules/Core/ComponentInterface/Example3rdPartyCode.h b/Modules/Core/ComponentInterface/include/Example3rdPartyCode.h similarity index 100% rename from Modules/Core/ComponentInterface/Example3rdPartyCode.h rename to Modules/Core/ComponentInterface/include/Example3rdPartyCode.h diff --git a/Modules/Core/ComponentInterface/Example4thPartyCode.h b/Modules/Core/ComponentInterface/include/Example4thPartyCode.h similarity index 100% rename from Modules/Core/ComponentInterface/Example4thPartyCode.h rename to Modules/Core/ComponentInterface/include/Example4thPartyCode.h diff --git a/Modules/Core/ComponentInterface/GDOptimizer3rdPartyComponent.h b/Modules/Core/ComponentInterface/include/GDOptimizer3rdPartyComponent.h similarity index 94% rename from Modules/Core/ComponentInterface/GDOptimizer3rdPartyComponent.h rename to Modules/Core/ComponentInterface/include/GDOptimizer3rdPartyComponent.h index c584235d..1d281e9b 100644 --- a/Modules/Core/ComponentInterface/GDOptimizer3rdPartyComponent.h +++ b/Modules/Core/ComponentInterface/include/GDOptimizer3rdPartyComponent.h @@ -18,7 +18,7 @@ namespace elx { public: GDOptimizer3rdPartyComponent(); - ~GDOptimizer3rdPartyComponent(); + virtual ~GDOptimizer3rdPartyComponent(); Example3rdParty::GDOptimizer3rdParty* theImplementation; Metric3rdPartyWrapper* MetricObject; //virtual int ConnectFrom(const char *, ComponentBase*); diff --git a/Modules/Core/ComponentInterface/GDOptimizer4thPartyComponent.h b/Modules/Core/ComponentInterface/include/GDOptimizer4thPartyComponent.h similarity index 94% rename from Modules/Core/ComponentInterface/GDOptimizer4thPartyComponent.h rename to Modules/Core/ComponentInterface/include/GDOptimizer4thPartyComponent.h index 29f03e96..eff1bb78 100644 --- a/Modules/Core/ComponentInterface/GDOptimizer4thPartyComponent.h +++ b/Modules/Core/ComponentInterface/include/GDOptimizer4thPartyComponent.h @@ -18,7 +18,7 @@ namespace elx { public: GDOptimizer4thPartyComponent(); - ~GDOptimizer4thPartyComponent(); + virtual ~GDOptimizer4thPartyComponent(); Example4thParty::GDOptimizer4thParty* theImplementation; Metric4thPartyWrapper* MetricObject; //virtual int ConnectFrom(const char *, ComponentBase*); diff --git a/Modules/Core/ComponentInterface/Interfaces.hxx b/Modules/Core/ComponentInterface/include/Interfaces.hxx similarity index 100% rename from Modules/Core/ComponentInterface/Interfaces.hxx rename to Modules/Core/ComponentInterface/include/Interfaces.hxx diff --git a/Modules/Core/ComponentInterface/Metric3rdPartyWrapper.h b/Modules/Core/ComponentInterface/include/Metric3rdPartyWrapper.h similarity index 100% rename from Modules/Core/ComponentInterface/Metric3rdPartyWrapper.h rename to Modules/Core/ComponentInterface/include/Metric3rdPartyWrapper.h diff --git a/Modules/Core/ComponentInterface/Metric4thPartyWrapper.h b/Modules/Core/ComponentInterface/include/Metric4thPartyWrapper.h similarity index 100% rename from Modules/Core/ComponentInterface/Metric4thPartyWrapper.h rename to Modules/Core/ComponentInterface/include/Metric4thPartyWrapper.h diff --git a/Modules/Core/ComponentInterface/SSDMetric3rdPartyComponent.h b/Modules/Core/ComponentInterface/include/SSDMetric3rdPartyComponent.h similarity index 93% rename from Modules/Core/ComponentInterface/SSDMetric3rdPartyComponent.h rename to Modules/Core/ComponentInterface/include/SSDMetric3rdPartyComponent.h index e789950a..860398a5 100644 --- a/Modules/Core/ComponentInterface/SSDMetric3rdPartyComponent.h +++ b/Modules/Core/ComponentInterface/include/SSDMetric3rdPartyComponent.h @@ -16,7 +16,7 @@ namespace elx { public: SSDMetric3rdPartyComponent(); - ~SSDMetric3rdPartyComponent(); + virtual ~SSDMetric3rdPartyComponent(); Example3rdParty::SSDMetric3rdParty* theImplementation; int GetValue(); int GetDerivative(); diff --git a/Modules/Core/ComponentInterface/SSDMetric4thPartyComponent.h b/Modules/Core/ComponentInterface/include/SSDMetric4thPartyComponent.h similarity index 93% rename from Modules/Core/ComponentInterface/SSDMetric4thPartyComponent.h rename to Modules/Core/ComponentInterface/include/SSDMetric4thPartyComponent.h index 26685c74..c07ff0ab 100644 --- a/Modules/Core/ComponentInterface/SSDMetric4thPartyComponent.h +++ b/Modules/Core/ComponentInterface/include/SSDMetric4thPartyComponent.h @@ -16,7 +16,7 @@ namespace elx { public: SSDMetric4thPartyComponent(); - ~SSDMetric4thPartyComponent(); + virtual ~SSDMetric4thPartyComponent(); Example4thParty::SSDMetric4thParty* theImplementation; int GetValue(); }; diff --git a/Modules/Core/ComponentInterface/Example3rdPartyCode.cxx b/Modules/Core/ComponentInterface/src/Example3rdPartyCode.cxx similarity index 100% rename from Modules/Core/ComponentInterface/Example3rdPartyCode.cxx rename to Modules/Core/ComponentInterface/src/Example3rdPartyCode.cxx diff --git a/Modules/Core/ComponentInterface/Example4thPartyCode.cxx b/Modules/Core/ComponentInterface/src/Example4thPartyCode.cxx similarity index 100% rename from Modules/Core/ComponentInterface/Example4thPartyCode.cxx rename to Modules/Core/ComponentInterface/src/Example4thPartyCode.cxx diff --git a/Modules/Core/ComponentInterface/GDOptimizer3rdPartyComponent.cxx b/Modules/Core/ComponentInterface/src/GDOptimizer3rdPartyComponent.cxx similarity index 100% rename from Modules/Core/ComponentInterface/GDOptimizer3rdPartyComponent.cxx rename to Modules/Core/ComponentInterface/src/GDOptimizer3rdPartyComponent.cxx diff --git a/Modules/Core/ComponentInterface/GDOptimizer4thPartyComponent.cxx b/Modules/Core/ComponentInterface/src/GDOptimizer4thPartyComponent.cxx similarity index 100% rename from Modules/Core/ComponentInterface/GDOptimizer4thPartyComponent.cxx rename to Modules/Core/ComponentInterface/src/GDOptimizer4thPartyComponent.cxx diff --git a/Modules/Core/ComponentInterface/Metric3rdPartyWrapper.cxx b/Modules/Core/ComponentInterface/src/Metric3rdPartyWrapper.cxx similarity index 100% rename from Modules/Core/ComponentInterface/Metric3rdPartyWrapper.cxx rename to Modules/Core/ComponentInterface/src/Metric3rdPartyWrapper.cxx diff --git a/Modules/Core/ComponentInterface/Metric4thPartyWrapper.cxx b/Modules/Core/ComponentInterface/src/Metric4thPartyWrapper.cxx similarity index 100% rename from Modules/Core/ComponentInterface/Metric4thPartyWrapper.cxx rename to Modules/Core/ComponentInterface/src/Metric4thPartyWrapper.cxx diff --git a/Modules/Core/ComponentInterface/SSDMetric3rdPartyComponent.cxx b/Modules/Core/ComponentInterface/src/SSDMetric3rdPartyComponent.cxx similarity index 100% rename from Modules/Core/ComponentInterface/SSDMetric3rdPartyComponent.cxx rename to Modules/Core/ComponentInterface/src/SSDMetric3rdPartyComponent.cxx diff --git a/Modules/Core/ComponentInterface/SSDMetric4thPartyComponent.cxx b/Modules/Core/ComponentInterface/src/SSDMetric4thPartyComponent.cxx similarity index 100% rename from Modules/Core/ComponentInterface/SSDMetric4thPartyComponent.cxx rename to Modules/Core/ComponentInterface/src/SSDMetric4thPartyComponent.cxx diff --git a/Modules/Core/ComponentInterface/componenthandshake.cxx b/Modules/Core/ComponentInterface/src/componenthandshake.cxx similarity index 100% rename from Modules/Core/ComponentInterface/componenthandshake.cxx rename to Modules/Core/ComponentInterface/src/componenthandshake.cxx diff --git a/Modules/Core/elxModuleCore.cmake b/Modules/Core/elxModuleCore.cmake index 24e93a5a..f0db2453 100644 --- a/Modules/Core/elxModuleCore.cmake +++ b/Modules/Core/elxModuleCore.cmake @@ -4,6 +4,7 @@ set( MODULE elxModuleCore ) set( ${MODULE}_INCLUDE_DIRS ${${MODULE}_SOURCE_DIR}/Common/include ${${MODULE}_SOURCE_DIR}/Blueprints/include + ${${MODULE}_SOURCE_DIR}/ComponentInterface/include ) # Export libraries @@ -14,8 +15,18 @@ set( ${MODULE}_LIBRARIES # Module source files set( ${MODULE}_SOURCE_FILES ${${MODULE}_SOURCE_DIR}/Blueprints/src/elxBlueprint.cxx + ${${MODULE}_SOURCE_DIR}/ComponentInterface/src/Example3rdPartyCode.cxx + ${${MODULE}_SOURCE_DIR}/ComponentInterface/src/Example4thPartyCode.cxx + ${${MODULE}_SOURCE_DIR}/ComponentInterface/src/GDOptimizer3rdPartyComponent.cxx + ${${MODULE}_SOURCE_DIR}/ComponentInterface/src/GDOptimizer4thPartyComponent.cxx + ${${MODULE}_SOURCE_DIR}/ComponentInterface/src/Metric3rdPartyWrapper.cxx + ${${MODULE}_SOURCE_DIR}/ComponentInterface/src/Metric4thPartyWrapper.cxx + ${${MODULE}_SOURCE_DIR}/ComponentInterface/src/SSDMetric3rdPartyComponent.cxx + ${${MODULE}_SOURCE_DIR}/ComponentInterface/src/SSDMetric4thPartyComponent.cxx + ${${MODULE}_SOURCE_DIR}/ComponentInterface/src/componenthandshake.cxx ) + # Compile library add_library( ${MODULE} STATIC "${${MODULE}_SOURCE_FILES}" ) diff --git a/Testing/Unit/CMakeLists.txt b/Testing/Unit/CMakeLists.txt index 06f783c2..a20706ab 100644 --- a/Testing/Unit/CMakeLists.txt +++ b/Testing/Unit/CMakeLists.txt @@ -6,6 +6,7 @@ set( ElastixUnitTestFilenames elxExampleUnitTest.cxx elxBlueprintTest.cxx + elxComponentInterfaceTest.cxx ) # --------------------------------------------------------------------- -- GitLab