1#ifndef hpp_core_idl__path__validations_hxx__
2#define hpp_core_idl__path__validations_hxx__
24template <
typename _Base,
typename _Storage>
31template <
typename _Base,
typename _Storage>
39template <
typename _Base,
typename _Storage>
44 using namespace hpp::core;
45 ValidationReportPtr_t vr;
50 std::ostringstream oss; oss << *vr;
51 std::string res = oss.str();
52 report = CORBA::string_dup(res.c_str());
54 report = CORBA::string_dup(
"");
59 }
catch (
const std::exception& e) {
60 throw ::hpp::Error (e.what());
75template <
typename _Base,
typename _Storage>
82template <
typename _Base,
typename _Storage>
90template <
typename _Base,
typename _Storage>
95 hpp::core::ConfigValidationPtr_t _validation = ::hpp::corbaServer::reference_to_object<hpp::core::ConfigValidation>(server_, validation);
96 (getT()->add (_validation));
99 }
catch (
const std::exception& e) {
100 throw ::hpp::Error (e.what());
104template <
typename _Base,
typename _Storage>
113 }
catch (
const std::exception& e) {
114 throw ::hpp::Error (e.what());
118template <
typename _Base,
typename _Storage>
127 }
catch (
const std::exception& e) {
128 throw ::hpp::Error (e.what());
132template <
typename _Base,
typename _Storage>
138 (getT()->setSecurityMargins (_margins));
141 }
catch (
const std::exception& e) {
142 throw ::hpp::Error (e.what());
146template <
typename _Base,
typename _Storage>
151 std::string _body_a (body_a);
152 std::string _body_b (body_b);
153 (getT()->setSecurityMarginBetweenBodies (_body_a, _body_b, margin));
156 }
catch (
const std::exception& e) {
157 throw ::hpp::Error (e.what());
161template <
typename _Base,
typename _Storage>
167 (getT()->filterCollisionPairs (_relMotion));
170 }
catch (
const std::exception& e) {
171 throw ::hpp::Error (e.what());
186template <
typename _Base,
typename _Storage>
193template <
typename _Base,
typename _Storage>
201template <
typename _Base,
typename _Storage>
207 (getT()->setSecurityMargins (_margins));
210 }
catch (
const std::exception& e) {
211 throw ::hpp::Error (e.what());
215template <
typename _Base,
typename _Storage>
220 std::string _body_a (body_a);
221 std::string _body_b (body_b);
222 (getT()->setSecurityMarginBetweenBodies (_body_a, _body_b, margin));
225 }
catch (
const std::exception& e) {
226 throw ::hpp::Error (e.what());
230template <
typename _Base,
typename _Storage>
236 (getT()->filterCollisionPairs (_relMotion));
239 }
catch (
const std::exception& e) {
240 throw ::hpp::Error (e.what());
255template <
typename _Base,
typename _Storage>
262template <
typename _Base,
typename _Storage>
270template <
typename _Base,
typename _Storage>
275 using namespace hpp::core;
276 PathPtr_t _p (::hpp::corbaServer::reference_to_servant_base<core::Path>(server_, p)->get());
278 PathValidationReportPtr_t pvr;
280 bool res = get()->validate (_p, reverse, vp, pvr);
283 std::ostringstream oss; oss << *pvr;
284 std::string res = oss.str();
285 report = CORBA::string_dup(res.c_str());
287 report = CORBA::string_dup(
"");
290 validPart = ::hpp::corbaServer::makeServant<hpp::core_idl::Path_ptr> (server_,
new Path (server_, vp));
293 }
catch (
const std::exception& e) {
294 throw ::hpp::Error (e.what());
298template <
typename _Base,
typename _Storage>
303 using namespace hpp::core;
305 ValidationReportPtr_t vr;
306 bool res = get()->validate(q, vr);
308 std::ostringstream oss; oss << *vr;
309 std::string res = oss.str();
310 report = CORBA::string_dup(res.c_str());
312 report = CORBA::string_dup(
"");
316 }
catch (
const std::exception& e) {
317 throw ::hpp::Error (e.what());
332template <
typename _Base,
typename _Storage>
339template <
typename _Base,
typename _Storage>
347template <
typename _Base,
typename _Storage>
353 (getT()->setSecurityMargins (_margins));
356 }
catch (
const std::exception& e) {
357 throw ::hpp::Error (e.what());
361template <
typename _Base,
typename _Storage>
366 std::string _body_a (body_a);
367 std::string _body_b (body_b);
368 (getT()->setSecurityMarginBetweenBodies (_body_a, _body_b, margin));
371 }
catch (
const std::exception& e) {
372 throw ::hpp::Error (e.what());
376template <
typename _Base,
typename _Storage>
382 (getT()->filterCollisionPairs (_relMotion));
385 }
catch (
const std::exception& e) {
386 throw ::hpp::Error (e.what());
401template <
typename _Base,
typename _Storage>
408template <
typename _Base,
typename _Storage>
416template <
typename _Base,
typename _Storage>
422 (getT()->setSecurityMargins (_margins));
425 }
catch (
const std::exception& e) {
426 throw ::hpp::Error (e.what());
430template <
typename _Base,
typename _Storage>
435 std::string _body_a (body_a);
436 std::string _body_b (body_b);
437 (getT()->setSecurityMarginBetweenBodies (_body_a, _body_b, margin));
440 }
catch (
const std::exception& e) {
441 throw ::hpp::Error (e.what());
445template <
typename _Base,
typename _Storage>
451 (getT()->filterCollisionPairs (_relMotion));
454 }
catch (
const std::exception& e) {
455 throw ::hpp::Error (e.what());
471namespace pathValidation_impl {
472template <
typename _Base,
typename _Storage>
479template <
typename _Base,
typename _Storage>
487template <
typename _Base,
typename _Storage>
493 (getT()->setSecurityMargins (_margins));
496 }
catch (
const std::exception& e) {
497 throw ::hpp::Error (e.what());
501template <
typename _Base,
typename _Storage>
506 std::string _body_a (body_a);
507 std::string _body_b (body_b);
508 (getT()->setSecurityMarginBetweenBodies (_body_a, _body_b, margin));
511 }
catch (
const std::exception& e) {
512 throw ::hpp::Error (e.what());
516template <
typename _Base,
typename _Storage>
522 (getT()->filterCollisionPairs (_relMotion));
525 }
catch (
const std::exception& e) {
526 throw ::hpp::Error (e.what());
Implementation of Hpp module Corba server.
Definition: server.hh:77
void filterCollisionPairs(const hpp::core_idl::RelativeMotionMatrix &relMotion)
Definition: path_validations.hh:231
virtual ~CollisionValidationServant()
Definition: path_validations.hh:194
CollisionValidationServant(::hpp::corbaServer::Server *server, const _Storage &s)
Definition: path_validations.hh:187
void setSecurityMargins(const hpp::floatSeqSeq &margins)
Definition: path_validations.hh:202
void setSecurityMarginBetweenBodies(const char *body_a, const char *body_b, hpp::value_type margin)
Definition: path_validations.hh:216
Definition: path_validations-fwd.hh:35
ConfigValidationServant(::hpp::corbaServer::Server *server, const _Storage &s)
Definition: path_validations.hh:25
::CORBA::Boolean validate(const hpp::floatSeq &config, hpp::core_idl::ValidationReport_out report)
Definition: path_validations.hh:40
virtual ~ConfigValidationServant()
Definition: path_validations.hh:32
void setSecurityMarginBetweenBodies(const char *body_a, const char *body_b, hpp::value_type margin)
Definition: path_validations.hh:147
hpp::size_type numberConfigValidations()
Definition: path_validations.hh:105
virtual ~ConfigValidationsServant()
Definition: path_validations.hh:83
void setSecurityMargins(const hpp::floatSeqSeq &margins)
Definition: path_validations.hh:133
void filterCollisionPairs(const hpp::core_idl::RelativeMotionMatrix &relMotion)
Definition: path_validations.hh:162
ConfigValidationsServant(::hpp::corbaServer::Server *server, const _Storage &s)
Definition: path_validations.hh:76
void clear()
Definition: path_validations.hh:119
void add(hpp::core_idl::ConfigValidation_ptr validation)
Definition: path_validations.hh:91
void setSecurityMarginBetweenBodies(const char *body_a, const char *body_b, hpp::value_type margin)
Definition: path_validations.hh:431
virtual ~ContinuousValidationServant()
Definition: path_validations.hh:409
ContinuousValidationServant(::hpp::corbaServer::Server *server, const _Storage &s)
Definition: path_validations.hh:402
void filterCollisionPairs(const hpp::core_idl::RelativeMotionMatrix &relMotion)
Definition: path_validations.hh:446
void setSecurityMargins(const hpp::floatSeqSeq &margins)
Definition: path_validations.hh:417
Definition: paths-fwd.hh:28
Definition: path_validations-fwd.hh:169
::CORBA::Boolean validateConfiguration(const hpp::floatSeq &config, hpp::core_idl::ValidationReport_out report)
Definition: path_validations.hh:299
PathValidationServant(::hpp::corbaServer::Server *server, const _Storage &s)
Definition: path_validations.hh:256
::CORBA::Boolean validate(hpp::core_idl::Path_ptr p, ::CORBA::Boolean reverse, hpp::core_idl::Path_out validPart, hpp::core_idl::PathValidationReport_out report)
Definition: path_validations.hh:271
virtual ~PathValidationServant()
Definition: path_validations.hh:263
void setSecurityMarginBetweenBodies(const char *body_a, const char *body_b, hpp::value_type margin)
Definition: path_validations.hh:362
void filterCollisionPairs(const hpp::core_idl::RelativeMotionMatrix &relMotion)
Definition: path_validations.hh:377
virtual ~PathValidationsServant()
Definition: path_validations.hh:340
PathValidationsServant(::hpp::corbaServer::Server *server, const _Storage &s)
Definition: path_validations.hh:333
void setSecurityMargins(const hpp::floatSeqSeq &margins)
Definition: path_validations.hh:348
void setSecurityMargins(const hpp::floatSeqSeq &margins)
Definition: path_validations.hh:488
void setSecurityMarginBetweenBodies(const char *body_a, const char *body_b, hpp::value_type margin)
Definition: path_validations.hh:502
void filterCollisionPairs(const hpp::core_idl::RelativeMotionMatrix &relMotion)
Definition: path_validations.hh:517
virtual ~DiscretizedServant()
Definition: path_validations.hh:480
DiscretizedServant(::hpp::corbaServer::Server *server, const _Storage &s)
Definition: path_validations.hh:473
IntMatrix_t intSeqSeqToMatrix(const intSeqSeq &input, const size_type expectedRows=-1, const size_type expectedCols=-1)
core::matrix_t floatSeqSeqToMatrix(const floatSeqSeq &input, const size_type expectedRows=-1, const size_type expectedCols=-1)
vector_t floatSeqToVector(const floatSeq &dofArray, const size_type expectedSize=-1)
intSeqSeq RelativeMotionMatrix
Definition: path_validations.idl:28
Implement CORBA interface `‘Obstacle’'.
Definition: basic-server.hh:35
long long size_type
Definition: common.idl:19
sequence< double > floatSeq
Robot configuration is defined by a sequence of dof value.
Definition: common.idl:34
sequence< floatSeq > floatSeqSeq
Definition: common.idl:35
double value_type
Definition: common.idl:18