Fix joint feedback exposure

This commit is contained in:
rdb 2009-10-01 17:27:42 +00:00
parent 7012bbedb6
commit cce6604f25
2 changed files with 14 additions and 7 deletions

View File

@ -52,17 +52,15 @@ get_joint_type() const {
return dJointGetType(_id); return dJointGetType(_id);
} }
/*
INLINE void OdeJoint:: INLINE void OdeJoint::
set_feedback(dJointFeedback *feedback) { set_feedback(OdeJointFeedback *feedback) {
dJointSetFeedback(_id, feedback); dJointSetFeedback(_id, feedback);
} }
INLINE dJointFeedback *OdeJoint:: INLINE OdeJointFeedback *OdeJoint::
get_feedback() { get_feedback() {
return dJointGetFeedback(_id); return (OdeJointFeedback*) dJointGetFeedback(_id);
} }
*/
INLINE int OdeJoint:: INLINE int OdeJoint::
compare_to(const OdeJoint &other) const { compare_to(const OdeJoint &other) const {

View File

@ -23,6 +23,15 @@
#include "odeWorld.h" // Needed for derived classes #include "odeWorld.h" // Needed for derived classes
#include "odeJointGroup.h" #include "odeJointGroup.h"
BEGIN_PUBLISH
class EXPCL_PANDAODE OdeJointFeedback : public dJointFeedback {
INLINE const LVector3f get_force1() const { return LVector3f(f1[0], f1[1], f1[2]); };
INLINE const LVector3f get_force2() const { return LVector3f(f2[0], f2[1], f2[2]); };
INLINE const LVector3f get_torque1() const { return LVector3f(t1[0], t1[1], t1[2]); };
INLINE const LVector3f get_torque2() const { return LVector3f(t2[0], t2[1], t2[2]); };
};
END_PUBLISH
// Strange, we should be forced to include this by get_body() // Strange, we should be forced to include this by get_body()
class OdeBody; class OdeBody;
@ -75,8 +84,8 @@ PUBLISHED:
/* INLINE void *get_data(); */ /* INLINE void *get_data(); */
INLINE int get_joint_type() const; INLINE int get_joint_type() const;
OdeBody get_body(int index) const; OdeBody get_body(int index) const;
/* INLINE void set_feedback(dJointFeedback *); */ INLINE void set_feedback(OdeJointFeedback *);
/* INLINE dJointFeedback *get_feedback(); */ INLINE OdeJointFeedback *get_feedback();
void attach_bodies(const OdeBody &body1, const OdeBody &body2); void attach_bodies(const OdeBody &body1, const OdeBody &body2);
void attach_body(const OdeBody &body, int index); void attach_body(const OdeBody &body, int index);