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 <vector>
27 #include <map>
28 #include <string>
29 
30 #include <Ice/ObjectFactory.h>
31 #include <Ice/Ice.h>
32 
35 
39 
43 
44 #include "Tasks/RRTConnect/Task.h"
46 
47 #include "Tasks/AStar/Task.h"
48 
50 
52 
58 
59 #include "CSpace/SimoxCSpace.h"
60 #include "CSpace/ScaledCSpace.h"
61 
62 
65 {
66  /**
67  * @brief Object factories for objects used by planning algorithms and the algorithms task objects.
68  */
70  {
71  public:
72  /**
73  * @return The map of object factories.
74  */
76  {
77  ObjectFactoryMap map;
78  //planning alg
79  add<armarx::addirrtstar::TaskBase, armarx::addirrtstar::Task>(map);
80  add<armarx::addirrtstar::ManagerNodeBase, armarx::addirrtstar::ManagerNode>(map);
81  add<armarx::addirrtstar::WorkerNodeBase, armarx::addirrtstar::WorkerNode>(map);
82 
83  add<armarx::rrtconnect::TaskBase, armarx::rrtconnect::Task>(map);
84  add<armarx::rrtconnect::WorkerNodeBase, armarx::rrtconnect::WorkerNode>(map);
85  add<armarx::birrt::TaskBase, armarx::birrt::Task>(map);
86 
87  add<armarx::astar::TaskBase, armarx::astar::Task>(map);
88  add<armarx::CSpaceVisualizerTaskBase, armarx::CSpaceVisualizerTask>(map);
89 
90  add<armarx::rngshortcut::TaskBase, armarx::rngshortcut::Task>(map);
91  add<armarx::pathcol::TaskBase, armarx::pathcol::Task>(map);
92  //cspace
93  add<armarx::SimoxCSpaceBase, armarx::SimoxCSpace>(map);
94  add<armarx::SimoxCSpaceWith2DPoseBase, armarx::SimoxCSpaceWith2DPose>(map);
95  add<armarx::SimoxCSpaceWith3DPoseBase, armarx::SimoxCSpaceWith3DPose>(map);
96  add<armarx::ScaledCSpaceBase, armarx::ScaledCSpace>(map);
97  add<armarx::VoxelGridCSpace, armarx::VoxelGridCSpace>(map);
98 
99  //resource request strategies
100  add<armarx::cprs::AndBase, armarx::cprs::And>(map);
101  add<armarx::cprs::OrBase, armarx::cprs::Or>(map);
102  add<armarx::cprs::NotBase, armarx::cprs::Not>(map);
103 
104  add<armarx::cprs::AlwaysBase, armarx::cprs::Always>(map);
105  add<armarx::cprs::NeverBase, armarx::cprs::Never>(map);
106 
107  add<armarx::cprs::ElapsedTimeBase, armarx::cprs::ElapsedTime>(map);
108  add<armarx::cprs::NoNodeCreatedBase, armarx::cprs::NoNodeCreated>(map);
109 
110  add<armarx::cprs::TotalNodeCountBase, armarx::cprs::TotalNodeCount>(map);
111 
112  add<armarx::cprs::TaskStatusBase, armarx::cprs::TaskStatus>(map);
113 
114  return map;
115  }
116  };
117 
120 }
121 
WorkerNode.h
Task.h
ScaledCSpace.h
ComputingPowerRequestStrategy.h
FactoryCollectionBase.h
armarx::ObjectFactoryMap
std::map< std::string, Ice::ValueFactoryPtr > ObjectFactoryMap
Definition: FactoryCollectionBase.h:61
armarx::ObjectFactories::MotionPlanningObjectFactories::getFactories
ObjectFactoryMap getFactories() override
Definition: MotionPlanningObjectFactories.h:75
VoxelGridCSpace.h
ManagerNode.h
armarx::FactoryCollectionBase::addToPreregistration
static FactoryCollectionBaseCleanUp addToPreregistration(FactoryCollectionBasePtr factoryCollection)
Definition: FactoryCollectionBase.cpp:41
armarx::FactoryCollectionBase
Definition: FactoryCollectionBase.h:63
Task.h
MemoryXCoreObjectFactories.h
Synchronization.h
armarx::ObjectFactories::MotionPlanningObjectFactoriesVar
const FactoryCollectionBaseCleanUp MotionPlanningObjectFactoriesVar
Definition: MotionPlanningObjectFactories.h:118
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:69
CSpaceVisualizerTask.h
WorkerNode.h
MemoryXTypesObjectFactories.h
armarx::ObjectFactories
Definition: CoreObjectFactories.h:54
Logging.h
armarx::FactoryCollectionBaseCleanUp
Definition: FactoryCollectionBase.h:38