159 lines
2.9 KiB
C++
159 lines
2.9 KiB
C++
#pragma once
|
|
|
|
#include "Joint.h"
|
|
#include "CommonMgd.h"
|
|
|
|
namespace ODEManaged
|
|
{
|
|
__gc public class JointSlider : public Joint
|
|
{
|
|
public:
|
|
|
|
|
|
//Constructors
|
|
|
|
JointSlider(void);
|
|
JointSlider(World &world);
|
|
JointSlider(World &world, JointGroup &jointGroup);
|
|
|
|
|
|
//Destructors
|
|
|
|
virtual ~JointSlider(void);
|
|
|
|
|
|
//Methods
|
|
|
|
//Overloaded Create
|
|
void Create(World &world, JointGroup &jointGroup);
|
|
void Create(World &world);
|
|
|
|
//Overloaded Attach
|
|
void Attach(Body &body1, Body &body2);
|
|
void Attach(Body &body1);
|
|
|
|
void SetAxis(double x, double y, double z);
|
|
Vector3 GetAxis(void);
|
|
|
|
void SetAllMovParams(double LoStop, double HiStop,
|
|
double Velocity, double MaxForce,
|
|
double FudgeFactor, double Bounce,
|
|
double StopERP, double StopCFM);
|
|
|
|
|
|
//Properties
|
|
|
|
//LoStop
|
|
__property double get_LoStop(void)
|
|
{
|
|
return dJointGetSliderParam(this->_id, dParamLoStop);
|
|
}
|
|
|
|
__property void set_LoStop(double value)
|
|
{
|
|
if (value <=0)
|
|
dJointSetSliderParam(this->_id, dParamLoStop, value);
|
|
}
|
|
|
|
|
|
//HiStop
|
|
__property double get_HiStop(void)
|
|
{
|
|
return dJointGetSliderParam(this->_id, dParamHiStop);
|
|
}
|
|
|
|
__property void set_HiStop(double value)
|
|
{
|
|
if (value >= 0)
|
|
dJointSetSliderParam(this->_id, dParamHiStop, value);
|
|
}
|
|
|
|
|
|
//Velocity
|
|
__property double get_Velocity(void)
|
|
{
|
|
return dJointGetSliderParam(this->_id, dParamVel);
|
|
}
|
|
|
|
__property void set_Velocity(double value)
|
|
{
|
|
dJointSetSliderParam(this->_id, dParamVel, value);
|
|
}
|
|
|
|
|
|
//MaxForce
|
|
__property double get_MaxForce(void)
|
|
{
|
|
return dJointGetSliderParam(this->_id, dParamFMax);
|
|
}
|
|
|
|
__property void set_MaxForce(double value)
|
|
{
|
|
dJointSetSliderParam(this->_id, dParamFMax, value);
|
|
}
|
|
|
|
|
|
//FudgeFactor
|
|
__property double get_FudgeFactor(void)
|
|
{
|
|
return dJointGetSliderParam(this->_id, dParamFudgeFactor);
|
|
}
|
|
|
|
__property void set_FudgeFactor(double value)
|
|
{
|
|
dJointSetSliderParam(this->_id, dParamFudgeFactor, value);
|
|
}
|
|
|
|
|
|
//Bounce
|
|
__property double get_Bounce(void)
|
|
{
|
|
return dJointGetSliderParam(this->_id, dParamBounce);
|
|
}
|
|
|
|
__property void set_Bounce(double value)
|
|
{
|
|
dJointSetSliderParam(this->_id, dParamBounce, value);
|
|
}
|
|
|
|
|
|
//StopERP
|
|
__property double get_StopERP(void)
|
|
{
|
|
return dJointGetSliderParam(this->_id, dParamStopERP);
|
|
}
|
|
|
|
__property void set_StopERP(double value)
|
|
{
|
|
dJointSetSliderParam(this->_id, dParamStopERP, value);
|
|
}
|
|
|
|
|
|
//StopCFM
|
|
__property double get_StopCFM(void)
|
|
{
|
|
return dJointGetSliderParam(this->_id, dParamStopCFM);
|
|
}
|
|
|
|
__property void set_StopCFM(double value)
|
|
{
|
|
dJointSetSliderParam(this->_id, dParamStopCFM, value);
|
|
}
|
|
|
|
|
|
//GetAngle
|
|
__property double get_Position(void)
|
|
{
|
|
return dJointGetSliderPosition(this->_id);
|
|
}
|
|
|
|
|
|
//GetAngleRate
|
|
__property double get_PositionRate(void)
|
|
{
|
|
return dJointGetSliderPositionRate(this->_id);
|
|
}
|
|
|
|
};
|
|
}
|