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__validations_hh_EXTERNAL_GUARD__ 50 #define __path__validations_hh_EXTERNAL_GUARD__ 53 #ifndef ____problem_hh_EXTERNAL_GUARD__ 54 #define ____problem_hh_EXTERNAL_GUARD__ 57 #ifndef __robots_hh_EXTERNAL_GUARD__ 58 #define __robots_hh_EXTERNAL_GUARD__ 61 #ifndef __configuration__shooters_hh_EXTERNAL_GUARD__ 62 #define __configuration__shooters_hh_EXTERNAL_GUARD__ 68 #ifdef USE_stub_in_nt_dll 69 # ifndef USE_core_stub_in_nt_dll 70 # define USE_core_stub_in_nt_dll 72 # ifndef USE_dyn_stub_in_nt_dll 73 # define USE_dyn_stub_in_nt_dll 78 # error "A local CPP macro _core_attr has already been defined." 80 # ifdef USE_core_stub_in_nt_dll 81 # define _core_attr _OMNIORB_NTDLL_IMPORT 88 # error "A local CPP macro _dyn_attr has already been defined." 90 # ifdef USE_dyn_stub_in_nt_dll 91 # define _dyn_attr _OMNIORB_NTDLL_IMPORT 103 _CORBA_MODULE corbaserver
107 #ifndef __hpp_mcorbaserver_mProblem__ 108 #define __hpp_mcorbaserver_mProblem__ 120 static _ptr_type
_nil();
121 static _CORBA_Boolean
is_nil(_ptr_type);
122 static void release(_ptr_type);
128 typedef _CORBA_ObjRef_Var<_objref_Problem, Problem_Helper>
Problem_var;
129 typedef _CORBA_ObjRef_OUT_arg<_objref_Problem,Problem_Helper >
Problem_out;
140 static _ptr_type _duplicate(_ptr_type);
141 static _ptr_type _narrow(::CORBA::Object_ptr);
142 static _ptr_type _unchecked_narrow(::CORBA::Object_ptr);
144 static _ptr_type
_nil();
146 static inline void _marshalObjRef(_ptr_type, cdrStream&);
149 omniObjRef* o = omniObjRef::_unMarshal(_PD_repoId,s);
151 return (_ptr_type) o->_ptrToObjRef(_PD_repoId);
158 return (_ptr_type) o->_ptrToObjRef(_PD_repoId);
170 public virtual ::CORBA::Object,
171 public virtual omniObjRef
175 void setRandomSeed(::CORBA::Long seed);
176 void setMaxNumThreads(::CORBA::UShort n);
177 ::CORBA::UShort getMaxNumThreads();
178 Names_t* getAvailable(
const char* type);
179 Names_t* getSelected(
const char* type);
180 void setParameter(
const char* name, const ::CORBA::Any& value);
181 ::CORBA::Any* getParameter(
const char* name);
182 char* getParameterDoc(
const char* name);
183 ::CORBA::Boolean selectProblem(
const char* name);
185 ::CORBA::Boolean loadPlugin(
const char* pluginName);
186 void movePathToProblem(::CORBA::ULong pathId,
const char* problemName,
const ::hpp::Names_t& jointNames);
191 void resetGoalConfigs();
192 ::CORBA::Boolean applyConstraints(
const ::hpp::floatSeq& input, ::hpp::floatSeq_out output, ::CORBA::Double& residualError);
193 ::CORBA::Boolean optimize(
const ::hpp::floatSeq& input, ::hpp::floatSeq_out output, ::hpp::floatSeq_out residualError);
194 void computeValueAndJacobian(
const ::hpp::floatSeq& config, ::hpp::floatSeq_out value, ::hpp::floatSeqSeq_out jacobian);
195 ::CORBA::Boolean generateValidConfig(::CORBA::ULong maxIter, ::hpp::floatSeq_out output, ::CORBA::Double& residualError);
200 void createLockedJoint(
const char* lockedJointName,
const char* jointName,
const ::hpp::floatSeq& value);
202 void createLockedExtraDof(
const char* lockedDofName, ::CORBA::ULong index,
const ::hpp::floatSeq& value);
203 void createManipulability(
const char* name,
const char*
function);
210 void createDistanceBetweenJointConstraint(
const char* constraintName,
const char* joint1Name,
const char* joint2Name, ::CORBA::Double distance);
211 void createDistanceBetweenJointAndObjects(
const char* constraintName,
const char* joint1Name,
const ::hpp::Names_t& objects, ::CORBA::Double distance);
213 void resetConstraints();
214 void resetConstraintMap();
216 void getConstraintDimensions(
const char* constraintName, ::CORBA::ULong& inputSize, ::CORBA::ULong& inputDerivativeSize, ::CORBA::ULong& outputSize, ::CORBA::ULong& outputDerivativeSize);
217 void setConstantRightHandSide(
const char* constraintName, ::CORBA::Boolean constant);
218 ::CORBA::Boolean getConstantRightHandSide(
const char* constraintName);
225 void setNumericalConstraintsLastPriorityOptional(::CORBA::Boolean optional);
226 void addLockedJointConstraints(
const char* configProjName,
const ::hpp::Names_t& lockedJointNames);
227 char* displayConstraints();
228 ::CORBA::Double getErrorThreshold();
229 void setErrorThreshold(::CORBA::Double threshold);
230 void setDefaultLineSearchType(
const char* type);
231 ::CORBA::ULong getMaxIterProjection();
232 void setMaxIterProjection(::CORBA::ULong iterations);
233 ::CORBA::ULong getMaxIterPathPlanning();
234 void setMaxIterPathPlanning(::CORBA::ULong iterations);
235 void scCreateScalarMultiply(
const char* outName, ::CORBA::Double scalar,
const char* inName);
236 ::CORBA::Double getTimeOutPathPlanning();
237 void setTimeOutPathPlanning(::CORBA::Double timeOut);
238 void filterCollisionPairs();
239 void selectPathPlanner(
const char* pathPlannerType);
240 void selectConfigurationShooter(
const char* configurationShooterType);
241 void selectDistance(
const char* distanceType);
242 void selectSteeringMethod(
const char* steeringMethodType);
243 void addPathOptimizer(
const char* pathOptimizerType);
244 void clearPathOptimizers();
245 void addConfigValidation(
const char* configValidationType);
246 void clearConfigValidations();
247 void selectPathValidation(
const char* pathValidationType, ::CORBA::Double tolerance);
248 void selectPathProjector(
const char* pathProjectorType, ::CORBA::Double tolerance);
249 ::CORBA::Boolean prepareSolveStepByStep();
250 ::CORBA::Boolean executeOneStep();
251 void finishSolveStepByStep();
254 ::CORBA::Boolean reversePath(::CORBA::ULong pathId, ::CORBA::ULong& reversedPathId);
257 void appendDirectPath(::CORBA::ULong pathId,
const ::hpp::floatSeq& config, ::CORBA::Boolean validate);
258 void concatenatePath(::CORBA::ULong startId, ::CORBA::ULong endId);
259 void extractPath(::CORBA::ULong pathId, ::CORBA::Double start, ::CORBA::Double end);
260 void erasePath(::CORBA::ULong pathId);
261 ::CORBA::Boolean projectPath(::CORBA::ULong patId);
262 ::CORBA::Long numberPaths();
263 intSeq* optimizePath(::CORBA::ULong inPathId);
264 ::CORBA::Double pathLength(::CORBA::ULong inPathId);
265 floatSeq* configAtParam(::CORBA::ULong inPathId, ::CORBA::Double atDistance);
266 floatSeq* derivativeAtParam(::CORBA::ULong inPathId, ::CORBA::ULong orderId, ::CORBA::Double atDistance);
267 floatSeqSeq* getWaypoints(::CORBA::ULong pathId, ::hpp::floatSeq_out times);
268 void interruptPathPlanning();
270 ::CORBA::Long numberNodes();
271 floatSeq* node(::CORBA::ULong nodeId);
272 ::CORBA::Long connectedComponentOfEdge(::CORBA::ULong edgeId);
273 ::CORBA::Long connectedComponentOfNode(::CORBA::ULong nodeId);
274 ::CORBA::Long numberEdges();
275 void edge(::CORBA::ULong edgeId, ::hpp::floatSeq_out q1, ::hpp::floatSeq_out q2);
276 ::CORBA::Long numberConnectedComponents();
277 floatSeqSeq* nodesConnectedComponent(::CORBA::ULong connectedComponentId);
281 void saveRoadmap(
const char* filename);
282 void readRoadmap(
const char* filename);
303 virtual void* _ptrToObjRef(
const char*);
317 virtual omniObjRef* newObjRef(omniIOR*,omniIdentity*);
318 virtual _CORBA_Boolean is_a(
const char*)
const;
322 public virtual omniServant
327 virtual void setRandomSeed(::CORBA::Long seed) = 0;
328 virtual void setMaxNumThreads(::CORBA::UShort n) = 0;
329 virtual ::CORBA::UShort getMaxNumThreads() = 0;
330 virtual Names_t* getAvailable(
const char* type) = 0;
331 virtual Names_t* getSelected(
const char* type) = 0;
332 virtual void setParameter(
const char* name, const ::CORBA::Any& value) = 0;
333 virtual ::CORBA::Any* getParameter(
const char* name) = 0;
334 virtual char* getParameterDoc(
const char* name) = 0;
335 virtual ::CORBA::Boolean selectProblem(
const char* name) = 0;
336 virtual void resetProblem() = 0;
337 virtual ::CORBA::Boolean loadPlugin(
const char* pluginName) = 0;
338 virtual void movePathToProblem(::CORBA::ULong pathId,
const char* problemName,
const ::hpp::Names_t& jointNames) = 0;
340 virtual floatSeq* getInitialConfig() = 0;
343 virtual void resetGoalConfigs() = 0;
344 virtual ::CORBA::Boolean applyConstraints(
const ::hpp::floatSeq& input, ::hpp::floatSeq_out output, ::CORBA::Double& residualError) = 0;
345 virtual ::CORBA::Boolean optimize(
const ::hpp::floatSeq& input, ::hpp::floatSeq_out output, ::hpp::floatSeq_out residualError) = 0;
346 virtual void computeValueAndJacobian(
const ::hpp::floatSeq& config, ::hpp::floatSeq_out value, ::hpp::floatSeqSeq_out jacobian) = 0;
347 virtual ::CORBA::Boolean generateValidConfig(::CORBA::ULong maxIter, ::hpp::floatSeq_out output, ::CORBA::Double& residualError) = 0;
352 virtual void createLockedJoint(
const char* lockedJointName,
const char* jointName,
const ::hpp::floatSeq& value) = 0;
354 virtual void createLockedExtraDof(
const char* lockedDofName, ::CORBA::ULong index,
const ::hpp::floatSeq& value) = 0;
355 virtual void createManipulability(
const char* name,
const char*
function) = 0;
362 virtual void createDistanceBetweenJointConstraint(
const char* constraintName,
const char* joint1Name,
const char* joint2Name, ::CORBA::Double distance) = 0;
363 virtual void createDistanceBetweenJointAndObjects(
const char* constraintName,
const char* joint1Name,
const ::hpp::Names_t& objects, ::CORBA::Double distance) = 0;
365 virtual void resetConstraints() = 0;
366 virtual void resetConstraintMap() = 0;
368 virtual void getConstraintDimensions(
const char* constraintName, ::CORBA::ULong& inputSize, ::CORBA::ULong& inputDerivativeSize, ::CORBA::ULong& outputSize, ::CORBA::ULong& outputDerivativeSize) = 0;
369 virtual void setConstantRightHandSide(
const char* constraintName, ::CORBA::Boolean constant) = 0;
370 virtual ::CORBA::Boolean getConstantRightHandSide(
const char* constraintName) = 0;
371 virtual floatSeq* getRightHandSide() = 0;
375 virtual void setRightHandSideFromConfigByName(
const char* constraintName,
const ::hpp::floatSeq& config) = 0;
377 virtual void setNumericalConstraintsLastPriorityOptional(::CORBA::Boolean optional) = 0;
378 virtual void addLockedJointConstraints(
const char* configProjName,
const ::hpp::Names_t& lockedJointNames) = 0;
379 virtual char* displayConstraints() = 0;
380 virtual ::CORBA::Double getErrorThreshold() = 0;
381 virtual void setErrorThreshold(::CORBA::Double threshold) = 0;
382 virtual void setDefaultLineSearchType(
const char* type) = 0;
383 virtual ::CORBA::ULong getMaxIterProjection() = 0;
384 virtual void setMaxIterProjection(::CORBA::ULong iterations) = 0;
385 virtual ::CORBA::ULong getMaxIterPathPlanning() = 0;
386 virtual void setMaxIterPathPlanning(::CORBA::ULong iterations) = 0;
387 virtual void scCreateScalarMultiply(
const char* outName, ::CORBA::Double scalar,
const char* inName) = 0;
388 virtual ::CORBA::Double getTimeOutPathPlanning() = 0;
389 virtual void setTimeOutPathPlanning(::CORBA::Double timeOut) = 0;
390 virtual void filterCollisionPairs() = 0;
391 virtual void selectPathPlanner(
const char* pathPlannerType) = 0;
392 virtual void selectConfigurationShooter(
const char* configurationShooterType) = 0;
393 virtual void selectDistance(
const char* distanceType) = 0;
394 virtual void selectSteeringMethod(
const char* steeringMethodType) = 0;
395 virtual void addPathOptimizer(
const char* pathOptimizerType) = 0;
396 virtual void clearPathOptimizers() = 0;
397 virtual void addConfigValidation(
const char* configValidationType) = 0;
398 virtual void clearConfigValidations() = 0;
399 virtual void selectPathValidation(
const char* pathValidationType, ::CORBA::Double tolerance) = 0;
400 virtual void selectPathProjector(
const char* pathProjectorType, ::CORBA::Double tolerance) = 0;
401 virtual ::CORBA::Boolean prepareSolveStepByStep() = 0;
402 virtual ::CORBA::Boolean executeOneStep() = 0;
403 virtual void finishSolveStepByStep() = 0;
404 virtual intSeq* solve() = 0;
406 virtual ::CORBA::Boolean reversePath(::CORBA::ULong pathId, ::CORBA::ULong& reversedPathId) = 0;
409 virtual void appendDirectPath(::CORBA::ULong pathId,
const ::hpp::floatSeq& config, ::CORBA::Boolean validate) = 0;
410 virtual void concatenatePath(::CORBA::ULong startId, ::CORBA::ULong endId) = 0;
411 virtual void extractPath(::CORBA::ULong pathId, ::CORBA::Double start, ::CORBA::Double end) = 0;
412 virtual void erasePath(::CORBA::ULong pathId) = 0;
413 virtual ::CORBA::Boolean projectPath(::CORBA::ULong patId) = 0;
414 virtual ::CORBA::Long numberPaths() = 0;
415 virtual intSeq* optimizePath(::CORBA::ULong inPathId) = 0;
416 virtual ::CORBA::Double pathLength(::CORBA::ULong inPathId) = 0;
417 virtual floatSeq* configAtParam(::CORBA::ULong inPathId, ::CORBA::Double atDistance) = 0;
418 virtual floatSeq* derivativeAtParam(::CORBA::ULong inPathId, ::CORBA::ULong orderId, ::CORBA::Double atDistance) = 0;
419 virtual floatSeqSeq* getWaypoints(::CORBA::ULong pathId, ::hpp::floatSeq_out times) = 0;
420 virtual void interruptPathPlanning() = 0;
422 virtual ::CORBA::Long numberNodes() = 0;
423 virtual floatSeq* node(::CORBA::ULong nodeId) = 0;
424 virtual ::CORBA::Long connectedComponentOfEdge(::CORBA::ULong edgeId) = 0;
425 virtual ::CORBA::Long connectedComponentOfNode(::CORBA::ULong nodeId) = 0;
426 virtual ::CORBA::Long numberEdges() = 0;
427 virtual void edge(::CORBA::ULong edgeId, ::hpp::floatSeq_out q1, ::hpp::floatSeq_out q2) = 0;
428 virtual ::CORBA::Long numberConnectedComponents() = 0;
429 virtual floatSeqSeq* nodesConnectedComponent(::CORBA::ULong connectedComponentId) = 0;
431 virtual void clearRoadmap() = 0;
432 virtual void resetRoadmap() = 0;
433 virtual void saveRoadmap(
const char* filename) = 0;
434 virtual void readRoadmap(
const char* filename) = 0;
447 virtual _CORBA_Boolean _dispatch(omniCallHandle&);
450 virtual void* _ptrToInterface(
const char*);
451 virtual const char* _mostDerivedRepoId();
462 _CORBA_MODULE POA_hpp
465 _CORBA_MODULE corbaserver
469 public virtual hpp::corbaserver::_impl_Problem,
470 public virtual ::PortableServer::ServantBase
486 _CORBA_MODULE OBV_hpp
489 _CORBA_MODULE corbaserver
507 omniObjRef::_marshal(obj->_PR_getobj(),s);
512 #ifdef USE_stub_in_nt_dll_NOT_DEFINED_problem 513 # undef USE_stub_in_nt_dll 514 # undef USE_stub_in_nt_dll_NOT_DEFINED_problem 516 #ifdef USE_core_stub_in_nt_dll_NOT_DEFINED_problem 517 # undef USE_core_stub_in_nt_dll 518 # undef USE_core_stub_in_nt_dll_NOT_DEFINED_problem 520 #ifdef USE_dyn_stub_in_nt_dll_NOT_DEFINED_problem 521 # undef USE_dyn_stub_in_nt_dll 522 # undef USE_dyn_stub_in_nt_dll_NOT_DEFINED_problem 525 #endif // __problem_hh__
_objref_PathPlanner * PathPlanner_ptr
Definition: path_planners-idl.hh:242
Definition: problem-idl.hh:321
static _ptr_type _unmarshalObjRef(cdrStream &s)
Definition: problem-idl.hh:148
_objref_Problem()
Definition: problem-idl.hh:295
_objref_SteeringMethod * SteeringMethod_ptr
Definition: _problem-idl.hh:161
Definition: common-idl.hh:342
Implement CORBA interface ``Obstacle''.
Definition: basic-server.hh:27
static _core_attr const char * _PD_repoId
Definition: problem-idl.hh:163
_objref_PathValidation * PathValidation_ptr
Definition: _problem-idl.hh:187
Problem_ptr ProblemRef
Definition: problem-idl.hh:114
Problem_ptr _ptr_type
Definition: problem-idl.hh:137
Definition: problem-idl.hh:134
sequence< floatSeq > floatSeqSeq
Definition: common.idl:33
static void marshalObjRef(_ptr_type, cdrStream &)
_objref_Problem * Problem_ptr
Definition: problem-idl.hh:111
sequence< string > Names_t
Sequence of names.
Definition: common.idl:22
sequence< long > intSeq
Definition: common.idl:29
::CORBA::Double Transform_[7]
Definition: common-idl.hh:796
::CORBA::Double Quaternion_[4]
Definition: common-idl.hh:958
Definition: common-idl.hh:73
static _ptr_type unmarshalObjRef(cdrStream &)
Definition: common-idl.hh:684
sequence< boolean > boolSeq
Definition: common.idl:28
#define _core_attr
Definition: problem-idl.hh:83
static void duplicate(_ptr_type)
_objref_PathVector * PathVector_ptr
Definition: paths-idl.hh:82
Definition: problem-idl.hh:116
Definition: problem-idl.hh:169
_CORBA_ObjRef_OUT_arg< _objref_Problem, Problem_Helper > Problem_out
Definition: problem-idl.hh:129
_pof_Problem()
Definition: problem-idl.hh:314
inline ::hpp::corbaserver::Problem_ptr _this()
Definition: problem-idl.hh:475
static void release(_ptr_type)
Problem_var _var_type
Definition: problem-idl.hh:138
Problem_ptr _ptr_type
Definition: problem-idl.hh:118
_objref_Implicit * Implicit_ptr
Definition: constraints-idl.hh:200
_CORBA_ObjRef_Var< _objref_Problem, Problem_Helper > Problem_var
Definition: problem-idl.hh:128
static _ptr_type _fromObjRef(omniObjRef *o)
Definition: problem-idl.hh:156
Definition: common-idl.hh:570
static _CORBA_Boolean is_nil(_ptr_type)
sequence< ComparisonType > ComparisonTypes_t
Definition: common.idl:48
_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:32
_objref_Device * Device_ptr
Definition: _problem-idl.hh:103
Definition: problem-idl.hh:312
_objref_Distance * Distance_ptr
Definition: _problem-idl.hh:135
sequence< intSeq > intSeqSeq
Definition: common.idl:30