hpp-corbaserver  4.12.0
Corba server for Humanoid Path Planner applications
path_planners.idl
Go to the documentation of this file.
1 // Copyright (C) 2019 by Joseph Mirabel, LAAS-CNRS.
2 //
3 // This file is part of the hpp-corbaserver.
4 //
5 // This software is provided "as is" without warranty of any kind,
6 // either expressed or implied, including but not limited to the
7 // implied warranties of fitness for a particular purpose.
8 //
9 // See the COPYING file for more information.
10 
11 #ifndef HPP_CORE_PATH_PLANNERS_IDL
12 #define HPP_CORE_PATH_PLANNERS_IDL
13 #include <hpp/common.idl>
14 
15 #include <hpp/core_idl/paths.idl>
16 
17 module hpp
18 {
19  module core_idl {
20  interface Path;
21 
22  interface Roadmap {
24 
25  void clear () raises (Error);
26 
27  void addNode (in floatSeq config) raises (Error);
28 
29  void addNodeAndEdge (in floatSeq cfgfrom, in floatSeq cfgto, in Path path_) raises (Error);
30  //* core::PathPtr_t path (corbaServer::reference_to_servant_base<core::Path>(server_, path_)->get());
31  //* getT()->addEdge(getT()->addNode(corbaServer::floatSeqToVector(cfgfrom)),
32  //* getT()->addNode(corbaServer::floatSeqToVector(cfgto )), path);
33 
34  void addNodeAndEdges (in floatSeq cfgfrom, in floatSeq cfgto, in Path path_) raises (Error);
35  //* core::PathPtr_t path (corbaServer::reference_to_servant_base<core::Path>(server_, path_)->get());
36  //* getT()->addEdges(getT()->addNode(corbaServer::floatSeqToVector(cfgfrom)),
37  //* getT()->addNode(corbaServer::floatSeqToVector(cfgto )), path);
38 
41  floatSeq nearestNode (in floatSeq config, out value_type distance,
42  in boolean reverse) raises (Error);
43  //* return corbaServer::vectorToFloatSeq(*(getT()->nearestNode(
44  //* corbaServer::floatSeqToVector(config), distance, reverse)->configuration()));
45 
46  floatSeqSeq nearestNodes (in floatSeq config, out size_type k) raises (Error);
47  //* hpp::core::Nodes_t nodes = getT()->nearestNodes(
48  //* corbaServer::floatSeqToVector(config), k);
49  //* hpp::core::matrix_t configs (nodes.size(), config.length());
50  //* size_type i = 0;
51  //* for (hpp::core::Nodes_t::const_iterator _node = nodes.begin(); _node != nodes.end(); ++_node)
52  //* configs.row(i++) = *((*_node)->configuration());
53  //* return corbaServer::matrixToFloatSeqSeq(configs);
54 
55  size_type getNbNodes () raises (Error);
56  //* return getT()->nodes().size();
57 
58  floatSeq getNode (in size_type i) raises (Error);
59  //* return corbaServer::vectorToFloatSeq(*((*std::next(getT()->nodes().begin(), i))->configuration()));
60 
61  size_type getNbEdges () raises (Error);
62  //* return getT()->edges().size();
63 
64  Path getEdge (in size_type i) raises (Error);
65  //* return corbaServer::makeServant<hpp::core_idl::Path_ptr> (server_,
66  //* new Path (server_, (*std::next(getT()->edges().begin(),i))->path()));
67  }; // interface Roadmap
68 
69  interface PathPlanner
70  {
72 
73  PathVector solve () raises (Error);
74 
75  void startSolve () raises (Error);
76 
77  void tryConnectInitAndGoals () raises (Error);
78 
79  void oneStep () raises (Error);
80 
81  PathVector computePath () raises (Error);
82 
83  PathVector finishSolve (in PathVector path) raises (Error);
84 
85  void interrupt () raises (Error);
86 
87  void maxIterations (in size_type n) raises (Error);
88 
89  void timeOut(in value_type seconds) raises (Error);
90 
91  Roadmap getRoadmap() raises (Error);
92  //-> roadmap
93 
94  void stopWhenProblemIsSolved(in boolean enable) raises (Error);
95  }; // interface PathPlanner
96 
97  interface PathOptimizer
98  {
100 
101  PathVector optimize (in PathVector path) raises (Error);
102 
103  void interrupt () raises (Error);
104 
105  void maxIterations (in size_type n) raises (Error);
106 
107  void timeOut(in value_type seconds) raises (Error);
108  }; // interface PathOptimizer
109 
110  }; // module core
111 }; // module hpp
112 
113 //* #include <iterator>
114 //* #include <hpp/pinocchio/serialization.hh>
115 //* #include <hpp/core/path-planner.hh>
116 //* #include <hpp/core/path-optimizer.hh>
117 //* #include <hpp/core/roadmap.hh>
118 //* #include <hpp/core/edge.hh>
119 //* #include <hpp/core/node.hh>
120 //* #include <hpp/core_idl/paths.hh>
121 
122 #endif // HPP_CORE_PATH_PLANNERS_IDL
#define HPP_EXPOSE_MEMORY_DEALLOCATION(ErrorType)
Definition: common.idl:14
Definition: path_planners.idl:22
Definition: path_planners.idl:69
Implement CORBA interface ``Obstacle&#39;&#39;.
Definition: basic-server.hh:27
double value_type
Definition: common.idl:18
Corba exception travelling through the Corba channel.
Definition: common.idl:25
Definition: path_planners.idl:97
Definition: paths-idl.hh:157
Definition: common-idl.hh:689
Definition: paths.idl:22
Definition: common-idl.hh:575
Definition: paths.idl:67
long long size_type
Definition: common.idl:19