1 #ifndef hpp_core_idl__path__planners_hxx__ 2 #define hpp_core_idl__path__planners_hxx__ 24 template <
typename _Base,
typename _Storage>
26 :
hpp::corbaServer::ServantBase<
hpp::core::
Roadmap, _Storage> (server, s)
30 template <
typename _Base,
typename _Storage>
38 template <
typename _Base,
typename _Storage>
47 }
catch (
const std::exception& e) {
48 throw ::hpp::Error (e.what());
52 template <
typename _Base,
typename _Storage>
58 (
getT()->addNode (_config));
61 }
catch (
const std::exception& e) {
62 throw ::hpp::Error (e.what());
66 template <
typename _Base,
typename _Storage>
75 }
catch (
const std::exception& e) {
76 throw ::hpp::Error (e.what());
80 template <
typename _Base,
typename _Storage>
89 }
catch (
const std::exception& e) {
90 throw ::hpp::Error (e.what());
94 template <
typename _Base,
typename _Storage>
102 }
catch (
const std::exception& e) {
103 throw ::hpp::Error (e.what());
107 template <
typename _Base,
typename _Storage>
116 for (hpp::core::Nodes_t::const_iterator _node = nodes.begin(); _node != nodes.end(); ++_node)
117 configs.row(i++) = *((*_node)->configuration());
120 }
catch (
const std::exception& e) {
121 throw ::hpp::Error (e.what());
125 template <
typename _Base,
typename _Storage>
130 return getT()->nodes().size();
132 }
catch (
const std::exception& e) {
133 throw ::hpp::Error (e.what());
137 template <
typename _Base,
typename _Storage>
144 }
catch (
const std::exception& e) {
145 throw ::hpp::Error (e.what());
149 template <
typename _Base,
typename _Storage>
154 return getT()->edges().size();
156 }
catch (
const std::exception& e) {
157 throw ::hpp::Error (e.what());
161 template <
typename _Base,
typename _Storage>
166 return corbaServer::makeServant<hpp::core_idl::Path_ptr> (
server_,
167 new Path (server_, (*boost::next(
getT()->edges().begin(),i))->path()));
169 }
catch (
const std::exception& e) {
170 throw ::hpp::Error (e.what());
184 namespace core_impl {
185 template <
typename _Base,
typename _Storage>
191 template <
typename _Base,
typename _Storage>
199 template <
typename _Base,
typename _Storage>
207 return ::hpp::corbaServer::makeServantDownCast<hpp::core_impl::Path,hpp::core_impl::PathVector>(
server_, __return__)._retn();
208 }
catch (
const std::exception& e) {
209 throw ::hpp::Error (e.what());
213 template <
typename _Base,
typename _Storage>
219 (
getT()->startSolve ());
222 }
catch (
const std::exception& e) {
223 throw ::hpp::Error (e.what());
227 template <
typename _Base,
typename _Storage>
233 (
getT()->tryConnectInitAndGoals ());
236 }
catch (
const std::exception& e) {
237 throw ::hpp::Error (e.what());
241 template <
typename _Base,
typename _Storage>
247 (
getT()->oneStep ());
250 }
catch (
const std::exception& e) {
251 throw ::hpp::Error (e.what());
255 template <
typename _Base,
typename _Storage>
263 return ::hpp::corbaServer::makeServantDownCast<hpp::core_impl::Path,hpp::core_impl::PathVector>(
server_, __return__)._retn();
264 }
catch (
const std::exception& e) {
265 throw ::hpp::Error (e.what());
269 template <
typename _Base,
typename _Storage>
277 return ::hpp::corbaServer::makeServantDownCast<hpp::core_impl::Path,hpp::core_impl::PathVector>(
server_, __return__)._retn();
278 }
catch (
const std::exception& e) {
279 throw ::hpp::Error (e.what());
283 template <
typename _Base,
typename _Storage>
289 (
getT()->interrupt ());
292 }
catch (
const std::exception& e) {
293 throw ::hpp::Error (e.what());
297 template <
typename _Base,
typename _Storage>
303 (
getT()->maxIterations (n));
306 }
catch (
const std::exception& e) {
307 throw ::hpp::Error (e.what());
311 template <
typename _Base,
typename _Storage>
317 (
getT()->timeOut (seconds));
320 }
catch (
const std::exception& e) {
321 throw ::hpp::Error (e.what());
325 template <
typename _Base,
typename _Storage>
331 hpp::core::RoadmapPtr_t __return__ (
getT()->roadmap ());
333 return ::hpp::corbaServer::makeServantDownCast<hpp::core_impl::Roadmap,hpp::core_impl::Roadmap>(
server_, __return__)._retn();
334 }
catch (
const std::exception& e) {
335 throw ::hpp::Error (e.what());
348 #endif // hpp_core_idl__path__planners_hxx__ void timeOut(hpp::value_type seconds)
Definition: path_planners.hh:312
void clear()
Definition: path_planners.hh:39
Definition: path_planners-fwd.hh:29
hpp::core_idl::Roadmap_ptr getRoadmap()
Definition: path_planners.hh:326
hpp::core_idl::Path_ptr getEdge(hpp::size_type i)
Definition: path_planners.hh:162
Implement CORBA interface ``Obstacle''.
Definition: basic-server.hh:27
RoadmapServant(::hpp::corbaServer::Server *server, const _Storage &s)
Definition: path_planners.hh:25
double value_type
Definition: common.idl:18
sequence< floatSeq > floatSeqSeq
Definition: common.idl:33
hpp::floatSeqSeq * nearestNodes(const hpp::floatSeq &config, hpp::size_type &k)
Definition: path_planners.hh:108
_objref_Roadmap * Roadmap_ptr
Definition: path_planners-idl.hh:109
virtual ~PathPlannerServant()
Definition: path_planners.hh:192
vector_t floatSeqToVector(const floatSeq &dofArray, const size_type expectedSize=-1)
Server * server_
Definition: servant-base.hh:97
hpp::floatSeq * getNode(hpp::size_type i)
Definition: path_planners.hh:138
hpp::core_idl::PathVector_ptr computePath()
Definition: path_planners.hh:256
PathServant< POA_hpp::core_idl::Path, boost::weak_ptr< hpp::core::Path > > Path
Definition: paths-fwd.hh:84
void addNode(const hpp::floatSeq &config)
Definition: path_planners.hh:53
virtual ~RoadmapServant()
Definition: path_planners.hh:31
pinocchio::vector_t vector_t
Definition: fwd.hh:89
hpp::size_type getNbEdges()
Definition: path_planners.hh:150
void oneStep()
Definition: path_planners.hh:242
hpp::size_type getNbNodes()
Definition: path_planners.hh:126
ServantBase(Server *server, const Storage &_s)
Definition: servant-base.hh:165
void startSolve()
Definition: path_planners.hh:214
Storage s
Definition: servant-base.hh:171
void interrupt()
Definition: path_planners.hh:284
hpp::floatSeq * nearestNode(const hpp::floatSeq &config, hpp::value_type &distance, ::CORBA::Boolean reverse)
Definition: path_planners.hh:95
_objref_PathVector * PathVector_ptr
Definition: paths-idl.hh:82
void maxIterations(hpp::size_type n)
Definition: path_planners.hh:298
core::PathVectorPtr_t PathVectorPtr_t
Definition: fwd.hh:77
Implementation of Hpp module Corba server.
Definition: server.hh:54
pinocchio::matrix_t matrix_t
Definition: fwd.hh:87
void addNodeAndEdge(const hpp::floatSeq &cfgfrom, const hpp::floatSeq &cfgto, hpp::core_idl::Path_ptr path_)
Definition: path_planners.hh:67
Definition: path_planners-fwd.hh:88
floatSeqSeq * matrixToFloatSeqSeq(core::matrixIn_t input)
Returns a sequence of the rows of the input matrix.
hpp::core_idl::PathVector_ptr finishSolve(hpp::core_idl::PathVector_ptr path)
Definition: path_planners.hh:270
floatSeq * vectorToFloatSeq(core::vectorIn_t input)
StorageElementShPtr_t getT() const
Definition: servant-base.hh:121
_objref_Path * Path_ptr
Definition: path_planners-idl.hh:83
sequence< double > floatSeq
Robot configuration is defined by a sequence of dof value.
Definition: common.idl:32
hpp::core_idl::PathVector_ptr solve()
Definition: path_planners.hh:200
core::Nodes_t Nodes_t
Definition: fwd.hh:69
core::PathPtr_t PathPtr_t
Definition: fwd.hh:74
void addNodeAndEdges(const hpp::floatSeq &cfgfrom, const hpp::floatSeq &cfgto, hpp::core_idl::Path_ptr path_)
Definition: path_planners.hh:81
void tryConnectInitAndGoals()
Definition: path_planners.hh:228
PathPlannerServant(::hpp::corbaServer::Server *server, const _Storage &s)
Definition: path_planners.hh:186
long long size_type
Definition: common.idl:19