libmove3d  3.13.0
/home/slemaign/softs-local/BioMove3D-git/lightPlanner/proto/lightPlannerApi.h
00001 #ifndef LIGHTPLANNERAPI_H
00002 #define LIGHTPLANNERAPI_H
00003 #include "Planner-pkg.h"
00004 #include "P3d-pkg.h"
00005 
00009 class p3d_objectPos {
00010   
00011 public:
00012   p3d_objectPos() { };
00013   p3d_objectPos(p3d_matrix4 m) 
00014   {
00015     p3d_mat4ExtractPosReverseOrder(m, &_x, &_y, &_z, &_rx, &_ry, &_rz);
00016   };
00017   
00018   void setFromMatrix(p3d_matrix4 m)
00019   {
00020     p3d_mat4ExtractPosReverseOrder(m, &_x, &_y, &_z, &_rx, &_ry, &_rz);
00021   };
00022   
00023   void getMatrix(p3d_matrix4 m)
00024   {
00025     p3d_mat4PosReverseOrder( m, _x, _y, _z,
00026                               _rx, _ry, _rz);
00027   };  
00028   
00029   double _x;
00030   double _y; 
00031   double _z; 
00032   double _rx; 
00033   double _ry; 
00034   double _rz; 
00035 };
00036 
00037 
00038 extern void deactivateCcCntrts(p3d_rob * robot, int cntrtNum);
00039 extern void activateCcCntrts(p3d_rob * robot, int cntrtNum, bool nonUsedCntrtDesactivation);
00040 extern void switchBBActivationForGrasp(void);
00041 extern void setSafetyDistance(p3d_rob* robot, double dist);
00042 extern void getObjectBaseAttachMatrix(p3d_matrix4 base, p3d_matrix4 object, p3d_matrix4 result);
00043 extern void deactivateHandsVsObjectCol(p3d_rob* robot);
00044 extern void activateHandsVsObjectCol(p3d_rob* robot);
00045 extern void deactivateObjectCol(p3d_rob* robot);
00046 extern void activateObjectCol(p3d_rob* robot);
00047 extern double** saveJointSamplingState(p3d_rob* robot);
00048 extern void restoreJointSamplingState(p3d_rob* robot, double** jointSamplingState);
00049 extern void destroyJointSamplingState(p3d_rob* robot, double** jointSamplingState);
00050 extern void fixAllJointsWithoutArm(p3d_rob* robot, int armId);
00051 extern void fixAllJointsExceptBase(p3d_rob * robot);
00052 extern void fixAllJointsExceptBaseAndObject(p3d_rob * robot, configPt conf);
00053 extern void unFixAllJointsExceptBaseAndObject(p3d_rob * robot);
00054 extern void fixJoint(p3d_rob * robot, p3d_jnt * joint, p3d_matrix4 initPos);
00055 extern void unFixJoint(p3d_rob * robot, p3d_jnt * joint);
00056 extern double* getJntDofValue(p3d_rob * robot, p3d_jnt * joint, p3d_matrix4 initPos);
00057 extern p3d_cntrt* setAndActivateTwoJointsFixCntrt(p3d_rob * robot, p3d_jnt* passiveJnt, p3d_jnt* activeJnt);
00058 extern void desactivateTwoJointsFixCntrt(p3d_rob * robot, p3d_jnt* passiveJnt, p3d_jnt* activeJnt);
00059 extern void shootTheObjectInTheWorld(p3d_rob* robot, p3d_jnt* objectJnt);
00060 extern void shootTheObjectArroundTheBase(p3d_rob* robot, p3d_jnt* baseJnt, p3d_jnt* objectJnt, double radius);
00061 extern p3d_cntrt * findTwoJointsFixCntrt(p3d_rob* robot, p3d_jnt* passiveJnt, p3d_jnt* activeJnt);
00062 extern int getGraspingArm(p3d_rob* robot, bool cartesian);
00063 extern int getClosestWristToTheObject(p3d_rob* robot);
00064 extern int getClosestWristToTheObject(p3d_rob* robot, p3d_rob* object);
00065 extern int getClosestWristToTheObject(p3d_rob* robot, p3d_matrix4 objectPos);
00066 #ifdef GRASP_PLANNING
00067 #include "GraspPlanning-pkg.h"
00068 extern int getBetterCollisionFreeGraspAndApproach(p3d_rob* robot, p3d_matrix4 objectPos, gpHand_type handType, p3d_matrix4 tAtt, configPt* graspConfig, configPt* approachConfig, gpGrasp * grasp);
00069 extern int selectHandAndGetGraspApproachConfigs(p3d_rob* robot, p3d_matrix4 objectPos, p3d_matrix4 tAtt, configPt* graspConfig, configPt* approachConfig, gpGrasp* grasp, int* whichArm, bool cartesian);
00070 #endif
00071 
00072 #endif
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines