vrsode/src/PhysicsJointSlider.cpp

Go to the documentation of this file.
00001 
00002 #include "PhysicsJointSlider.h"
00003 
00004 #include "PhysicsManager.h"
00005 
00006 namespace vrsode
00007 {
00008 
00009 PhysicsJointSlider::PhysicsJointSlider(VRS::SO<PhysicsBody> p_bodyOne,
00010                                        VRS::SO<PhysicsBody> p_bodyTwo,
00011                                        VRS::Vector p_axis)
00012     : PhysicsJoint(p_bodyOne, p_bodyTwo)
00013 {
00014     dBodyID bodyOne;
00015     dBodyID bodyTwo;
00016     p_bodyOne != 0 ? bodyOne = p_bodyOne->bodyId() : bodyOne = 0;
00017     p_bodyTwo != 0 ? bodyTwo = p_bodyTwo->bodyId() : bodyTwo = 0;
00018 
00019     setJointId(dJointCreateSlider(PhysicsManager::get()->worldId(), 0));
00020     dJointAttach(jointId(), bodyOne, bodyTwo);
00021     dJointSetSliderAxis(jointId(), p_axis[0], p_axis[1], p_axis[2]);
00022     dJointSetData(jointId(), this);
00023 }
00024 
00025 PhysicsJointSlider::~PhysicsJointSlider()
00026 {
00027     dJointDestroy(jointId());
00028 }
00029 
00030 void
00031 PhysicsJointSlider::setLowStop(double p_lowStop)
00032 {
00033     dJointSetSliderParam(jointId(), dParamLoStop, p_lowStop);
00034 }
00035 
00036 void
00037 PhysicsJointSlider::setHighStop(double p_highStop)
00038 {
00039     dJointSetSliderParam(jointId(), dParamHiStop, p_highStop);
00040 }
00041 
00042 void
00043 PhysicsJointSlider::setMotorVelocity(double p_velocity)
00044 {
00045     dJointSetSliderParam(jointId(), dParamVel, p_velocity);
00046 }
00047 
00048 void
00049 PhysicsJointSlider::setMotorMaxForce(double p_maxForce)
00050 {
00051     dJointSetSliderParam(jointId(), dParamFMax, p_maxForce);
00052 }
00053 
00054 void
00055 PhysicsJointSlider::setStopBounce(double p_bounce)
00056 {
00057     dJointSetSliderParam(jointId(), dParamBounce, p_bounce);
00058 }
00059 
00060 void
00061 PhysicsJointSlider::addForce(double p_force)
00062 {
00063     dJointAddSliderForce(jointId(), p_force);
00064 }
00065 
00066 void
00067 PhysicsJointSlider::setCFM(double p_cfm)
00068 {
00069     dJointSetSliderParam(jointId(), dParamCFM, p_cfm);
00070 }
00071 
00072 }

Generated on Fri May 11 21:01:58 2007 for Random Racer by  doxygen 1.5.1