5 #ifndef __CORBA_H_EXTERNAL_GUARD__ 6 #include <omniORB4/CORBA.h> 9 #ifndef USE_stub_in_nt_dll 10 # define USE_stub_in_nt_dll_NOT_DEFINED_problem 12 #ifndef USE_core_stub_in_nt_dll 13 # define USE_core_stub_in_nt_dll_NOT_DEFINED_problem 15 #ifndef USE_dyn_stub_in_nt_dll 16 # define USE_dyn_stub_in_nt_dll_NOT_DEFINED_problem 21 #ifndef __common_hh_EXTERNAL_GUARD__ 22 #define __common_hh_EXTERNAL_GUARD__ 25 #ifndef __constraints_hh_EXTERNAL_GUARD__ 26 #define __constraints_hh_EXTERNAL_GUARD__ 29 #ifndef __distances_hh_EXTERNAL_GUARD__ 30 #define __distances_hh_EXTERNAL_GUARD__ 33 #ifndef __paths_hh_EXTERNAL_GUARD__ 34 #define __paths_hh_EXTERNAL_GUARD__ 37 #ifndef ____constraints_hh_EXTERNAL_GUARD__ 38 #define ____constraints_hh_EXTERNAL_GUARD__ 41 #ifndef __steering__methods_hh_EXTERNAL_GUARD__ 42 #define __steering__methods_hh_EXTERNAL_GUARD__ 45 #ifndef __path__planners_hh_EXTERNAL_GUARD__ 46 #define __path__planners_hh_EXTERNAL_GUARD__ 49 #ifndef __path__projectors_hh_EXTERNAL_GUARD__ 50 #define __path__projectors_hh_EXTERNAL_GUARD__ 53 #ifndef __path__validations_hh_EXTERNAL_GUARD__ 54 #define __path__validations_hh_EXTERNAL_GUARD__ 57 #ifndef ____problem_hh_EXTERNAL_GUARD__ 58 #define ____problem_hh_EXTERNAL_GUARD__ 61 #ifndef __robots_hh_EXTERNAL_GUARD__ 62 #define __robots_hh_EXTERNAL_GUARD__ 65 #ifndef __configuration__shooters_hh_EXTERNAL_GUARD__ 66 #define __configuration__shooters_hh_EXTERNAL_GUARD__ 72 #ifdef USE_stub_in_nt_dll 73 # ifndef USE_core_stub_in_nt_dll 74 # define USE_core_stub_in_nt_dll 76 # ifndef USE_dyn_stub_in_nt_dll 77 # define USE_dyn_stub_in_nt_dll 82 # error "A local CPP macro _core_attr has already been defined." 84 # ifdef USE_core_stub_in_nt_dll 85 # define _core_attr _OMNIORB_NTDLL_IMPORT 92 # error "A local CPP macro _dyn_attr has already been defined." 94 # ifdef USE_dyn_stub_in_nt_dll 95 # define _dyn_attr _OMNIORB_NTDLL_IMPORT 107 _CORBA_MODULE corbaserver
111 #ifndef __hpp_mcorbaserver_mProblem__ 112 #define __hpp_mcorbaserver_mProblem__ 124 static _ptr_type
_nil();
125 static _CORBA_Boolean
is_nil(_ptr_type);
126 static void release(_ptr_type);
132 typedef _CORBA_ObjRef_Var<_objref_Problem, Problem_Helper>
Problem_var;
133 typedef _CORBA_ObjRef_OUT_arg<_objref_Problem,Problem_Helper >
Problem_out;
144 static _ptr_type _duplicate(_ptr_type);
145 static _ptr_type _narrow(::CORBA::Object_ptr);
146 static _ptr_type _unchecked_narrow(::CORBA::Object_ptr);
148 static _ptr_type
_nil();
150 static inline void _marshalObjRef(_ptr_type, cdrStream&);
153 omniObjRef* o = omniObjRef::_unMarshal(_PD_repoId,s);
155 return (_ptr_type) o->_ptrToObjRef(_PD_repoId);
162 return (_ptr_type) o->_ptrToObjRef(_PD_repoId);
174 public virtual ::CORBA::Object,
175 public virtual omniObjRef
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);
189 ::CORBA::Boolean loadPlugin(
const char* pluginName);
190 void movePathToProblem(::CORBA::ULong pathId,
const char* problemName,
const ::hpp::Names_t& jointNames);
195 void resetGoalConfigs();
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);
206 void createLockedJoint(
const char* lockedJointName,
const char* jointName,
const ::hpp::floatSeq& value);
208 void createLockedExtraDof(
const char* lockedDofName, ::CORBA::ULong index,
const ::hpp::floatSeq& value);
209 void createManipulability(
const char* name,
const char*
function);
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);
218 void resetConstraints();
219 void resetConstraintMap();
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);
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();
259 ::CORBA::Boolean reversePath(::CORBA::ULong pathId, ::CORBA::ULong& reversedPathId);
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();
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);
286 void saveRoadmap(
const char* filename);
287 void loadRoadmap(
const char* filename);
321 virtual void* _ptrToObjRef(
const char*);
335 virtual omniObjRef* newObjRef(omniIOR*,omniIdentity*);
336 virtual _CORBA_Boolean is_a(
const char*)
const;
340 public virtual omniServant
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;
358 virtual floatSeq* getInitialConfig() = 0;
361 virtual void resetGoalConfigs() = 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;
372 virtual void createLockedJoint(
const char* lockedJointName,
const char* jointName,
const ::hpp::floatSeq& value) = 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;
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;
384 virtual void resetConstraints() = 0;
385 virtual void resetConstraintMap() = 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;
394 virtual void setRightHandSideFromConfigByName(
const char* constraintName,
const ::hpp::floatSeq& config) = 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;
425 virtual ::CORBA::Boolean reversePath(::CORBA::ULong pathId, ::CORBA::ULong& reversedPathId) = 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;
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;
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;
479 virtual _CORBA_Boolean _dispatch(omniCallHandle&);
482 virtual void* _ptrToInterface(
const char*);
483 virtual const char* _mostDerivedRepoId();
494 _CORBA_MODULE POA_hpp
497 _CORBA_MODULE corbaserver
501 public virtual hpp::corbaserver::_impl_Problem,
502 public virtual ::PortableServer::ServantBase
518 _CORBA_MODULE OBV_hpp
521 _CORBA_MODULE corbaserver
539 omniObjRef::_marshal(obj->_PR_getobj(),s);
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 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 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 557 #endif // __problem_hh__
_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''.
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
::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