diff --git a/source/RobotAPI/libraries/core/RobotAPIObjectFactories.cpp b/source/RobotAPI/libraries/core/RobotAPIObjectFactories.cpp index 3ccdd28bc41ecffe6fc6a3e284fcecdeaad19535..65e405455056422f1b3ff19c176d52fe6a0ec0ac 100644 --- a/source/RobotAPI/libraries/core/RobotAPIObjectFactories.cpp +++ b/source/RobotAPI/libraries/core/RobotAPIObjectFactories.cpp @@ -21,6 +21,52 @@ */ #include "RobotAPIObjectFactories.h" + +#include "Trajectory.h" +#include <RobotAPI/interface/core/PoseBase.h> +#include <RobotAPI/interface/core/RobotState.h> +#include <RobotAPI/libraries/core/Pose.h> +#include <RobotAPI/libraries/core/FramedPose.h> +#include <RobotAPI/libraries/core/LinkedPose.h> +#include <RobotAPI/libraries/core/observerfilters/PoseMedianFilter.h> +#include <RobotAPI/libraries/core/observerfilters/OffsetFilter.h> +#include <RobotAPI/libraries/core/observerfilters/MatrixFilters.h> +#include <RobotAPI/libraries/core/observerfilters/PoseMedianOffsetFilter.h> +#include <RobotAPI/libraries/core/OrientedPoint.h> +#include <RobotAPI/libraries/core/FramedOrientedPoint.h> + + using namespace armarx; using namespace armarx::ObjectFactories; const FactoryCollectionBaseCleanUp RobotAPIObjectFactories::RobotAPIObjectFactoriesVar = FactoryCollectionBase::addToPreregistration(new RobotAPIObjectFactories()); + +ObjectFactoryMap RobotAPIObjectFactories::getFactories() +{ + ObjectFactoryMap map; + + add<Vector2>(map); + add<Vector3>(map); + add<FramedDirection>(map); + add<LinkedDirection>(map); + add<Quaternion>(map); + add<Pose>(map); + add<FramedPose>(map); + add<FramedOrientation>(map); + add<FramedPosition>(map); + add<LinkedPose>(map); + + add<armarx::OrientedPointBase, armarx::OrientedPoint>(map); + add<armarx::FramedOrientedPointBase, armarx::FramedOrientedPoint>(map); + + add<armarx::PoseMedianFilterBase, armarx::filters::PoseMedianFilter>(map); + add<armarx::PoseMedianOffsetFilterBase, armarx::filters::PoseMedianOffsetFilter>(map); + add<armarx::OffsetFilterBase, armarx::filters::OffsetFilter>(map); + add<armarx::MatrixMaxFilterBase, armarx::filters::MatrixMaxFilter>(map); + add<armarx::MatrixMinFilterBase, armarx::filters::MatrixMinFilter>(map); + add<armarx::MatrixAvgFilterBase, armarx::filters::MatrixAvgFilter>(map); + add<armarx::MatrixPercentileFilterBase, armarx::filters::MatrixPercentileFilter>(map); + add<armarx::MatrixPercentilesFilterBase, armarx::filters::MatrixPercentilesFilter>(map); + add<armarx::MatrixCumulativeFrequencyFilterBase, armarx::filters::MatrixCumulativeFrequencyFilter>(map); + add<armarx::TrajectoryBase, armarx::Trajectory>(map); + return map; +} diff --git a/source/RobotAPI/libraries/core/RobotAPIObjectFactories.h b/source/RobotAPI/libraries/core/RobotAPIObjectFactories.h index 0c5d159be75298d7a4c39d3f47ff582f6dd50a6f..0e5dcc8684a41c1a5b92c9869b58901cc2a7a88f 100644 --- a/source/RobotAPI/libraries/core/RobotAPIObjectFactories.h +++ b/source/RobotAPI/libraries/core/RobotAPIObjectFactories.h @@ -23,134 +23,11 @@ #ifndef _ARMARX_ROBOTAPI_OBJECT_FACTORIES_H #define _ARMARX_ROBOTAPI_OBJECT_FACTORIES_H -#include "Trajectory.h" - #include <ArmarXCore/core/system/FactoryCollectionBase.h> -#include <RobotAPI/interface/core/PoseBase.h> -#include <RobotAPI/interface/core/RobotState.h> -#include <RobotAPI/libraries/core/Pose.h> -#include <RobotAPI/libraries/core/FramedPose.h> -#include <RobotAPI/libraries/core/LinkedPose.h> -#include <Ice/Ice.h> -#include <RobotAPI/libraries/core/observerfilters/PoseMedianFilter.h> -#include <RobotAPI/libraries/core/observerfilters/OffsetFilter.h> -#include <RobotAPI/libraries/core/observerfilters/MatrixFilters.h> -#include <RobotAPI/libraries/core/observerfilters/PoseMedianOffsetFilter.h> -#include <RobotAPI/libraries/core/OrientedPoint.h> -#include <RobotAPI/libraries/core/FramedOrientedPoint.h> + namespace armarx { - class QuaternionObjectFactory : public Ice::ObjectFactory - { - public: - virtual Ice::ObjectPtr create(const std::string& type) - { - assert(type == armarx::QuaternionBase::ice_staticId()); - return new Quaternion(); - } - virtual void destroy() - {} - }; - - class Vector3ObjectFactory : public Ice::ObjectFactory - { - public: - virtual Ice::ObjectPtr create(const std::string& type) - { - assert(type == armarx::Vector3Base::ice_staticId()); - return new Vector3(); - } - virtual void destroy() - {} - }; - - class FramedDirectionObjectFactory : public Ice::ObjectFactory - { - public: - virtual Ice::ObjectPtr create(const std::string& type) - { - assert(type == armarx::FramedDirectionBase::ice_staticId()); - return new FramedDirection(); - } - virtual void destroy() - {} - }; - - class LinkedDirectionObjectFactory : public Ice::ObjectFactory - { - public: - virtual Ice::ObjectPtr create(const std::string& type) - { - assert(type == armarx::LinkedDirectionBase::ice_staticId()); - return new LinkedDirection(); - } - virtual void destroy() - {} - }; - - class PoseObjectFactory : public Ice::ObjectFactory - { - public: - virtual Ice::ObjectPtr create(const std::string& type) - { - assert(type == armarx::PoseBase::ice_staticId()); - return new Pose(); - } - virtual void destroy() - {} - }; - - class FramedPoseObjectFactory : public Ice::ObjectFactory - { - public: - virtual Ice::ObjectPtr create(const std::string& type) - { - assert(type == armarx::FramedPoseBase::ice_staticId()); - return new FramedPose(); - } - virtual void destroy() - {} - }; - - class FramedPositionObjectFactory : public Ice::ObjectFactory - { - public: - virtual Ice::ObjectPtr create(const std::string& type) - { - assert(type == armarx::FramedPositionBase::ice_staticId()); - return new FramedPosition(); - } - virtual void destroy() - {} - }; - - class FramedOrientationObjectFactory : public Ice::ObjectFactory - { - public: - virtual Ice::ObjectPtr create(const std::string& type) - { - assert(type == armarx::FramedOrientationBase::ice_staticId()); - return new FramedOrientation(); - } - virtual void destroy() - {} - }; - - class LinkedPoseObjectFactory : public Ice::ObjectFactory - { - public: - virtual Ice::ObjectPtr create(const std::string& type) - { - assert(type == armarx::LinkedPoseBase::ice_staticId()); - return new LinkedPose(); - } - virtual void destroy() - {} - }; - - - namespace ObjectFactories { @@ -160,36 +37,7 @@ namespace armarx class RobotAPIObjectFactories : public FactoryCollectionBase { public: - ObjectFactoryMap getFactories() - { - ObjectFactoryMap map; - - add<armarx::Vector2Base, armarx::Vector2>(map); - map.insert(std::make_pair(armarx::Vector3Base::ice_staticId(), new Vector3ObjectFactory)); - map.insert(std::make_pair(armarx::FramedDirectionBase::ice_staticId(), new FramedDirectionObjectFactory)); - map.insert(std::make_pair(armarx::LinkedDirectionBase::ice_staticId(), new LinkedDirectionObjectFactory)); - map.insert(std::make_pair(armarx::QuaternionBase::ice_staticId(), new QuaternionObjectFactory)); - map.insert(std::make_pair(armarx::PoseBase::ice_staticId(), new PoseObjectFactory)); - map.insert(std::make_pair(armarx::FramedPoseBase::ice_staticId(), new FramedPoseObjectFactory)); - map.insert(std::make_pair(armarx::FramedOrientationBase::ice_staticId(), new FramedOrientationObjectFactory)); - map.insert(std::make_pair(armarx::FramedPositionBase::ice_staticId(), new FramedPositionObjectFactory)); - map.insert(std::make_pair(armarx::LinkedPoseBase::ice_staticId(), new LinkedPoseObjectFactory)); - - add<armarx::OrientedPointBase, armarx::OrientedPoint>(map); - add<armarx::FramedOrientedPointBase, armarx::FramedOrientedPoint>(map); - - add<armarx::PoseMedianFilterBase, armarx::filters::PoseMedianFilter>(map); - add<armarx::PoseMedianOffsetFilterBase, armarx::filters::PoseMedianOffsetFilter>(map); - add<armarx::OffsetFilterBase, armarx::filters::OffsetFilter>(map); - add<armarx::MatrixMaxFilterBase, armarx::filters::MatrixMaxFilter>(map); - add<armarx::MatrixMinFilterBase, armarx::filters::MatrixMinFilter>(map); - add<armarx::MatrixAvgFilterBase, armarx::filters::MatrixAvgFilter>(map); - add<armarx::MatrixPercentileFilterBase, armarx::filters::MatrixPercentileFilter>(map); - add<armarx::MatrixPercentilesFilterBase, armarx::filters::MatrixPercentilesFilter>(map); - add<armarx::MatrixCumulativeFrequencyFilterBase, armarx::filters::MatrixCumulativeFrequencyFilter>(map); - add<armarx::TrajectoryBase, armarx::Trajectory>(map); - return map; - } + ObjectFactoryMap getFactories(); static const FactoryCollectionBaseCleanUp RobotAPIObjectFactoriesVar; };