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);
201 void createLockedExtraDof(
const char* lockedDofName, ::CORBA::ULong index,
const ::hpp::floatSeq& value);
202 void createManipulability(
const char* name,
const char*
function);
209 void createDistanceBetweenJointConstraint(
const char* constraintName,
const char* joint1Name,
const char* joint2Name, ::CORBA::Double distance);
210 void createDistanceBetweenJointAndObjects(
const char* constraintName,
const char* joint1Name,
const ::hpp::Names_t& objects, ::CORBA::Double distance);
212 void resetConstraints();
213 void resetConstraintMap();
215 void getConstraintDimensions(
const char* constraintName, ::CORBA::ULong& inputSize, ::CORBA::ULong& inputDerivativeSize, ::CORBA::ULong& outputSize, ::CORBA::ULong& outputDerivativeSize);
216 void setConstantRightHandSide(
const char* constraintName, ::CORBA::Boolean constant);
217 ::CORBA::Boolean getConstantRightHandSide(
const char* constraintName);
224 void setNumericalConstraintsLastPriorityOptional(::CORBA::Boolean optional);
225 void addLockedJointConstraints(
const char* configProjName,
const ::hpp::Names_t& lockedJointNames);
226 char* displayConstraints();
227 ::CORBA::Double getErrorThreshold();
228 void setErrorThreshold(::CORBA::Double threshold);
229 void setDefaultLineSearchType(
const char* type);
230 ::CORBA::ULong getMaxIterProjection();
231 void setMaxIterProjection(::CORBA::ULong iterations);
232 ::CORBA::ULong getMaxIterPathPlanning();
233 void setMaxIterPathPlanning(::CORBA::ULong iterations);
234 void scCreateScalarMultiply(
const char* outName, ::CORBA::Double scalar,
const char* inName);
235 ::CORBA::Double getTimeOutPathPlanning();
236 void setTimeOutPathPlanning(::CORBA::Double timeOut);
237 void filterCollisionPairs();
238 void selectPathPlanner(
const char* pathPlannerType);
239 void selectConfigurationShooter(
const char* configurationShooterType);
240 void selectDistance(
const char* distanceType);
241 void selectSteeringMethod(
const char* steeringMethodType);
242 void addPathOptimizer(
const char* pathOptimizerType);
243 void clearPathOptimizers();
244 void addConfigValidation(
const char* configValidationType);
245 void clearConfigValidations();
246 void selectPathValidation(
const char* pathValidationType, ::CORBA::Double tolerance);
247 void selectPathProjector(
const char* pathProjectorType, ::CORBA::Double tolerance);
248 ::CORBA::Boolean prepareSolveStepByStep();
249 ::CORBA::Boolean executeOneStep();
250 void finishSolveStepByStep();
253 ::CORBA::Boolean reversePath(::CORBA::ULong pathId, ::CORBA::ULong& reversedPathId);
256 void appendDirectPath(::CORBA::ULong pathId,
const ::hpp::floatSeq& config, ::CORBA::Boolean validate);
257 void concatenatePath(::CORBA::ULong startId, ::CORBA::ULong endId);
258 void extractPath(::CORBA::ULong pathId, ::CORBA::Double start, ::CORBA::Double end);
259 void erasePath(::CORBA::ULong pathId);
260 ::CORBA::Boolean projectPath(::CORBA::ULong patId);
261 ::CORBA::Long numberPaths();
262 intSeq* optimizePath(::CORBA::ULong inPathId);
263 ::CORBA::Double pathLength(::CORBA::ULong inPathId);
264 floatSeq* configAtParam(::CORBA::ULong inPathId, ::CORBA::Double atDistance);
265 floatSeq* derivativeAtParam(::CORBA::ULong inPathId, ::CORBA::ULong orderId, ::CORBA::Double atDistance);
266 floatSeqSeq* getWaypoints(::CORBA::ULong pathId, ::hpp::floatSeq_out times);
267 void interruptPathPlanning();
269 ::CORBA::Long numberNodes();
270 floatSeq* node(::CORBA::ULong nodeId);
271 ::CORBA::Long connectedComponentOfEdge(::CORBA::ULong edgeId);
272 ::CORBA::Long connectedComponentOfNode(::CORBA::ULong nodeId);
273 ::CORBA::Long numberEdges();
274 void edge(::CORBA::ULong edgeId, ::hpp::floatSeq_out q1, ::hpp::floatSeq_out q2);
275 ::CORBA::Long numberConnectedComponents();
276 floatSeqSeq* nodesConnectedComponent(::CORBA::ULong connectedComponentId);
280 void saveRoadmap(
const char* filename);
281 void readRoadmap(
const char* filename);
302 virtual void* _ptrToObjRef(
const char*);
316 virtual omniObjRef* newObjRef(omniIOR*,omniIdentity*);
317 virtual _CORBA_Boolean is_a(
const char*)
const;
321 public virtual omniServant
326 virtual void setRandomSeed(::CORBA::Long seed) = 0;
327 virtual void setMaxNumThreads(::CORBA::UShort n) = 0;
328 virtual ::CORBA::UShort getMaxNumThreads() = 0;
329 virtual Names_t* getAvailable(
const char* type) = 0;
330 virtual Names_t* getSelected(
const char* type) = 0;
331 virtual void setParameter(
const char* name, const ::CORBA::Any& value) = 0;
332 virtual ::CORBA::Any* getParameter(
const char* name) = 0;
333 virtual char* getParameterDoc(
const char* name) = 0;
334 virtual ::CORBA::Boolean selectProblem(
const char* name) = 0;
335 virtual void resetProblem() = 0;
336 virtual ::CORBA::Boolean loadPlugin(
const char* pluginName) = 0;
337 virtual void movePathToProblem(::CORBA::ULong pathId,
const char* problemName,
const ::hpp::Names_t& jointNames) = 0;
339 virtual floatSeq* getInitialConfig() = 0;
342 virtual void resetGoalConfigs() = 0;
343 virtual ::CORBA::Boolean applyConstraints(
const ::hpp::floatSeq& input, ::hpp::floatSeq_out output, ::CORBA::Double& residualError) = 0;
344 virtual ::CORBA::Boolean optimize(
const ::hpp::floatSeq& input, ::hpp::floatSeq_out output, ::hpp::floatSeq_out residualError) = 0;
345 virtual void computeValueAndJacobian(
const ::hpp::floatSeq& config, ::hpp::floatSeq_out value, ::hpp::floatSeqSeq_out jacobian) = 0;
346 virtual ::CORBA::Boolean generateValidConfig(::CORBA::ULong maxIter, ::hpp::floatSeq_out output, ::CORBA::Double& residualError) = 0;
351 virtual void createLockedJoint(
const char* lockedJointName,
const char* jointName,
const ::hpp::floatSeq& value) = 0;
352 virtual void createLockedExtraDof(
const char* lockedDofName, ::CORBA::ULong index,
const ::hpp::floatSeq& value) = 0;
353 virtual void createManipulability(
const char* name,
const char*
function) = 0;
360 virtual void createDistanceBetweenJointConstraint(
const char* constraintName,
const char* joint1Name,
const char* joint2Name, ::CORBA::Double distance) = 0;
361 virtual void createDistanceBetweenJointAndObjects(
const char* constraintName,
const char* joint1Name,
const ::hpp::Names_t& objects, ::CORBA::Double distance) = 0;
363 virtual void resetConstraints() = 0;
364 virtual void resetConstraintMap() = 0;
366 virtual void getConstraintDimensions(
const char* constraintName, ::CORBA::ULong& inputSize, ::CORBA::ULong& inputDerivativeSize, ::CORBA::ULong& outputSize, ::CORBA::ULong& outputDerivativeSize) = 0;
367 virtual void setConstantRightHandSide(
const char* constraintName, ::CORBA::Boolean constant) = 0;
368 virtual ::CORBA::Boolean getConstantRightHandSide(
const char* constraintName) = 0;
369 virtual floatSeq* getRightHandSide() = 0;
373 virtual void setRightHandSideFromConfigByName(
const char* constraintName,
const ::hpp::floatSeq& config) = 0;
375 virtual void setNumericalConstraintsLastPriorityOptional(::CORBA::Boolean optional) = 0;
376 virtual void addLockedJointConstraints(
const char* configProjName,
const ::hpp::Names_t& lockedJointNames) = 0;
377 virtual char* displayConstraints() = 0;
378 virtual ::CORBA::Double getErrorThreshold() = 0;
379 virtual void setErrorThreshold(::CORBA::Double threshold) = 0;
380 virtual void setDefaultLineSearchType(
const char* type) = 0;
381 virtual ::CORBA::ULong getMaxIterProjection() = 0;
382 virtual void setMaxIterProjection(::CORBA::ULong iterations) = 0;
383 virtual ::CORBA::ULong getMaxIterPathPlanning() = 0;
384 virtual void setMaxIterPathPlanning(::CORBA::ULong iterations) = 0;
385 virtual void scCreateScalarMultiply(
const char* outName, ::CORBA::Double scalar,
const char* inName) = 0;
386 virtual ::CORBA::Double getTimeOutPathPlanning() = 0;
387 virtual void setTimeOutPathPlanning(::CORBA::Double timeOut) = 0;
388 virtual void filterCollisionPairs() = 0;
389 virtual void selectPathPlanner(
const char* pathPlannerType) = 0;
390 virtual void selectConfigurationShooter(
const char* configurationShooterType) = 0;
391 virtual void selectDistance(
const char* distanceType) = 0;
392 virtual void selectSteeringMethod(
const char* steeringMethodType) = 0;
393 virtual void addPathOptimizer(
const char* pathOptimizerType) = 0;
394 virtual void clearPathOptimizers() = 0;
395 virtual void addConfigValidation(
const char* configValidationType) = 0;
396 virtual void clearConfigValidations() = 0;
397 virtual void selectPathValidation(
const char* pathValidationType, ::CORBA::Double tolerance) = 0;
398 virtual void selectPathProjector(
const char* pathProjectorType, ::CORBA::Double tolerance) = 0;
399 virtual ::CORBA::Boolean prepareSolveStepByStep() = 0;
400 virtual ::CORBA::Boolean executeOneStep() = 0;
401 virtual void finishSolveStepByStep() = 0;
402 virtual intSeq* solve() = 0;
404 virtual ::CORBA::Boolean reversePath(::CORBA::ULong pathId, ::CORBA::ULong& reversedPathId) = 0;
407 virtual void appendDirectPath(::CORBA::ULong pathId,
const ::hpp::floatSeq& config, ::CORBA::Boolean validate) = 0;
408 virtual void concatenatePath(::CORBA::ULong startId, ::CORBA::ULong endId) = 0;
409 virtual void extractPath(::CORBA::ULong pathId, ::CORBA::Double start, ::CORBA::Double end) = 0;
410 virtual void erasePath(::CORBA::ULong pathId) = 0;
411 virtual ::CORBA::Boolean projectPath(::CORBA::ULong patId) = 0;
412 virtual ::CORBA::Long numberPaths() = 0;
413 virtual intSeq* optimizePath(::CORBA::ULong inPathId) = 0;
414 virtual ::CORBA::Double pathLength(::CORBA::ULong inPathId) = 0;
415 virtual floatSeq* configAtParam(::CORBA::ULong inPathId, ::CORBA::Double atDistance) = 0;
416 virtual floatSeq* derivativeAtParam(::CORBA::ULong inPathId, ::CORBA::ULong orderId, ::CORBA::Double atDistance) = 0;
417 virtual floatSeqSeq* getWaypoints(::CORBA::ULong pathId, ::hpp::floatSeq_out times) = 0;
418 virtual void interruptPathPlanning() = 0;
420 virtual ::CORBA::Long numberNodes() = 0;
421 virtual floatSeq* node(::CORBA::ULong nodeId) = 0;
422 virtual ::CORBA::Long connectedComponentOfEdge(::CORBA::ULong edgeId) = 0;
423 virtual ::CORBA::Long connectedComponentOfNode(::CORBA::ULong nodeId) = 0;
424 virtual ::CORBA::Long numberEdges() = 0;
425 virtual void edge(::CORBA::ULong edgeId, ::hpp::floatSeq_out q1, ::hpp::floatSeq_out q2) = 0;
426 virtual ::CORBA::Long numberConnectedComponents() = 0;
427 virtual floatSeqSeq* nodesConnectedComponent(::CORBA::ULong connectedComponentId) = 0;
429 virtual void clearRoadmap() = 0;
430 virtual void resetRoadmap() = 0;
431 virtual void saveRoadmap(
const char* filename) = 0;
432 virtual void readRoadmap(
const char* filename) = 0;
445 virtual _CORBA_Boolean _dispatch(omniCallHandle&);
448 virtual void* _ptrToInterface(
const char*);
449 virtual const char* _mostDerivedRepoId();
460 _CORBA_MODULE POA_hpp
463 _CORBA_MODULE corbaserver
467 public virtual hpp::corbaserver::_impl_Problem,
468 public virtual ::PortableServer::ServantBase
484 _CORBA_MODULE OBV_hpp
487 _CORBA_MODULE corbaserver
505 omniObjRef::_marshal(obj->_PR_getobj(),s);
510 #ifdef USE_stub_in_nt_dll_NOT_DEFINED_problem 511 # undef USE_stub_in_nt_dll 512 # undef USE_stub_in_nt_dll_NOT_DEFINED_problem 514 #ifdef USE_core_stub_in_nt_dll_NOT_DEFINED_problem 515 # undef USE_core_stub_in_nt_dll 516 # undef USE_core_stub_in_nt_dll_NOT_DEFINED_problem 518 #ifdef USE_dyn_stub_in_nt_dll_NOT_DEFINED_problem 519 # undef USE_dyn_stub_in_nt_dll 520 # undef USE_dyn_stub_in_nt_dll_NOT_DEFINED_problem 523 #endif // __problem_hh__
_objref_PathPlanner * PathPlanner_ptr
Definition: path_planners-idl.hh:75
Definition: problem-idl.hh:320
static _ptr_type _unmarshalObjRef(cdrStream &s)
Definition: problem-idl.hh:148
_objref_Problem()
Definition: problem-idl.hh:294
_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
_objref_Path * Path_ptr
Definition: paths-idl.hh:100
::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:74
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:313
inline ::hpp::corbaserver::Problem_ptr _this()
Definition: problem-idl.hh:473
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< 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:311
_objref_Distance * Distance_ptr
Definition: _problem-idl.hh:135
sequence< intSeq > intSeqSeq
Definition: common.idl:30