hpp-corbaserver  4.14.0
Corba server for Humanoid Path Planner applications
path_validations.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_VALIDATIONS_IDL
12 #define HPP_CORE_PATH_VALIDATIONS_IDL
13 #include <hpp/common.idl>
14 
15 #include <hpp/core_idl/paths.idl>
16 
17 #define HPP_CORE_OBSTACLE_USER_INTERFACE \
18  void setSecurityMargins(in floatSeqSeq margins) raises(Error); \
19  void setSecurityMarginBetweenBodies(in string body_a, in string body_b, in value_type margin) raises(Error); \
20  void filterCollisionPairs (in RelativeMotionMatrix relMotion) raises(Error);
21 
22 
23 module hpp
24 {
25  module core_idl {
26  typedef string ValidationReport;
27  typedef string PathValidationReport;
29 
30  interface ConfigValidation
31  {
32  boolean validate (in floatSeq config, out ValidationReport report) raises (Error);
33  //* using namespace hpp::core;
34  //* ValidationReportPtr_t vr;
35  //*
36  //* bool res = get()->validate (hpp::corbaServer::floatSeqToVector(config), vr);
37  //*
38  //* if (vr) {
39  //* std::ostringstream oss; oss << *vr;
40  //* std::string res = oss.str();
41  //* report = CORBA::string_dup(res.c_str());
42  //* } else {
43  //* report = CORBA::string_dup("");
44  //* }
45  //*
46  //* return res;
47  }; // interface ConfigValidation
48 
50  {
51  void add (in ConfigValidation validation) raises (Error);
52  size_type numberConfigValidations() raises (Error);
53  void clear() raises (Error);
54 
56  }; // interface ConfigValidations
57 
59  {
61  }; // interface PathValidations
62 
63  interface PathValidation
64  {
65  boolean validate (in Path p, in boolean reverse, out Path validPart, out PathValidationReport report) raises (Error);
66  //* using namespace hpp::core;
67  //* PathPtr_t _p (::hpp::corbaServer::reference_to_servant_base<core::Path>(server_, p)->get());
68  //* PathPtr_t vp;
69  //* PathValidationReportPtr_t pvr;
70  //*
71  //* bool res = get()->validate (_p, reverse, vp, pvr);
72  //*
73  //* if (pvr) {
74  //* std::ostringstream oss; oss << *pvr;
75  //* std::string res = oss.str();
76  //* report = CORBA::string_dup(res.c_str());
77  //* } else {
78  //* report = CORBA::string_dup("");
79  //* }
80  //*
81  //* validPart = ::hpp::corbaServer::makeServant<hpp::core_idl::Path_ptr> (server_, new Path (server_, vp));
82  //* return res;
83 
84  boolean validateConfiguration (in floatSeq config,
85  out ValidationReport report) raises (Error);
86  //* using namespace hpp::core;
87  //* Configuration_t q(corbaServer::floatSeqToVector(config));
88  //* ValidationReportPtr_t vr;
89  //* bool res = get()->validate(q, vr);
90  //* if (vr) {
91  //* std::ostringstream oss; oss << *vr;
92  //* std::string res = oss.str();
93  //* report = CORBA::string_dup(res.c_str());
94  //* } else {
95  //* report = CORBA::string_dup("");
96  //* }
97  //* return res;
98  }; // interface SteeringMethod
99 
101  {
103  }; // interface PathValidations
104 
106  {
108  }; // interface PathValidations
109 
110  module pathValidation_idl {
111  // \todo at the moment, multiple parent classes is not supported.
113  {
115  }; // interface PathValidations
116  }; // module pathValidation
117 
118  }; // module core
119 }; // module hpp
120 //* #include <hpp/core/config-validation.hh>
121 //* #include <hpp/core/config-validations.hh>
122 //* #include <hpp/core/collision-validation.hh>
123 //* #include <hpp/core/path-validation.hh>
124 //* #include <hpp/core/path-validations.hh>
125 //* #include <hpp/core/path-validation-report.hh>
126 //* #include <hpp/core/path-validation/discretized.hh>
127 //* #include <hpp/core/continuous-validation.hh>
128 //* #include <hpp/core_idl/paths.hh>
129 //* #include <hpp/corbaserver/conversions.hh>
130 
131 #endif // HPP_CORE_PATH_VALIDATIONS_IDL
Definition: path_validations.idl:58
Definition: path_validations.idl:112
_CORBA_MODULE hpp _CORBA_MODULE_BEG _CORBA_MODULE core_idl _CORBA_MODULE_BEG typedef char * ValidationReport
Definition: path_validations-idl.hh:79
Implement CORBA interface ``Obstacle&#39;&#39;.
Definition: basic-server.hh:35
Corba exception travelling through the Corba channel.
Definition: common.idl:26
Definition: path_validations.idl:63
Definition: path_validations.idl:49
Definition: common-idl.hh:575
Definition: path_validations.idl:105
Definition: paths.idl:22
Definition: common-idl.hh:689
intSeqSeq RelativeMotionMatrix
Definition: path_validations-idl.hh:87
#define HPP_CORE_OBSTACLE_USER_INTERFACE
Definition: path_validations.idl:17
Definition: path_validations.idl:30
Definition: path_validations.idl:100
char * PathValidationReport
Definition: path_validations-idl.hh:83
long long size_type
Definition: common.idl:19