hpp-corbaserver  6.0.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  {
33 
34  boolean validate (in floatSeq config, out ValidationReport report) raises (Error);
35  //* using namespace hpp::core;
36  //* ValidationReportPtr_t vr;
37  //*
38  //* bool res = get()->validate (hpp::corbaServer::floatSeqToVector(config), vr);
39  //*
40  //* if (vr) {
41  //* std::ostringstream oss; oss << *vr;
42  //* std::string res = oss.str();
43  //* report = CORBA::string_dup(res.c_str());
44  //* } else {
45  //* report = CORBA::string_dup("");
46  //* }
47  //*
48  //* return res;
49  }; // interface ConfigValidation
50 
52  {
53  void add (in ConfigValidation validation) raises (Error);
55  void clear() raises (Error);
56 
58  }; // interface ConfigValidations
59 
61  {
63  }; // interface PathValidations
64 
65  interface PathValidation
66  {
68 
69  boolean validate (in Path p, in boolean reverse, out Path validPart, out PathValidationReport report) raises (Error);
70  //* using namespace hpp::core;
71  //* PathPtr_t _p (::hpp::corbaServer::reference_to_servant_base<core::Path>(server_, p)->get());
72  //* PathPtr_t vp;
73  //* PathValidationReportPtr_t pvr;
74  //*
75  //* bool res = get()->validate (_p, reverse, vp, pvr);
76  //*
77  //* if (pvr) {
78  //* std::ostringstream oss; oss << *pvr;
79  //* std::string res = oss.str();
80  //* report = CORBA::string_dup(res.c_str());
81  //* } else {
82  //* report = CORBA::string_dup("");
83  //* }
84  //*
85  //* validPart = ::hpp::corbaServer::makeServant<hpp::core_idl::Path_ptr> (server_, new Path (server_, vp));
86  //* return res;
87 
88  boolean validateConfiguration (in floatSeq config,
89  out ValidationReport report) raises (Error);
90  //* using namespace hpp::core;
91  //* Configuration_t q(corbaServer::floatSeqToVector(config));
92  //* ValidationReportPtr_t vr;
93  //* bool res = get()->validate(q, vr);
94  //* if (vr) {
95  //* std::ostringstream oss; oss << *vr;
96  //* std::string res = oss.str();
97  //* report = CORBA::string_dup(res.c_str());
98  //* } else {
99  //* report = CORBA::string_dup("");
100  //* }
101  //* return res;
102  }; // interface SteeringMethod
103 
105  {
107  }; // interface PathValidations
108 
110  {
112 
113  void setBreakDistance(in value_type breakDistance) raises (Error);
114  //-> breakDistance
115 
117  //-> breakDistance
118  }; // interface PathValidations
119 
120  module pathValidation_idl {
121  // \todo at the moment, multiple parent classes is not supported.
123  {
125  }; // interface PathValidations
126  }; // module pathValidation
127 
128  }; // module core
129 }; // module hpp
130 //* #include <hpp/core/config-validation.hh>
131 //* #include <hpp/core/config-validations.hh>
132 //* #include <hpp/core/collision-validation.hh>
133 //* #include <hpp/core/path-validation.hh>
134 //* #include <hpp/core/path-validations.hh>
135 //* #include <hpp/core/path-validation-report.hh>
136 //* #include <hpp/core/path-validation/discretized.hh>
137 //* #include <hpp/core/continuous-validation.hh>
138 //* #include <hpp/core_idl/paths.hh>
139 //* #include <hpp/corbaserver/conversions.hh>
140 
141 #endif // HPP_CORE_PATH_VALIDATIONS_IDL
Definition: common-idl.hh:689
Definition: common-idl.hh:575
#define HPP_EXPOSE_MEMORY_DEALLOCATION(ErrorType)
Definition: common.idl:14
Corba exception travelling through the Corba channel.
Definition: common.idl:27
Definition: path_validations.idl:61
Definition: path_validations.idl:31
Definition: path_validations.idl:52
void add(in ConfigValidation validation)
Definition: path_validations.idl:110
HPP_CORE_OBSTACLE_USER_INTERFACE void setBreakDistance(in value_type breakDistance)
Definition: path_validations.idl:66
Definition: path_validations.idl:105
Definition: paths.idl:23
Definition: path_validations.idl:123
string ValidationReport
Definition: path_validations.idl:26
string PathValidationReport
Definition: path_validations.idl:27
Implement CORBA interface `‘Obstacle’'.
Definition: client.hh:46
long long size_type
Definition: common.idl:19
double value_type
Definition: common.idl:18
intSeqSeq RelativeMotionMatrix
Definition: path_validations-idl.hh:87
char * PathValidationReport
Definition: path_validations-idl.hh:83
_CORBA_MODULE hpp _CORBA_MODULE_BEG _CORBA_MODULE core_idl _CORBA_MODULE_BEG typedef char * ValidationReport
Definition: path_validations-idl.hh:79
#define HPP_CORE_OBSTACLE_USER_INTERFACE
Definition: path_validations.idl:17