hpp-corbaserver: idl/hpp/core_idl/path_validations.idl Source File

hpp-corbaserver 9.0.2 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;
28 typedef intSeqSeq RelativeMotionMatrix;
29
30 interface ConfigValidation
31 {
32 HPP_EXPOSE_MEMORY_DEALLOCATION(Error)
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
51 interface ConfigValidations : ConfigValidation
52 {
53 void add (in ConfigValidation validation) raises (Error);
54 size_type numberConfigValidations() raises (Error);
55 void clear() raises (Error);
56
57 HPP_CORE_OBSTACLE_USER_INTERFACE
58 }; // interface ConfigValidations
59
60 interface CollisionValidation : ConfigValidation
61 {
62 HPP_CORE_OBSTACLE_USER_INTERFACE
63 }; // interface PathValidations
64
65 interface PathValidation
66 {
67 HPP_EXPOSE_MEMORY_DEALLOCATION(Error)
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
104 interface PathValidations : PathValidation
105 {
106 HPP_CORE_OBSTACLE_USER_INTERFACE
107 }; // interface PathValidations
108
109 interface ContinuousValidation : PathValidation
110 {
111 HPP_CORE_OBSTACLE_USER_INTERFACE
112
113 void setBreakDistance(in value_type breakDistance) raises (Error);
114 //-> breakDistance
115
116 value_type getBreakDistance() raises (Error);
117 //-> breakDistance
118 }; // interface PathValidations
119
120 module pathValidation_idl {
121 // \todo at the moment, multiple parent classes is not supported.
122 interface Discretized : PathValidation
123 {
124 HPP_CORE_OBSTACLE_USER_INTERFACE
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
floatSeq
Definition: common-idl.hh:689
intSeqSeq
Definition: common-idl.hh:575
common.idl
HPP_EXPOSE_MEMORY_DEALLOCATION
#define HPP_EXPOSE_MEMORY_DEALLOCATION(ErrorType)
Definition: common.idl:14
hpp::Error
Corba exception travelling through the Corba channel.
Definition: common.idl:27
hpp::core_idl::CollisionValidation
Definition: path_validations.idl:61
hpp::core_idl::ConfigValidation
Definition: path_validations.idl:31
hpp::core_idl::ConfigValidations
Definition: path_validations.idl:52
hpp::core_idl::ConfigValidations::add
void add(in ConfigValidation validation)
hpp::core_idl::ConfigValidations::numberConfigValidations
size_type numberConfigValidations()
hpp::core_idl::ContinuousValidation
Definition: path_validations.idl:110
hpp::core_idl::ContinuousValidation::setBreakDistance
HPP_CORE_OBSTACLE_USER_INTERFACE void setBreakDistance(in value_type breakDistance)
hpp::core_idl::ContinuousValidation::getBreakDistance
value_type getBreakDistance()
hpp::core_idl::PathValidation
Definition: path_validations.idl:66
hpp::core_idl::PathValidations
Definition: path_validations.idl:105
hpp::core_idl::Path
Definition: paths.idl:23
hpp::core_idl::pathValidation_idl::Discretized
Definition: path_validations.idl:123
hpp::core_idl::ValidationReport
string ValidationReport
Definition: path_validations.idl:26
hpp::core_idl::PathValidationReport
string PathValidationReport
Definition: path_validations.idl:27
hpp
Implement CORBA interface `‘Obstacle’'.
hpp::size_type
long long size_type
Definition: common.idl:19
hpp::value_type
double value_type
Definition: common.idl:18
RelativeMotionMatrix
intSeqSeq RelativeMotionMatrix
Definition: path_validations-idl.hh:87
PathValidationReport
char * PathValidationReport
Definition: path_validations-idl.hh:83
ValidationReport
_CORBA_MODULE hpp _CORBA_MODULE_BEG _CORBA_MODULE core_idl _CORBA_MODULE_BEG typedef char * ValidationReport
Definition: path_validations-idl.hh:79
HPP_CORE_OBSTACLE_USER_INTERFACE
#define HPP_CORE_OBSTACLE_USER_INTERFACE
Definition: path_validations.idl:17
paths.idl