libmove3d
3.13.0
|
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