hpp-corbaserver  4.14.0
Corba server for Humanoid Path Planner applications
problem-idl.hh
Go to the documentation of this file.
1 // This file is generated by omniidl (C++ backend)- omniORB_4_2. Do not edit.
2 #ifndef __problem_hh__
3 #define __problem_hh__
4 
5 #ifndef __CORBA_H_EXTERNAL_GUARD__
6 #include <omniORB4/CORBA.h>
7 #endif
8 
9 #ifndef USE_stub_in_nt_dll
10 # define USE_stub_in_nt_dll_NOT_DEFINED_problem
11 #endif
12 #ifndef USE_core_stub_in_nt_dll
13 # define USE_core_stub_in_nt_dll_NOT_DEFINED_problem
14 #endif
15 #ifndef USE_dyn_stub_in_nt_dll
16 # define USE_dyn_stub_in_nt_dll_NOT_DEFINED_problem
17 #endif
18 
19 
20 
21 #ifndef __common_hh_EXTERNAL_GUARD__
22 #define __common_hh_EXTERNAL_GUARD__
23 #include <hpp/common-idl.hh>
24 #endif
25 #ifndef __constraints_hh_EXTERNAL_GUARD__
26 #define __constraints_hh_EXTERNAL_GUARD__
28 #endif
29 #ifndef __distances_hh_EXTERNAL_GUARD__
30 #define __distances_hh_EXTERNAL_GUARD__
32 #endif
33 #ifndef __paths_hh_EXTERNAL_GUARD__
34 #define __paths_hh_EXTERNAL_GUARD__
36 #endif
37 #ifndef ____constraints_hh_EXTERNAL_GUARD__
38 #define ____constraints_hh_EXTERNAL_GUARD__
40 #endif
41 #ifndef __steering__methods_hh_EXTERNAL_GUARD__
42 #define __steering__methods_hh_EXTERNAL_GUARD__
44 #endif
45 #ifndef __path__planners_hh_EXTERNAL_GUARD__
46 #define __path__planners_hh_EXTERNAL_GUARD__
48 #endif
49 #ifndef __path__projectors_hh_EXTERNAL_GUARD__
50 #define __path__projectors_hh_EXTERNAL_GUARD__
52 #endif
53 #ifndef __path__validations_hh_EXTERNAL_GUARD__
54 #define __path__validations_hh_EXTERNAL_GUARD__
56 #endif
57 #ifndef ____problem_hh_EXTERNAL_GUARD__
58 #define ____problem_hh_EXTERNAL_GUARD__
60 #endif
61 #ifndef __robots_hh_EXTERNAL_GUARD__
62 #define __robots_hh_EXTERNAL_GUARD__
64 #endif
65 #ifndef __configuration__shooters_hh_EXTERNAL_GUARD__
66 #define __configuration__shooters_hh_EXTERNAL_GUARD__
68 #endif
69 
70 
71 
72 #ifdef USE_stub_in_nt_dll
73 # ifndef USE_core_stub_in_nt_dll
74 # define USE_core_stub_in_nt_dll
75 # endif
76 # ifndef USE_dyn_stub_in_nt_dll
77 # define USE_dyn_stub_in_nt_dll
78 # endif
79 #endif
80 
81 #ifdef _core_attr
82 # error "A local CPP macro _core_attr has already been defined."
83 #else
84 # ifdef USE_core_stub_in_nt_dll
85 # define _core_attr _OMNIORB_NTDLL_IMPORT
86 # else
87 # define _core_attr
88 # endif
89 #endif
90 
91 #ifdef _dyn_attr
92 # error "A local CPP macro _dyn_attr has already been defined."
93 #else
94 # ifdef USE_dyn_stub_in_nt_dll
95 # define _dyn_attr _OMNIORB_NTDLL_IMPORT
96 # else
97 # define _dyn_attr
98 # endif
99 #endif
100 
101 
102 
103 _CORBA_MODULE hpp
104 
105 _CORBA_MODULE_BEG
106 
107  _CORBA_MODULE corbaserver
108 
109  _CORBA_MODULE_BEG
110 
111 #ifndef __hpp_mcorbaserver_mProblem__
112 #define __hpp_mcorbaserver_mProblem__
113  class Problem;
114  class _objref_Problem;
116 
117  typedef _objref_Problem* Problem_ptr;
119 
121  public:
123 
124  static _ptr_type _nil();
125  static _CORBA_Boolean is_nil(_ptr_type);
126  static void release(_ptr_type);
127  static void duplicate(_ptr_type);
128  static void marshalObjRef(_ptr_type, cdrStream&);
129  static _ptr_type unmarshalObjRef(cdrStream&);
130  };
131 
132  typedef _CORBA_ObjRef_Var<_objref_Problem, Problem_Helper> Problem_var;
133  typedef _CORBA_ObjRef_OUT_arg<_objref_Problem,Problem_Helper > Problem_out;
134 
135 #endif
136 
137  // interface Problem
138  class Problem {
139  public:
140  // Declarations for this interface type.
143 
144  static _ptr_type _duplicate(_ptr_type);
145  static _ptr_type _narrow(::CORBA::Object_ptr);
146  static _ptr_type _unchecked_narrow(::CORBA::Object_ptr);
147 
148  static _ptr_type _nil();
149 
150  static inline void _marshalObjRef(_ptr_type, cdrStream&);
151 
152  static inline _ptr_type _unmarshalObjRef(cdrStream& s) {
153  omniObjRef* o = omniObjRef::_unMarshal(_PD_repoId,s);
154  if (o)
155  return (_ptr_type) o->_ptrToObjRef(_PD_repoId);
156  else
157  return _nil();
158  }
159 
160  static inline _ptr_type _fromObjRef(omniObjRef* o) {
161  if (o)
162  return (_ptr_type) o->_ptrToObjRef(_PD_repoId);
163  else
164  return _nil();
165  }
166 
167  static _core_attr const char* _PD_repoId;
168 
169  // Other IDL defined within this scope.
170 
171  };
172 
174  public virtual ::CORBA::Object,
175  public virtual omniObjRef
176  {
177  public:
178  // IDL operations
179  void setRandomSeed(::CORBA::Long seed);
180  void setMaxNumThreads(::CORBA::UShort n);
181  ::CORBA::UShort getMaxNumThreads();
182  Names_t* getAvailable(const char* type);
183  Names_t* getSelected(const char* type);
184  void setParameter(const char* name, const ::CORBA::Any& value);
185  ::CORBA::Any* getParameter(const char* name);
186  char* getParameterDoc(const char* name);
187  ::CORBA::Boolean selectProblem(const char* name);
188  void resetProblem();
189  ::CORBA::Boolean loadPlugin(const char* pluginName);
190  void movePathToProblem(::CORBA::ULong pathId, const char* problemName, const ::hpp::Names_t& jointNames);
191  void setInitialConfig(const ::hpp::floatSeq& dofArray);
192  floatSeq* getInitialConfig();
193  void addGoalConfig(const ::hpp::floatSeq& dofArray);
194  floatSeqSeq* getGoalConfigs();
195  void resetGoalConfigs();
196  void setGoalConstraints(const ::hpp::Names_t& constraints);
197  void resetGoalConstraints();
198  ::CORBA::Boolean applyConstraints(const ::hpp::floatSeq& input, ::hpp::floatSeq_out output, ::CORBA::Double& residualError);
199  ::CORBA::Boolean optimize(const ::hpp::floatSeq& input, ::hpp::floatSeq_out output, ::hpp::floatSeq_out residualError);
200  void computeValueAndJacobian(const ::hpp::floatSeq& config, ::hpp::floatSeq_out value, ::hpp::floatSeqSeq_out jacobian);
201  ::CORBA::Boolean generateValidConfig(::CORBA::ULong maxIter, ::hpp::floatSeq_out output, ::CORBA::Double& residualError);
202  void createOrientationConstraint(const char* constraintName, const char* joint1Name, const char* joint2Name, const ::hpp::Quaternion_ p, const ::hpp::boolSeq& mask);
203  void createTransformationConstraint(const char* constraintName, const char* joint1Name, const char* joint2Name, const ::hpp::Transform_ ref, const ::hpp::boolSeq& mask);
204  void createTransformationR3xSO3Constraint(const char* constraintName, const char* joint1Name, const char* joint2Name, const ::hpp::Transform_ frame1, const ::hpp::Transform_ frame2, const ::hpp::boolSeq& mask);
205  void createTransformationConstraint2(const char* constraintName, const char* joint1Name, const char* joint2Name, const ::hpp::Transform_ frame1, const ::hpp::Transform_ frame2, const ::hpp::boolSeq& mask);
206  void createLockedJoint(const char* lockedJointName, const char* jointName, const ::hpp::floatSeq& value);
207  void createLockedJointWithComp(const char* lockedJointName, const char* jointName, const ::hpp::floatSeq& value, const ::hpp::ComparisonTypes_t& comp);
208  void createLockedExtraDof(const char* lockedDofName, ::CORBA::ULong index, const ::hpp::floatSeq& value);
209  void createManipulability(const char* name, const char* function);
210  void createComBeetweenFeet(const char* constraintName, const char* comName, const char* jointLName, const char* jointRName, const ::hpp::floatSeq& pointL, const ::hpp::floatSeq& pointR, const char* jointRefName, const ::hpp::floatSeq& pointRef, const ::hpp::boolSeq& mask);
211  void createRelativeComConstraint(const char* constraintName, const char* comName, const char* jointLName, const ::hpp::floatSeq& point, const ::hpp::boolSeq& mask);
212  void createConvexShapeContactConstraint(const char* constraintName, const ::hpp::Names_t& floorJoints, const ::hpp::Names_t& objectJoints, const ::hpp::floatSeqSeq& pts, const ::hpp::intSeqSeq& objectTriangles, const ::hpp::intSeqSeq& floorTriangles);
213  void createPositionConstraint(const char* constraintName, const char* joint1Name, const char* joint2Name, const ::hpp::floatSeq& point1, const ::hpp::floatSeq& point2, const ::hpp::boolSeq& mask);
214  void createConfigurationConstraint(const char* constraintName, const ::hpp::floatSeq& goal, const ::hpp::floatSeq& weights);
215  void createDistanceBetweenJointConstraint(const char* constraintName, const char* joint1Name, const char* joint2Name, ::CORBA::Double distance);
216  void createDistanceBetweenJointAndObjects(const char* constraintName, const char* joint1Name, const ::hpp::Names_t& objects, ::CORBA::Double distance);
217  void createIdentityConstraint(const char* constraintName, const ::hpp::Names_t& inJoints, const ::hpp::Names_t& outJoints);
218  void resetConstraints();
219  void resetConstraintMap();
220  void addPassiveDofs(const char* constraintName, const ::hpp::Names_t& jointNames);
221  void getConstraintDimensions(const char* constraintName, ::CORBA::ULong& inputSize, ::CORBA::ULong& inputDerivativeSize, ::CORBA::ULong& outputSize, ::CORBA::ULong& outputDerivativeSize);
222  void setConstantRightHandSide(const char* constraintName, ::CORBA::Boolean constant);
223  ::CORBA::Boolean getConstantRightHandSide(const char* constraintName);
224  floatSeq* getRightHandSide();
225  void setRightHandSide(const ::hpp::floatSeq& rhs);
226  void setRightHandSideFromConfig(const ::hpp::floatSeq& config);
227  void setRightHandSideByName(const char* constraintName, const ::hpp::floatSeq& rhs);
228  void setRightHandSideFromConfigByName(const char* constraintName, const ::hpp::floatSeq& config);
229  void addNumericalConstraints(const char* configProjName, const ::hpp::Names_t& constraintNames, const ::hpp::intSeq& priorities);
230  void setNumericalConstraintsLastPriorityOptional(::CORBA::Boolean optional);
231  void addLockedJointConstraints(const char* configProjName, const ::hpp::Names_t& lockedJointNames);
232  char* displayConstraints();
233  ::CORBA::Double getErrorThreshold();
234  void setErrorThreshold(::CORBA::Double threshold);
235  void setDefaultLineSearchType(const char* type);
236  ::CORBA::ULong getMaxIterProjection();
237  void setMaxIterProjection(::CORBA::ULong iterations);
238  ::CORBA::ULong getMaxIterPathPlanning();
239  void setMaxIterPathPlanning(::CORBA::ULong iterations);
240  void scCreateScalarMultiply(const char* outName, ::CORBA::Double scalar, const char* inName);
241  ::CORBA::Double getTimeOutPathPlanning();
242  void setTimeOutPathPlanning(::CORBA::Double timeOut);
243  void filterCollisionPairs();
244  void selectPathPlanner(const char* pathPlannerType);
245  void selectConfigurationShooter(const char* configurationShooterType);
246  void selectDistance(const char* distanceType);
247  void selectSteeringMethod(const char* steeringMethodType);
248  void addPathOptimizer(const char* pathOptimizerType);
249  void clearPathOptimizers();
250  void addConfigValidation(const char* configValidationType);
251  void clearConfigValidations();
252  void selectPathValidation(const char* pathValidationType, ::CORBA::Double tolerance);
253  void selectPathProjector(const char* pathProjectorType, ::CORBA::Double tolerance);
254  ::CORBA::Boolean prepareSolveStepByStep();
255  ::CORBA::Boolean executeOneStep();
256  void finishSolveStepByStep();
257  intSeq* solve();
258  ::CORBA::Boolean directPath(const ::hpp::floatSeq& startConfig, const ::hpp::floatSeq& endConfig, ::CORBA::Boolean validate, ::CORBA::ULong& pathId, ::CORBA::String_out report);
259  ::CORBA::Boolean reversePath(::CORBA::ULong pathId, ::CORBA::ULong& reversedPathId);
260  void addConfigToRoadmap(const ::hpp::floatSeq& config);
261  void addEdgeToRoadmap(const ::hpp::floatSeq& config1, const ::hpp::floatSeq& config2, ::CORBA::ULong pathId, ::CORBA::Boolean bothEdges);
262  void appendDirectPath(::CORBA::ULong pathId, const ::hpp::floatSeq& config, ::CORBA::Boolean validate);
263  void concatenatePath(::CORBA::ULong startId, ::CORBA::ULong endId);
264  void extractPath(::CORBA::ULong pathId, ::CORBA::Double start, ::CORBA::Double end);
265  void erasePath(::CORBA::ULong pathId);
266  ::CORBA::Boolean projectPath(::CORBA::ULong patId);
267  ::CORBA::Long numberPaths();
268  intSeq* optimizePath(::CORBA::ULong inPathId);
269  ::CORBA::Double pathLength(::CORBA::ULong inPathId);
270  floatSeq* configAtParam(::CORBA::ULong inPathId, ::CORBA::Double atDistance);
271  floatSeq* derivativeAtParam(::CORBA::ULong inPathId, ::CORBA::ULong orderId, ::CORBA::Double atDistance);
272  floatSeqSeq* getWaypoints(::CORBA::ULong pathId, ::hpp::floatSeq_out times);
273  void interruptPathPlanning();
274  floatSeqSeq* nodes();
275  ::CORBA::Long numberNodes();
276  floatSeq* node(::CORBA::ULong nodeId);
277  ::CORBA::Long connectedComponentOfEdge(::CORBA::ULong edgeId);
278  ::CORBA::Long connectedComponentOfNode(::CORBA::ULong nodeId);
279  ::CORBA::Long numberEdges();
280  void edge(::CORBA::ULong edgeId, ::hpp::floatSeq_out q1, ::hpp::floatSeq_out q2);
281  ::CORBA::Long numberConnectedComponents();
282  floatSeqSeq* nodesConnectedComponent(::CORBA::ULong connectedComponentId);
283  floatSeq* getNearestConfig(const ::hpp::floatSeq& config, ::CORBA::Long connectedComponentId, ::CORBA::Double& distance);
284  void clearRoadmap();
285  void resetRoadmap();
286  void saveRoadmap(const char* filename);
287  void loadRoadmap(const char* filename);
288  core_idl::Distance_ptr getDistance();
289  void setDistance(::hpp::core_idl::Distance_ptr distance);
290  core_idl::Path_ptr getPath(::CORBA::ULong pathId);
291  ::CORBA::ULong addPath(::hpp::core_idl::PathVector_ptr path);
292  core_idl::SteeringMethod_ptr getSteeringMethod();
293  core_idl::PathValidation_ptr getPathValidation();
294  core_idl::PathPlanner_ptr getPathPlanner();
295  core_idl::Problem_ptr getProblem();
296  constraints_idl::Implicit_ptr getConstraint(const char* constraintName);
297  void setRobot(::hpp::pinocchio_idl::Device_ptr robot);
298  pinocchio_idl::CollisionObject_ptr getObstacle(const char* name);
301  core_idl::Roadmap_ptr readRoadmap(const char* filename, ::hpp::pinocchio_idl::Device_ptr robot);
302  void writeRoadmap(const char* filename, ::hpp::core_idl::Roadmap_ptr roadmap, ::hpp::pinocchio_idl::Device_ptr robot);
303  core_idl::PathPlanner_ptr createPathPlanner(const char* type, ::hpp::core_idl::Problem_ptr problem, ::hpp::core_idl::Roadmap_ptr roadmap);
304  core_idl::PathOptimizer_ptr createPathOptimizer(const char* type, ::hpp::core_idl::Problem_ptr problem);
305  core_idl::ConfigValidation_ptr createConfigValidation(const char* type, ::hpp::pinocchio_idl::Device_ptr robot);
306  core_idl::PathValidation_ptr createPathValidation(const char* type, ::hpp::pinocchio_idl::Device_ptr robot, ::hpp::value_type parameter);
307  core_idl::PathProjector_ptr createPathProjector(const char* type, ::hpp::core_idl::Problem_ptr robot, ::hpp::value_type parameter);
308  core_idl::ConfigurationShooter_ptr createConfigurationShooter(const char* type, ::hpp::core_idl::Problem_ptr problem);
309  core_idl::Distance_ptr createDistance(const char* type, ::hpp::core_idl::Problem_ptr problem);
310  core_idl::SteeringMethod_ptr createSteeringMethod(const char* type, ::hpp::core_idl::Problem_ptr problem);
311 
312  // Constructors
313  inline _objref_Problem() { _PR_setobj(0); } // nil
314  _objref_Problem(omniIOR*, omniIdentity*);
315 
316  protected:
317  virtual ~_objref_Problem();
318 
319 
320  private:
321  virtual void* _ptrToObjRef(const char*);
322 
324  _objref_Problem& operator = (const _objref_Problem&);
325  // not implemented
326 
327  friend class Problem;
328  };
329 
330  class _pof_Problem : public _OMNI_NS(proxyObjectFactory) {
331  public:
332  inline _pof_Problem() : _OMNI_NS(proxyObjectFactory)(Problem::_PD_repoId) {}
333  virtual ~_pof_Problem();
334 
335  virtual omniObjRef* newObjRef(omniIOR*,omniIdentity*);
336  virtual _CORBA_Boolean is_a(const char*) const;
337  };
338 
340  public virtual omniServant
341  {
342  public:
343  virtual ~_impl_Problem();
344 
345  virtual void setRandomSeed(::CORBA::Long seed) = 0;
346  virtual void setMaxNumThreads(::CORBA::UShort n) = 0;
347  virtual ::CORBA::UShort getMaxNumThreads() = 0;
348  virtual Names_t* getAvailable(const char* type) = 0;
349  virtual Names_t* getSelected(const char* type) = 0;
350  virtual void setParameter(const char* name, const ::CORBA::Any& value) = 0;
351  virtual ::CORBA::Any* getParameter(const char* name) = 0;
352  virtual char* getParameterDoc(const char* name) = 0;
353  virtual ::CORBA::Boolean selectProblem(const char* name) = 0;
354  virtual void resetProblem() = 0;
355  virtual ::CORBA::Boolean loadPlugin(const char* pluginName) = 0;
356  virtual void movePathToProblem(::CORBA::ULong pathId, const char* problemName, const ::hpp::Names_t& jointNames) = 0;
357  virtual void setInitialConfig(const ::hpp::floatSeq& dofArray) = 0;
358  virtual floatSeq* getInitialConfig() = 0;
359  virtual void addGoalConfig(const ::hpp::floatSeq& dofArray) = 0;
360  virtual floatSeqSeq* getGoalConfigs() = 0;
361  virtual void resetGoalConfigs() = 0;
362  virtual void setGoalConstraints(const ::hpp::Names_t& constraints) = 0;
363  virtual void resetGoalConstraints() = 0;
364  virtual ::CORBA::Boolean applyConstraints(const ::hpp::floatSeq& input, ::hpp::floatSeq_out output, ::CORBA::Double& residualError) = 0;
365  virtual ::CORBA::Boolean optimize(const ::hpp::floatSeq& input, ::hpp::floatSeq_out output, ::hpp::floatSeq_out residualError) = 0;
366  virtual void computeValueAndJacobian(const ::hpp::floatSeq& config, ::hpp::floatSeq_out value, ::hpp::floatSeqSeq_out jacobian) = 0;
367  virtual ::CORBA::Boolean generateValidConfig(::CORBA::ULong maxIter, ::hpp::floatSeq_out output, ::CORBA::Double& residualError) = 0;
368  virtual void createOrientationConstraint(const char* constraintName, const char* joint1Name, const char* joint2Name, const ::hpp::Quaternion_ p, const ::hpp::boolSeq& mask) = 0;
369  virtual void createTransformationConstraint(const char* constraintName, const char* joint1Name, const char* joint2Name, const ::hpp::Transform_ ref, const ::hpp::boolSeq& mask) = 0;
370  virtual void createTransformationR3xSO3Constraint(const char* constraintName, const char* joint1Name, const char* joint2Name, const ::hpp::Transform_ frame1, const ::hpp::Transform_ frame2, const ::hpp::boolSeq& mask) = 0;
371  virtual void createTransformationConstraint2(const char* constraintName, const char* joint1Name, const char* joint2Name, const ::hpp::Transform_ frame1, const ::hpp::Transform_ frame2, const ::hpp::boolSeq& mask) = 0;
372  virtual void createLockedJoint(const char* lockedJointName, const char* jointName, const ::hpp::floatSeq& value) = 0;
373  virtual void createLockedJointWithComp(const char* lockedJointName, const char* jointName, const ::hpp::floatSeq& value, const ::hpp::ComparisonTypes_t& comp) = 0;
374  virtual void createLockedExtraDof(const char* lockedDofName, ::CORBA::ULong index, const ::hpp::floatSeq& value) = 0;
375  virtual void createManipulability(const char* name, const char* function) = 0;
376  virtual void createComBeetweenFeet(const char* constraintName, const char* comName, const char* jointLName, const char* jointRName, const ::hpp::floatSeq& pointL, const ::hpp::floatSeq& pointR, const char* jointRefName, const ::hpp::floatSeq& pointRef, const ::hpp::boolSeq& mask) = 0;
377  virtual void createRelativeComConstraint(const char* constraintName, const char* comName, const char* jointLName, const ::hpp::floatSeq& point, const ::hpp::boolSeq& mask) = 0;
378  virtual void createConvexShapeContactConstraint(const char* constraintName, const ::hpp::Names_t& floorJoints, const ::hpp::Names_t& objectJoints, const ::hpp::floatSeqSeq& pts, const ::hpp::intSeqSeq& objectTriangles, const ::hpp::intSeqSeq& floorTriangles) = 0;
379  virtual void createPositionConstraint(const char* constraintName, const char* joint1Name, const char* joint2Name, const ::hpp::floatSeq& point1, const ::hpp::floatSeq& point2, const ::hpp::boolSeq& mask) = 0;
380  virtual void createConfigurationConstraint(const char* constraintName, const ::hpp::floatSeq& goal, const ::hpp::floatSeq& weights) = 0;
381  virtual void createDistanceBetweenJointConstraint(const char* constraintName, const char* joint1Name, const char* joint2Name, ::CORBA::Double distance) = 0;
382  virtual void createDistanceBetweenJointAndObjects(const char* constraintName, const char* joint1Name, const ::hpp::Names_t& objects, ::CORBA::Double distance) = 0;
383  virtual void createIdentityConstraint(const char* constraintName, const ::hpp::Names_t& inJoints, const ::hpp::Names_t& outJoints) = 0;
384  virtual void resetConstraints() = 0;
385  virtual void resetConstraintMap() = 0;
386  virtual void addPassiveDofs(const char* constraintName, const ::hpp::Names_t& jointNames) = 0;
387  virtual void getConstraintDimensions(const char* constraintName, ::CORBA::ULong& inputSize, ::CORBA::ULong& inputDerivativeSize, ::CORBA::ULong& outputSize, ::CORBA::ULong& outputDerivativeSize) = 0;
388  virtual void setConstantRightHandSide(const char* constraintName, ::CORBA::Boolean constant) = 0;
389  virtual ::CORBA::Boolean getConstantRightHandSide(const char* constraintName) = 0;
390  virtual floatSeq* getRightHandSide() = 0;
391  virtual void setRightHandSide(const ::hpp::floatSeq& rhs) = 0;
392  virtual void setRightHandSideFromConfig(const ::hpp::floatSeq& config) = 0;
393  virtual void setRightHandSideByName(const char* constraintName, const ::hpp::floatSeq& rhs) = 0;
394  virtual void setRightHandSideFromConfigByName(const char* constraintName, const ::hpp::floatSeq& config) = 0;
395  virtual void addNumericalConstraints(const char* configProjName, const ::hpp::Names_t& constraintNames, const ::hpp::intSeq& priorities) = 0;
396  virtual void setNumericalConstraintsLastPriorityOptional(::CORBA::Boolean optional) = 0;
397  virtual void addLockedJointConstraints(const char* configProjName, const ::hpp::Names_t& lockedJointNames) = 0;
398  virtual char* displayConstraints() = 0;
399  virtual ::CORBA::Double getErrorThreshold() = 0;
400  virtual void setErrorThreshold(::CORBA::Double threshold) = 0;
401  virtual void setDefaultLineSearchType(const char* type) = 0;
402  virtual ::CORBA::ULong getMaxIterProjection() = 0;
403  virtual void setMaxIterProjection(::CORBA::ULong iterations) = 0;
404  virtual ::CORBA::ULong getMaxIterPathPlanning() = 0;
405  virtual void setMaxIterPathPlanning(::CORBA::ULong iterations) = 0;
406  virtual void scCreateScalarMultiply(const char* outName, ::CORBA::Double scalar, const char* inName) = 0;
407  virtual ::CORBA::Double getTimeOutPathPlanning() = 0;
408  virtual void setTimeOutPathPlanning(::CORBA::Double timeOut) = 0;
409  virtual void filterCollisionPairs() = 0;
410  virtual void selectPathPlanner(const char* pathPlannerType) = 0;
411  virtual void selectConfigurationShooter(const char* configurationShooterType) = 0;
412  virtual void selectDistance(const char* distanceType) = 0;
413  virtual void selectSteeringMethod(const char* steeringMethodType) = 0;
414  virtual void addPathOptimizer(const char* pathOptimizerType) = 0;
415  virtual void clearPathOptimizers() = 0;
416  virtual void addConfigValidation(const char* configValidationType) = 0;
417  virtual void clearConfigValidations() = 0;
418  virtual void selectPathValidation(const char* pathValidationType, ::CORBA::Double tolerance) = 0;
419  virtual void selectPathProjector(const char* pathProjectorType, ::CORBA::Double tolerance) = 0;
420  virtual ::CORBA::Boolean prepareSolveStepByStep() = 0;
421  virtual ::CORBA::Boolean executeOneStep() = 0;
422  virtual void finishSolveStepByStep() = 0;
423  virtual intSeq* solve() = 0;
424  virtual ::CORBA::Boolean directPath(const ::hpp::floatSeq& startConfig, const ::hpp::floatSeq& endConfig, ::CORBA::Boolean validate, ::CORBA::ULong& pathId, ::CORBA::String_out report) = 0;
425  virtual ::CORBA::Boolean reversePath(::CORBA::ULong pathId, ::CORBA::ULong& reversedPathId) = 0;
426  virtual void addConfigToRoadmap(const ::hpp::floatSeq& config) = 0;
427  virtual void addEdgeToRoadmap(const ::hpp::floatSeq& config1, const ::hpp::floatSeq& config2, ::CORBA::ULong pathId, ::CORBA::Boolean bothEdges) = 0;
428  virtual void appendDirectPath(::CORBA::ULong pathId, const ::hpp::floatSeq& config, ::CORBA::Boolean validate) = 0;
429  virtual void concatenatePath(::CORBA::ULong startId, ::CORBA::ULong endId) = 0;
430  virtual void extractPath(::CORBA::ULong pathId, ::CORBA::Double start, ::CORBA::Double end) = 0;
431  virtual void erasePath(::CORBA::ULong pathId) = 0;
432  virtual ::CORBA::Boolean projectPath(::CORBA::ULong patId) = 0;
433  virtual ::CORBA::Long numberPaths() = 0;
434  virtual intSeq* optimizePath(::CORBA::ULong inPathId) = 0;
435  virtual ::CORBA::Double pathLength(::CORBA::ULong inPathId) = 0;
436  virtual floatSeq* configAtParam(::CORBA::ULong inPathId, ::CORBA::Double atDistance) = 0;
437  virtual floatSeq* derivativeAtParam(::CORBA::ULong inPathId, ::CORBA::ULong orderId, ::CORBA::Double atDistance) = 0;
438  virtual floatSeqSeq* getWaypoints(::CORBA::ULong pathId, ::hpp::floatSeq_out times) = 0;
439  virtual void interruptPathPlanning() = 0;
440  virtual floatSeqSeq* nodes() = 0;
441  virtual ::CORBA::Long numberNodes() = 0;
442  virtual floatSeq* node(::CORBA::ULong nodeId) = 0;
443  virtual ::CORBA::Long connectedComponentOfEdge(::CORBA::ULong edgeId) = 0;
444  virtual ::CORBA::Long connectedComponentOfNode(::CORBA::ULong nodeId) = 0;
445  virtual ::CORBA::Long numberEdges() = 0;
446  virtual void edge(::CORBA::ULong edgeId, ::hpp::floatSeq_out q1, ::hpp::floatSeq_out q2) = 0;
447  virtual ::CORBA::Long numberConnectedComponents() = 0;
448  virtual floatSeqSeq* nodesConnectedComponent(::CORBA::ULong connectedComponentId) = 0;
449  virtual floatSeq* getNearestConfig(const ::hpp::floatSeq& config, ::CORBA::Long connectedComponentId, ::CORBA::Double& distance) = 0;
450  virtual void clearRoadmap() = 0;
451  virtual void resetRoadmap() = 0;
452  virtual void saveRoadmap(const char* filename) = 0;
453  virtual void loadRoadmap(const char* filename) = 0;
454  virtual core_idl::Distance_ptr getDistance() = 0;
455  virtual void setDistance(::hpp::core_idl::Distance_ptr distance) = 0;
456  virtual core_idl::Path_ptr getPath(::CORBA::ULong pathId) = 0;
457  virtual ::CORBA::ULong addPath(::hpp::core_idl::PathVector_ptr path) = 0;
458  virtual core_idl::SteeringMethod_ptr getSteeringMethod() = 0;
459  virtual core_idl::PathValidation_ptr getPathValidation() = 0;
460  virtual core_idl::PathPlanner_ptr getPathPlanner() = 0;
461  virtual core_idl::Problem_ptr getProblem() = 0;
462  virtual constraints_idl::Implicit_ptr getConstraint(const char* constraintName) = 0;
463  virtual void setRobot(::hpp::pinocchio_idl::Device_ptr robot) = 0;
464  virtual pinocchio_idl::CollisionObject_ptr getObstacle(const char* name) = 0;
465  virtual core_idl::Problem_ptr createProblem(::hpp::pinocchio_idl::Device_ptr robot) = 0;
466  virtual core_idl::Roadmap_ptr createRoadmap(::hpp::core_idl::Distance_ptr distance, ::hpp::pinocchio_idl::Device_ptr robot) = 0;
467  virtual core_idl::Roadmap_ptr readRoadmap(const char* filename, ::hpp::pinocchio_idl::Device_ptr robot) = 0;
468  virtual void writeRoadmap(const char* filename, ::hpp::core_idl::Roadmap_ptr roadmap, ::hpp::pinocchio_idl::Device_ptr robot) = 0;
469  virtual core_idl::PathPlanner_ptr createPathPlanner(const char* type, ::hpp::core_idl::Problem_ptr problem, ::hpp::core_idl::Roadmap_ptr roadmap) = 0;
470  virtual core_idl::PathOptimizer_ptr createPathOptimizer(const char* type, ::hpp::core_idl::Problem_ptr problem) = 0;
471  virtual core_idl::ConfigValidation_ptr createConfigValidation(const char* type, ::hpp::pinocchio_idl::Device_ptr robot) = 0;
472  virtual core_idl::PathValidation_ptr createPathValidation(const char* type, ::hpp::pinocchio_idl::Device_ptr robot, ::hpp::value_type parameter) = 0;
473  virtual core_idl::PathProjector_ptr createPathProjector(const char* type, ::hpp::core_idl::Problem_ptr robot, ::hpp::value_type parameter) = 0;
474  virtual core_idl::ConfigurationShooter_ptr createConfigurationShooter(const char* type, ::hpp::core_idl::Problem_ptr problem) = 0;
475  virtual core_idl::Distance_ptr createDistance(const char* type, ::hpp::core_idl::Problem_ptr problem) = 0;
476  virtual core_idl::SteeringMethod_ptr createSteeringMethod(const char* type, ::hpp::core_idl::Problem_ptr problem) = 0;
477 
478  public: // Really protected, workaround for xlC
479  virtual _CORBA_Boolean _dispatch(omniCallHandle&);
480 
481  private:
482  virtual void* _ptrToInterface(const char*);
483  virtual const char* _mostDerivedRepoId();
484 
485  };
486 
487 
488  _CORBA_MODULE_END
489 
490 _CORBA_MODULE_END
491 
492 
493 
494 _CORBA_MODULE POA_hpp
495 _CORBA_MODULE_BEG
496 
497  _CORBA_MODULE corbaserver
498  _CORBA_MODULE_BEG
499 
500  class Problem :
501  public virtual hpp::corbaserver::_impl_Problem,
502  public virtual ::PortableServer::ServantBase
503  {
504  public:
505  virtual ~Problem();
506 
508  return (::hpp::corbaserver::Problem_ptr) _do_this(::hpp::corbaserver::Problem::_PD_repoId);
509  }
510  };
511 
512  _CORBA_MODULE_END
513 
514 _CORBA_MODULE_END
515 
516 
517 
518 _CORBA_MODULE OBV_hpp
519 _CORBA_MODULE_BEG
520 
521  _CORBA_MODULE corbaserver
522  _CORBA_MODULE_BEG
523 
524  _CORBA_MODULE_END
525 
526 _CORBA_MODULE_END
527 
528 
529 
530 
531 
532 #undef _core_attr
533 #undef _dyn_attr
534 
535 
536 
537 inline void
538 hpp::corbaserver::Problem::_marshalObjRef(::hpp::corbaserver::Problem_ptr obj, cdrStream& s) {
539  omniObjRef::_marshal(obj->_PR_getobj(),s);
540 }
541 
542 
543 
544 #ifdef USE_stub_in_nt_dll_NOT_DEFINED_problem
545 # undef USE_stub_in_nt_dll
546 # undef USE_stub_in_nt_dll_NOT_DEFINED_problem
547 #endif
548 #ifdef USE_core_stub_in_nt_dll_NOT_DEFINED_problem
549 # undef USE_core_stub_in_nt_dll
550 # undef USE_core_stub_in_nt_dll_NOT_DEFINED_problem
551 #endif
552 #ifdef USE_dyn_stub_in_nt_dll_NOT_DEFINED_problem
553 # undef USE_dyn_stub_in_nt_dll
554 # undef USE_dyn_stub_in_nt_dll_NOT_DEFINED_problem
555 #endif
556 
557 #endif // __problem_hh__
558 
_objref_PathPlanner * PathPlanner_ptr
Definition: path_planners-idl.hh:475
Definition: problem-idl.hh:339
static _ptr_type _unmarshalObjRef(cdrStream &s)
Definition: problem-idl.hh:152
_objref_Problem()
Definition: problem-idl.hh:313
_objref_SteeringMethod * SteeringMethod_ptr
Definition: _problem-idl.hh:191
Definition: common-idl.hh:461
_objref_PathProjector * PathProjector_ptr
Definition: _problem-idl.hh:243
Implement CORBA interface ``Obstacle&#39;&#39;.
Definition: basic-server.hh:35
_objref_CollisionObject * CollisionObject_ptr
Definition: _problem-idl.hh:133
static _core_attr const char * _PD_repoId
Definition: problem-idl.hh:167
double value_type
Definition: common.idl:18
_objref_PathValidation * PathValidation_ptr
Definition: _problem-idl.hh:269
Problem_ptr ProblemRef
Definition: problem-idl.hh:118
Problem_ptr _ptr_type
Definition: problem-idl.hh:141
Definition: problem-idl.hh:138
sequence< floatSeq > floatSeqSeq
Definition: common.idl:35
_objref_Roadmap * Roadmap_ptr
Definition: path_planners-idl.hh:338
static void marshalObjRef(_ptr_type, cdrStream &)
_objref_Problem * Problem_ptr
Definition: problem-idl.hh:115
sequence< string > Names_t
Sequence of names.
Definition: common.idl:23
sequence< long > intSeq
Definition: common.idl:31
::CORBA::Double Transform_[7]
Definition: common-idl.hh:915
static _ptr_type _nil()
::CORBA::Double Quaternion_[4]
Definition: common-idl.hh:1077
_objref_ConfigValidation * ConfigValidation_ptr
Definition: _problem-idl.hh:217
Definition: common-idl.hh:78
_objref_PathOptimizer * PathOptimizer_ptr
Definition: path_planners-idl.hh:612
static _ptr_type unmarshalObjRef(cdrStream &)
Definition: common-idl.hh:803
sequence< boolean > boolSeq
Definition: common.idl:30
#define _core_attr
Definition: problem-idl.hh:87
static void duplicate(_ptr_type)
_objref_ConfigurationShooter * ConfigurationShooter_ptr
Definition: _problem-idl.hh:295
_objref_PathVector * PathVector_ptr
Definition: paths-idl.hh:82
Definition: problem-idl.hh:120
Definition: problem-idl.hh:173
_CORBA_ObjRef_OUT_arg< _objref_Problem, Problem_Helper > Problem_out
Definition: problem-idl.hh:133
_pof_Problem()
Definition: problem-idl.hh:332
inline ::hpp::corbaserver::Problem_ptr _this()
Definition: problem-idl.hh:507
static void release(_ptr_type)
Problem_var _var_type
Definition: problem-idl.hh:142
Problem_ptr _ptr_type
Definition: problem-idl.hh:122
_objref_Implicit * Implicit_ptr
Definition: constraints-idl.hh:200
_CORBA_ObjRef_Var< _objref_Problem, Problem_Helper > Problem_var
Definition: problem-idl.hh:132
static _ptr_type _fromObjRef(omniObjRef *o)
Definition: problem-idl.hh:160
Definition: common-idl.hh:689
static _CORBA_Boolean is_nil(_ptr_type)
sequence< ComparisonType > ComparisonTypes_t
Definition: common.idl:50
_objref_Path * Path_ptr
Definition: path_planners-idl.hh:83
sequence< double > floatSeq
Robot configuration is defined by a sequence of dof value.
Definition: common.idl:34
_objref_Device * Device_ptr
Definition: _problem-idl.hh:107
Definition: problem-idl.hh:330
_objref_Distance * Distance_ptr
Definition: _problem-idl.hh:165
sequence< intSeq > intSeqSeq
Definition: common.idl:32