MotionPlanningObjectFactories.h
Go to the documentation of this file.
1 /*
2  * This file is part of ArmarX.
3  *
4  * Copyright (C) 2011-2016, High Performance Humanoid Technologies (H2T), Karlsruhe Institute of Technology (KIT), all rights reserved.
5  *
6  * ArmarX is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2 as
8  * published by the Free Software Foundation.
9  *
10  * ArmarX is distributed in the hope that it will be useful, but
11  * WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program. If not, see <http://www.gnu.org/licenses/>.
17  *
18  * @package RobotComponents
19  * @author Raphael Grimm ( raphael dot grimm at kit dot edu )
20  * @date 2015
21  * @copyright http://www.gnu.org/licenses/gpl.txt
22  * GNU General Public License
23  */
24 #pragma once
25 
26 #include <map>
27 #include <string>
28 #include <vector>
29 
30 #include <Ice/Ice.h>
31 #include <Ice/ObjectFactory.h>
32 
36 
40 
41 #include "CSpace/ScaledCSpace.h"
42 #include "CSpace/SimoxCSpace.h"
44 #include "Tasks/AStar/Task.h"
49 #include "Tasks/RRTConnect/Task.h"
54 
56 {
57  /**
58  * @brief Object factories for objects used by planning algorithms and the algorithms task objects.
59  */
61  {
62  public:
63  /**
64  * @return The map of object factories.
65  */
67  getFactories() override
68  {
69  ObjectFactoryMap map;
70  //planning alg
71  add<armarx::addirrtstar::TaskBase, armarx::addirrtstar::Task>(map);
72  add<armarx::addirrtstar::ManagerNodeBase, armarx::addirrtstar::ManagerNode>(map);
73  add<armarx::addirrtstar::WorkerNodeBase, armarx::addirrtstar::WorkerNode>(map);
74 
75  add<armarx::rrtconnect::TaskBase, armarx::rrtconnect::Task>(map);
76  add<armarx::rrtconnect::WorkerNodeBase, armarx::rrtconnect::WorkerNode>(map);
77  add<armarx::birrt::TaskBase, armarx::birrt::Task>(map);
78 
79  add<armarx::astar::TaskBase, armarx::astar::Task>(map);
80  add<armarx::CSpaceVisualizerTaskBase, armarx::CSpaceVisualizerTask>(map);
81 
82  add<armarx::rngshortcut::TaskBase, armarx::rngshortcut::Task>(map);
83  add<armarx::pathcol::TaskBase, armarx::pathcol::Task>(map);
84  //cspace
85  add<armarx::SimoxCSpaceBase, armarx::SimoxCSpace>(map);
86  add<armarx::SimoxCSpaceWith2DPoseBase, armarx::SimoxCSpaceWith2DPose>(map);
87  add<armarx::SimoxCSpaceWith3DPoseBase, armarx::SimoxCSpaceWith3DPose>(map);
88  add<armarx::ScaledCSpaceBase, armarx::ScaledCSpace>(map);
89  add<armarx::VoxelGridCSpace, armarx::VoxelGridCSpace>(map);
90 
91  //resource request strategies
92  add<armarx::cprs::AndBase, armarx::cprs::And>(map);
93  add<armarx::cprs::OrBase, armarx::cprs::Or>(map);
94  add<armarx::cprs::NotBase, armarx::cprs::Not>(map);
95 
96  add<armarx::cprs::AlwaysBase, armarx::cprs::Always>(map);
97  add<armarx::cprs::NeverBase, armarx::cprs::Never>(map);
98 
99  add<armarx::cprs::ElapsedTimeBase, armarx::cprs::ElapsedTime>(map);
100  add<armarx::cprs::NoNodeCreatedBase, armarx::cprs::NoNodeCreated>(map);
101 
102  add<armarx::cprs::TotalNodeCountBase, armarx::cprs::TotalNodeCount>(map);
103 
104  add<armarx::cprs::TaskStatusBase, armarx::cprs::TaskStatus>(map);
105 
106  return map;
107  }
108  };
109 
112 } // namespace armarx::ObjectFactories
WorkerNode.h
Task.h
ScaledCSpace.h
ComputingPowerRequestStrategy.h
FactoryCollectionBase.h
armarx::ObjectFactoryMap
std::map< std::string, Ice::ValueFactoryPtr > ObjectFactoryMap
Definition: FactoryCollectionBase.h:62
armarx::ObjectFactories::MotionPlanningObjectFactories::getFactories
ObjectFactoryMap getFactories() override
Definition: MotionPlanningObjectFactories.h:67
VoxelGridCSpace.h
ManagerNode.h
armarx::FactoryCollectionBase::addToPreregistration
static FactoryCollectionBaseCleanUp addToPreregistration(FactoryCollectionBasePtr factoryCollection)
Definition: FactoryCollectionBase.cpp:43
armarx::FactoryCollectionBase
Definition: FactoryCollectionBase.h:64
Task.h
MemoryXCoreObjectFactories.h
Synchronization.h
armarx::ObjectFactories::MotionPlanningObjectFactoriesVar
const FactoryCollectionBaseCleanUp MotionPlanningObjectFactoriesVar
Definition: MotionPlanningObjectFactories.h:110
Task.h
Task.h
Task.h
SimoxCSpace.h
Task.h
armarx::ObjectFactories::MotionPlanningObjectFactories
Object factories for objects used by planning algorithms and the algorithms task objects.
Definition: MotionPlanningObjectFactories.h:60
CSpaceVisualizerTask.h
WorkerNode.h
MemoryXTypesObjectFactories.h
armarx::ObjectFactories
Definition: CoreObjectFactories.h:54
Logging.h
armarx::FactoryCollectionBaseCleanUp
Definition: FactoryCollectionBase.h:39