hpp-corbaserver  4.9.0
Corba server for Humanoid Path Planner applications
_constraints.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_CONSTRAINTS_IDL
12 #define HPP_CORE_CONSTRAINTS_IDL
13 #include <hpp/common.idl>
14 
16 
17 module hpp
18 {
19  module constraints_idl {
20  interface Implicit;
21  typedef sequence <Implicit> Implicits;
22  };
23 
24  module core_idl {
25 
26  interface Constraint
27  {
28  boolean apply (inout floatSeq config) raises (Error);
29 
30  string name () raises (Error);
31  string str () raises (Error);
32  boolean isSatisfied (in floatSeq config) raises (Error);
33  }; // interface Constraint
34 
36  {
37  void setRightHandSideFromConfig (in floatSeq config) raises (Error);
38  //-> rightHandSideFromConfig
39  void setRightHandSideOfConstraintFromConfig (in constraints_idl::Implicit nm, in floatSeq config) raises (Error);
40  //-> rightHandSideFromConfig
41  void setRightHandSide (in floatSeq param) raises (Error);
42  //-> rightHandSide
43  void setRightHandSideOfConstraint (in constraints_idl::Implicit nm, in floatSeq rhs) raises (Error);
44  //-> rightHandSide
45  floatSeq getRightHandSide () raises (Error);
46  //-> rightHandSide
47  void setRightHandSideAt (in value_type s) raises (Error);
48  //-> rightHandSideAt
49  boolean isConstraintSatisfied (in constraints_idl::Implicit nm,
50  in floatSeq arg, out floatSeq err,
51  out boolean constraintFound) raises (Error);
52  //* hpp::core::vector_t _arg = hpp::corbaServer::floatSeqToVector (arg);
53  //* hpp::constraints::ImplicitPtr_t _nm = reference_to_servant_base<hpp::constraints::Implicit>(server_, nm)->get();
54  //* vector_t errorOut (_nm->function ().outputSpace ()->nv ());
55  //* bool res = getT ()->solver ().isConstraintSatisfied
56  //* (_nm, _arg,errorOut, constraintFound);
57  //* err = hpp::corbaServer::vectorToFloatSeq (errorOut);
58  //* return res;
59 
60  constraints_idl::Implicits numericalConstraints() raises(Error);
61 
62  boolean add (in constraints_idl::Implicit numconstraint, in unsigned long priority);
63 
64  void setLastIsOptional (in boolean optional);
65  //-> lastIsOptional
66 
67  boolean getLastIsOptional ();
68  //-> lastIsOptional
69  }; // interface ConfigProjector
70 
72  {
76  Constraint getConfigProjector () raises (Error);
77  //-> configProjector
78  }; // interface ConstraintSet
79 
80  }; // module core
81 }; // module hpp
82 //* #include <hpp/core/constraint.hh>
83 //* #include <hpp/core/constraint-set.hh>
84 //* #include <hpp/core/config-projector.hh>
85 //* #include <hpp/constraints_idl/constraints.hh>
86 //* #include <hpp/constraints/solver/by-substitution.hh>
87 
88 #endif // HPP_CORE_CONSTRAINTS_IDL
sequence< Implicit > Implicits
Definition: _constraints.idl:20
Definition: _constraints.idl:71
Implement CORBA interface ``Obstacle&#39;&#39;.
double value_type
Definition: common.idl:18
Definition: constraints.idl:40
Corba exception travelling through the Corba channel.
Definition: common.idl:24
Definition: _constraints.idl:35
Definition: _constraints.idl:26
sequence< double > floatSeq
Robot configuration is defined by a sequence of dof value.
Definition: common.idl:32