From ff18ec0fba305d041aa5abdccb943fccfaa8e4f5 Mon Sep 17 00:00:00 2001 From: Willem Jan Palenstijn Date: Tue, 28 Aug 2018 11:58:39 +0200 Subject: Fix missing findPlugin function in Windows --- include/astra/AstraObjectFactory.h | 17 +++-------------- src/AstraObjectFactory.cpp | 12 ++++++++++-- 2 files changed, 13 insertions(+), 16 deletions(-) diff --git a/include/astra/AstraObjectFactory.h b/include/astra/AstraObjectFactory.h index 91efa61..8d31b53 100644 --- a/include/astra/AstraObjectFactory.h +++ b/include/astra/AstraObjectFactory.h @@ -39,9 +39,7 @@ along with the ASTRA Toolbox. If not, see . #include "AlgorithmTypelist.h" -#ifdef ASTRA_PYTHON #include "PluginAlgorithmFactory.h" -#endif namespace astra { @@ -106,6 +104,9 @@ CAstraObjectFactory::~CAstraObjectFactory() //---------------------------------------------------------------------------------------- // Hook for finding plugin in registered plugins. +template <> +CAlgorithm* CAstraObjectFactory::findPlugin(std::string _sType); + template T* CAstraObjectFactory::findPlugin(std::string _sType) { @@ -135,18 +136,6 @@ T* CAstraObjectFactory::create(std::string _sType) */ class _AstraExport CAlgorithmFactory : public CAstraObjectFactory {}; -#ifdef ASTRA_PYTHON -template <> -inline CAlgorithm* CAstraObjectFactory::findPlugin(std::string _sType) - { - CPluginAlgorithmFactory *fac = CPluginAlgorithmFactory::getFactory(); - if (fac) - return fac->getPlugin(_sType); - else - return 0; - } -#endif - /** * Class used to create 2D projectors from a string or a config object */ diff --git a/src/AstraObjectFactory.cpp b/src/AstraObjectFactory.cpp index 2ce7474..a103bc6 100644 --- a/src/AstraObjectFactory.cpp +++ b/src/AstraObjectFactory.cpp @@ -27,12 +27,20 @@ along with the ASTRA Toolbox. If not, see . #include "astra/AstraObjectFactory.h" -using namespace std; - namespace astra { DEFINE_SINGLETON2(CAstraObjectFactory) DEFINE_SINGLETON2(CAstraObjectFactory) DEFINE_SINGLETON2(CAstraObjectFactory) +template <> +CAlgorithm* CAstraObjectFactory::findPlugin(std::string _sType) +{ + CPluginAlgorithmFactory *fac = CPluginAlgorithmFactory::getFactory(); + if (fac) + return fac->getPlugin(_sType); + else + return 0; +} + } // end namespace -- cgit v1.2.3