40 #ifndef _physicsgeneric6dofconstraint_h
41 #define _physicsgeneric6dofconstraint_h
43 #include "Physics/dualtransformconstraint.h"
45 class btGeneric6DofConstraint;
97 AngularXAsRotationalAxis = 0,
98 AngularYAsRotationalAxis = 1,
99 AngularZAsRotationalAxis = 2
141 virtual void SetPivotATransform(
const Transform& TranA);
143 virtual void SetPivotBTransform(
const Transform& TranB);
145 virtual Transform GetPivotATransform()
const;
147 virtual Transform GetPivotBTransform()
const;
150 virtual void SetPivotALocation(
const Vector3& Location);
152 virtual void SetPivotBLocation(
const Vector3& Location);
154 virtual Vector3 GetPivotALocation()
const;
156 virtual Vector3 GetPivotBLocation()
const;
159 virtual void SetPivotARotation(
const Quaternion& Rotation);
161 virtual void SetPivotBRotation(
const Quaternion& Rotation);
174 virtual void SetLimit(
int Axis,
Real Lower,
Real Upper);
178 virtual void SetLinearLimitUpper(
const Vector3& Limit);
181 virtual void SetLinearLimitLower(
const Vector3& Limit);
184 virtual Vector3 GetLinearLimitUpper()
const;
187 virtual Vector3 GetLinearLimitLower()
const;
191 virtual void SetAngularLimitUpper(
const Vector3& Limit);
194 virtual void SetAngularLimitLower(
const Vector3& Limit);
197 virtual Vector3 GetAngularLimitUpper()
const;
200 virtual Vector3 GetAngularLimitLower()
const;
204 Real GetAngularLimitLowerOnAxis(
int RotationalAxis)
const;
209 Real GetAngularLimitUpperOnAxis(
int RotationalAxis)
const;
229 virtual void SetAngularLimitMaxForce(
const Vector3& MaxLimitForces);
233 virtual void SetAngularLimitMaxForceOnAxis(
Real MaxLimitForce,
int Axis);
236 virtual Vector3 GetAngularLimitMaxForce()
const;
240 virtual Real GetAngularLimitMaxForceOnAxis(
int Axis)
const;
244 virtual void SetAngularMotorTargetVelocity(
const Vector3& Velocities);
248 virtual void SetAngularMotorTargetVelocityOnAxis(
Real Velocity,
int Axis);
251 virtual Vector3 GetAngularMotorTargetVelocity()
const;
255 virtual Real GetAngularMotorTargetVelocityOnAxis(
int Axis)
const;
259 virtual void SetAngularMotorMaxForce(
const Vector3& Forces);
263 virtual void SetAngularMotorMaxForceOnAxis(
Real Force,
int Axis);
266 virtual Vector3 GetAngularMotorMaxForce()
const;
270 virtual Real GetAngularMotorMaxForceOnAxis(
int Axis)
const;
274 virtual void SetAngularMotorDamping(
const Vector3& Dampings);
278 virtual void SetAngularMotorDampingOnAxis(
Real Damping,
int Axis);
281 virtual Vector3 GetAngularMotorDamping()
const;
285 virtual Real GetAngularMotorDampingOnAxis(
int Axis)
const;
289 virtual void SetAngularMotorRestitution(
const Vector3& Restistutions);
293 virtual void SetAngularMotorRestitutionOnAxis(
Real Restistution,
int Axis);
296 virtual Vector3 GetAngularMotorRestitution()
const;
300 virtual Real GetAngularMotorRestitutionOnAxis(
int Axis)
const;
304 virtual void SetAngularMotorEnabled(
const Vector3& Enableds);
308 virtual void SetAngularMotorEnabledOnAxis(
bool Enabled,
int Axis);
311 virtual Vector3 GetAngularMotorEnabled()
const;
315 virtual bool GetAngularMotorEnabledOnAxis(
int Axis)
const;
322 virtual void SetLinearLimitSoftness(
Real Softness);
325 virtual Real GetLinearLimitSoftness()
const;
329 virtual void SetLinearLimitDamping(
Real Damping);
332 virtual Real GetLinearLimitDamping()
const;
336 virtual void SetLinearLimitRestitution(
Real Restitution);
339 virtual Real GetLinearLimitRestitution()
const;
343 virtual void SetLinearMotorMaxForce(
const Vector3& Forces);
347 virtual void SetLinearMotorMaxForceOnAxis(
Real Force,
int Axis);
350 virtual Vector3 GetLinearMotorMaxForce()
const;
354 virtual Real GetLinearMotorMaxForceOnAxis(
int Axis)
const;
358 virtual void SetLinearMotorTargetVelocity(
const Vector3& Velocities);
362 virtual void SetLinearMotorTargetVelocityOnAxis(
Real Velocity,
int Axis);
365 virtual Vector3 GetLinearMotorTargetVelocity()
const;
369 virtual Real GetLinearMotorTargetVelocityOnAxis(
int Axis)
const;
373 virtual void SetLinearMotorEnabled(
const Vector3& Enableds);
377 virtual void SetLinearMotorEnabledOnAxis(
bool Enabled,
int Axis);
380 virtual Vector3 GetLinearMotorEnabled()
const;
384 virtual bool GetLinearMotorEnabledOnAxis(
int Axis)
const;
400 virtual bool GetUseFrameOffset()
const;
403 virtual void SetUseFrameOffset(
bool FrameOffset);
406 virtual btTypedConstraint* GetConstraintBase()
const;
413 virtual void ProtoSerialize(
XML::Node& CurrentRoot)
const;
417 virtual void ProtoDeSerialize(
const XML::Node& OneNode);
420 static String SerializableName();