40 #ifndef _physicshingeconstraint_h
41 #define _physicshingeconstraint_h
43 #include "Physics/dualtransformconstraint.h"
45 class btHingeConstraint;
107 virtual void SetPivotALocation(
const Vector3& Location);
112 virtual void SetPivotBLocation(
const Vector3& Location);
116 virtual Vector3 GetPivotALocation()
const;
120 virtual Vector3 GetPivotBLocation()
const;
126 virtual void SetAPivotRotation(
const Quaternion& Rotation);
131 virtual void SetBPivotRotation(
const Quaternion& Rotation);
142 virtual void SetPivotATransform(
const Transform& TranA);
144 virtual void SetPivotBTransform(
const Transform& TranB);
146 virtual Transform GetPivotATransform()
const;
148 virtual Transform GetPivotBTransform()
const;
157 virtual void EnableMotor(
bool EnableMotor,
Real TargetVelocity,
Real MaxMotorImpulse);
161 virtual void EnableMotor(
bool EnableMotor);
164 virtual bool GetMotorEnabled()
const;
167 virtual void SetMaxMotorImpulse(
Real MaxMotorImpulse);
170 virtual Real GetMaxMotorImpulse()
const;
179 virtual void SetMotorTarget(
Real TargetAngle,
Real Dt);
183 virtual void SetMotorTargetVelocity(
Real TargetVelocity);
186 virtual Real GetMotorTargetVelocity()
const;
197 virtual void SetLimit(
Real Low,
Real High,
Real Softness=0.9,
Real BiasFactor=0.3,
Real RelaxationFactor=1.0);
200 virtual Real GetLimitLow()
const;
203 virtual Real GetLimitHigh()
const;
206 virtual Real GetLimitSoftness()
const;
209 virtual Real GetLimitBiasFactor()
const;
212 virtual Real GetLimitRelaxationFactor()
const;
219 virtual void SetAxis(
const Vector3& AxisInA);
222 virtual Real GetHingeAngle();
233 virtual bool GetUseFrameOffset()
const;
236 virtual void SetUseFrameOffset(
bool FrameOffset);
239 virtual bool GetUseReferenceFrameA()
const;
242 virtual void SetUseReferenceFrameA(
bool UseReferenceFrameA=
false);
245 virtual btTypedConstraint* GetConstraintBase()
const;
252 virtual void ProtoSerialize(
XML::Node& CurrentRoot)
const;
256 virtual void ProtoDeSerialize(
const XML::Node& OneNode);
259 static String SerializableName();