OpenSimMirror/libraries/ode-0.9/contrib/DotNetManaged/JointSlider.h

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);
}
};
}