Show DopeJointSubtypes.cpp syntax highlighted
#include "DopeJointSubtypes.h"
#include "DopeEscena.h"
namespace Dope {
//-------------------------------------------------------------------------
BallJoint::BallJoint(Joint::JointType jtype, Entidad* obj1, Entidad* obj2)
: Joint(jtype)
{
mOdeJoint = new dBallJoint(Escena::getSingleton().getOdeWorld()->id());
setAttachments(obj1, obj2);
}
//-------------------------------------------------------------------------
void BallJoint::setAnchorPosition(const Vector3& point)
{
dBallJoint* ballJoint = static_cast<dBallJoint*>(mOdeJoint);
ballJoint->setAnchor(point.x, point.y, point.z);
mAnchor = point;
}
//-------------------------------------------------------------------------
//-------------------------------------------------------------------------
SliderJoint::SliderJoint(Joint::JointType jtype, Entidad* obj1, Entidad* obj2)
: Joint(jtype)
{
mOdeJoint = new dSliderJoint(Escena::getSingleton().getOdeWorld()->id());
setAttachments(obj1, obj2);
}
//-------------------------------------------------------------------------
void SliderJoint::setAxes(const Vector3& a1, const Vector3& na)
{
dSliderJoint* sliderJoint = static_cast<dSliderJoint*>(mOdeJoint);
sliderJoint->setAxis(a1.x, a1.y, a1.z);
mAxes.first = a1;
}
//-------------------------------------------------------------------------
//-------------------------------------------------------------------------
HingeJoint::HingeJoint(Joint::JointType jtype, Entidad* obj1, Entidad* obj2)
: Joint(jtype)
{
mOdeJoint = new dHingeJoint(Escena::getSingleton().getOdeWorld()->id());
setAttachments(obj1, obj2);
}
//-------------------------------------------------------------------------
void HingeJoint::setAnchorPosition(const Vector3& point)
{
dHingeJoint* hinge = static_cast<dHingeJoint*>(mOdeJoint);
hinge->setAnchor(point.x, point.y, point.z);
mAnchor = point;
}
//-------------------------------------------------------------------------
void HingeJoint::setAxes(const Vector3& a1, const Vector3& na)
{
dHingeJoint* hinge = static_cast<dHingeJoint*>(mOdeJoint);
hinge->setAxis(a1.x, a1.y, a1.z);
mAxes.first = a1;
}
//-------------------------------------------------------------------------
//-------------------------------------------------------------------------
UniversalJoint::UniversalJoint(Joint::JointType jtype, Entidad* obj1, Entidad* obj2)
: Joint(jtype)
{
mOdeJoint = new dUniversalJoint(Escena::getSingleton().getOdeWorld()->id());
setAttachments(obj1, obj2);
}
//-------------------------------------------------------------------------
void UniversalJoint::setAnchorPosition(const Vector3& point)
{
dUniversalJoint* univ = static_cast<dUniversalJoint*>(mOdeJoint);
univ->setAnchor(point.x, point.y, point.z);
mAnchor = point;
}
//-------------------------------------------------------------------------
void UniversalJoint::setAxes(const Vector3& a1, const Vector3& a2)
{
dUniversalJoint* univ = static_cast<dUniversalJoint*>(mOdeJoint);
univ->setAxis1(a1.x, a1.y, a1.z);
univ->setAxis2(a2.x, a2.y, a2.z);
mAxes.first = a1;
mAxes.second = a2;
}
//-------------------------------------------------------------------------
//-------------------------------------------------------------------------
Hinge2Joint::Hinge2Joint(Joint::JointType jtype, Entidad* obj1, Entidad* obj2)
: Joint(jtype)
{
mOdeJoint = new dHinge2Joint(Escena::getSingleton().getOdeWorld()->id());
setAttachments(obj1, obj2);
}
//-------------------------------------------------------------------------
void Hinge2Joint::setAnchorPosition(const Vector3& point)
{
dHinge2Joint* hinge = static_cast<dHinge2Joint*>(mOdeJoint);
hinge->setAnchor(point.x, point.y, point.z);
mAnchor = point;
}
//-------------------------------------------------------------------------
void Hinge2Joint::setAxes(const Vector3& a1, const Vector3& a2)
{
dHinge2Joint* hinge = static_cast<dHinge2Joint*>(mOdeJoint);
hinge->setAxis1(a1.x, a1.y, a1.z);
hinge->setAxis2(a2.x, a2.y, a2.z);
mAxes.first = a1;
mAxes.second = a2;
}
}
See more files for this project here