hpp-corbaserver  4.10.1
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 {
23  void clear () raises (Error);
24 
25  void addNode (in floatSeq config) raises (Error);
26 
27  void addNodeAndEdge (in floatSeq cfgfrom, in floatSeq cfgto, in Path path_) raises (Error);
28  //* core::PathPtr_t path (corbaServer::reference_to_servant_base<core::Path>(server_, path_)->get());
29  //* getT()->addEdge(getT()->addNode(corbaServer::floatSeqToVector(cfgfrom)),
30  //* getT()->addNode(corbaServer::floatSeqToVector(cfgto )), path);
31 
32  void addNodeAndEdges (in floatSeq cfgfrom, in floatSeq cfgto, in Path path_) raises (Error);
33  //* core::PathPtr_t path (corbaServer::reference_to_servant_base<core::Path>(server_, path_)->get());
34  //* getT()->addEdges(getT()->addNode(corbaServer::floatSeqToVector(cfgfrom)),
35  //* getT()->addNode(corbaServer::floatSeqToVector(cfgto )), path);
36 
39  floatSeq nearestNode (in floatSeq config, out value_type distance,
40  in boolean reverse) raises (Error);
41  //* return corbaServer::vectorToFloatSeq(*(getT()->nearestNode(
42  //* corbaServer::floatSeqToVector(config), distance, reverse)->configuration()));
43 
44  floatSeqSeq nearestNodes (in floatSeq config, out size_type k) raises (Error);
45  //* hpp::core::Nodes_t nodes = getT()->nearestNodes(
46  //* corbaServer::floatSeqToVector(config), k);
47  //* hpp::core::matrix_t configs (nodes.size(), config.length());
48  //* size_type i = 0;
49  //* for (hpp::core::Nodes_t::const_iterator _node = nodes.begin(); _node != nodes.end(); ++_node)
50  //* configs.row(i++) = *((*_node)->configuration());
51  //* return corbaServer::matrixToFloatSeqSeq(configs);
52 
53  size_type getNbNodes () raises (Error);
54  //* return getT()->nodes().size();
55 
56  floatSeq getNode (in size_type i) raises (Error);
57  //* return corbaServer::vectorToFloatSeq(*((*boost::next(getT()->nodes().begin(), i))->configuration()));
58 
59  size_type getNbEdges () raises (Error);
60  //* return getT()->edges().size();
61 
62  Path getEdge (in size_type i) raises (Error);
63  //* return corbaServer::makeServant<hpp::core_idl::Path_ptr> (server_,
64  //* new Path (server_, (*boost::next(getT()->edges().begin(),i))->path()));
65  }; // interface Roadmap
66 
67  interface PathPlanner
68  {
69  PathVector solve () raises (Error);
70 
71  void startSolve () raises (Error);
72 
73  void tryConnectInitAndGoals () raises (Error);
74 
75  void oneStep () raises (Error);
76 
77  PathVector computePath () raises (Error);
78 
79  PathVector finishSolve (in PathVector path) raises (Error);
80 
81  void interrupt () raises (Error);
82 
83  void maxIterations (in size_type n) raises (Error);
84 
85  void timeOut(in value_type seconds) raises (Error);
86 
87  Roadmap getRoadmap() raises (Error);
88  //-> roadmap
89  }; // interface PathPlanner
90 
91  }; // module core
92 }; // module hpp
93 
94 //* #include <boost/utility.hpp>
95 //* #include <hpp/core/path-planner.hh>
96 //* #include <hpp/core/roadmap.hh>
97 //* #include <hpp/core/edge.hh>
98 //* #include <hpp/core/node.hh>
99 //* #include <hpp/core_idl/paths.hh>
100 
101 #endif // HPP_CORE_PATH_PLANNERS_IDL
Definition: path_planners.idl:22
Definition: path_planners.idl:67
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:24
Definition: paths-idl.hh:157
Definition: common-idl.hh:684
Definition: paths.idl:22
Definition: common-idl.hh:570
Definition: paths.idl:67
long long size_type
Definition: common.idl:19