hpp-manipulation-corba 5.2.0
Corba server for manipulation planning
Loading...
Searching...
No Matches
_graph.idl
Go to the documentation of this file.
1// Copyright (c) 2019, LAAS-CNRS
2// Authors: Joseph Mirabel (joseph.mirabel@laas.fr)
3//
4// Redistribution and use in source and binary forms, with or without
5// modification, are permitted provided that the following conditions are
6// met:
7//
8// 1. Redistributions of source code must retain the above copyright
9// notice, this list of conditions and the following disclaimer.
10//
11// 2. Redistributions in binary form must reproduce the above copyright
12// notice, this list of conditions and the following disclaimer in the
13// documentation and/or other materials provided with the distribution.
14//
15// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
16// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
17// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
18// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
19// HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
20// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
21// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
26// DAMAGE.
27
28
29#ifndef HPP_MANIPULATION_GRAPH_IDL
30#define HPP_MANIPULATION_GRAPH_IDL
31
33#include <hpp/common.idl>
34#include <hpp/constraints_idl/constraints.idl>
35#include <hpp/core_idl/steering_methods.idl>
36#include <hpp/core_idl/path_validations.idl>
37
38module hpp {
39 module constraints_idl {
40 interface Implicit;
41 interface LockedJoint;
42 typedef sequence <LockedJoint> LockedJoints;
43 };
44 module core_idl {
45 interface SteeringMethod;
46 interface PathValidation;
47 };
48 module manipulation_idl {
49 module graph_idl {
50 typedef unsigned long long size_t;
51 interface State;
52 typedef sequence<State> States;
53 interface Edge;
54 typedef sequence<Edge> Edges;
55 interface Graph;
56
57 interface GraphComponent {
58 string name () raises (Error);
59 size_t id () raises (Error);
60
61 Graph parentGraph () raises (Error);
62
63 void addNumericalConstraint (in constraints_idl::Implicit nm) raises (Error);
64 void addNumericalCost (in constraints_idl::Implicit nm) raises (Error);
65
66 constraints_idl::Implicits numericalConstraints () raises (Error);
67
68 constraints_idl::Implicits numericalCosts () raises (Error);
69
70 void resetNumericalConstraints () raises (Error);
71
72 void setSolveLevelByLevel(in boolean input) raises(Error);
73 //-> solveLevelByLevel
74 boolean getSolveLevelByLevel() raises(Error);
75 //-> solveLevelByLevel
76 }; // interface GraphComponent
77
78 interface StateSelector
79 {
80 string name () raises (Error);
81
82 Graph parentGraph () raises (Error);
83
84 States getStates () raises (Error);
85 }; // interface StateSelector
86
88 {
90 //-> stateSelector
91 GraphComponent get (in size_t id) raises (Error);
92 size_t nbComponents () raises (Error);
93 void initialize () raises (Error);
94
95 State getState (in floatSeq config) raises (Error);
96 Edges getEdges (in State from, in State to) raises (Error);
97 }; // interface Graph
98
100 {
101 boolean contains (in floatSeq config) raises (Error);
102 Edge linkTo (in string name, in State to, in size_type weight) raises (Error);
103
104 Edges neighborEdges () raises (Error);
105 Edges hiddenNeighbors () raises (Error);
106
107 core_idl::ConstraintSet configConstraint () raises (Error);
108 }; // interface State
109
111 {
112 State stateFrom () raises (Error);
113 State stateTo () raises (Error);
114 State getState () raises (Error);
115 //-> state
116 void setState (in State st) raises (Error);
117 //-> state
118 intSeqSeq getRelativeMotion () raises (Error);
119 //* return corbaServer::matrixToIntSeqSeq(getT()->relativeMotion().template cast<CORBA::Long>());
120 floatSeqSeq getSecurityMargins () raises (Error);
121 //-> securityMargins
122 void setSecurityMarginForPair(in size_type row, in size_type col, in value_type margin) raises (Error);
123 //-> securityMarginForPair
124
125 boolean generateTargetConfig(in floatSeq qStart, inout floatSeq q)
126 raises(Error);
127
128 core_idl::SteeringMethod getSteeringMethod () raises (Error);
129 //-> steeringMethod
130 core_idl::PathValidation getPathValidation () raises (Error);
131 //-> pathValidation
132
134 core_idl::ConstraintSet configConstraint () raises (Error);
135 //-> targetConstraint
136
137 core_idl::ConstraintSet targetConstraint () raises (Error);
138
139 core_idl::ConstraintSet pathConstraint () raises (Error);
140 }; // interface Edge
141
142 interface LevelSetEdge : Edge
143 {
144 constraints_idl::Implicits paramConstraints() raises(Error);
145 constraints_idl::Implicits conditionConstraints() raises(Error);
146 boolean generateTargetConfigOnLeaf(in floatSeq qStart,
147 in floatSeq qLeaf,
148 inout floatSeq q) raises(Error);
149 }; // interface LevelSetEdge
150
151 interface Validation
152 {
153 string str () raises (Error);
154
155 boolean hasErrors () raises (Error);
156
157 boolean hasWarnings () raises (Error);
158
159 stringSeqSeq getCollisionsForNode (in string name) raises (Error);
160 //* std::string _name (name);
161 //* hpp::stringSeqSeq* __return__ (hpp::corbaServer::vectorToStringSeqSeq(getT()->getCollisionsForNode (_name)));
162 //* return __return__;
163
164 boolean validate (in GraphComponent comp) raises (Error);
165 }; // interface Validation
166 }; // module graph
167 }; // module manipulation
168}; // module hpp
169
170//* #include <hpp/constraints_idl/constraints.hh>
171//* #include <hpp/core_idl/steering_methods.hh>
172//* #include <hpp/core_idl/path_validations.hh>
173//* #include <hpp/manipulation/graph/edge.hh>
174//* #include <hpp/manipulation/graph/graph.hh>
175//* #include <hpp/manipulation/graph/state.hh>
176//* #include <hpp/manipulation/graph/state-selector.hh>
177//* #include <hpp/manipulation/graph/validation.hh>
178
179#endif // HPP_MANIPULATION_STEERING_METHODS_IDL
constraints_idl::Implicits paramConstraints()
boolean contains(in floatSeq config)
Edge linkTo(in string name, in State to, in size_type weight)
sequence< LockedJoint > LockedJoints
Definition _graph.idl:42
sequence< State > States
Definition _graph.idl:52
sequence< Edge > Edges
Definition _graph.idl:54
unsigned long long size_t
Definition _graph.idl:50
Definition client.hh:46