40 #ifndef _physicsgeneric6dofspringconstraint_h
41 #define _physicsgeneric6dofspringconstraint_h
43 #include "Physics/generic6dofconstraint.h"
45 class btGeneric6DofSpringConstraint;
66 virtual btGeneric6DofSpringConstraint* Generic6dofSpring()
const;
106 virtual void CalculateSpringEquilibriumPoints();
113 virtual void SetLinearSpringStiffness(
const Vector3& Stiffness);
116 virtual Vector3 GetLinearSpringStiffness()
const;
120 virtual void SetLinearSpringStiffnessOnAxis(
const Real Stiffness,
Whole TranslationAxis);
124 virtual Real GetLinearSpringStiffnessOnAxis(
Whole TranslationAxis)
const;
128 virtual void SetLinearSpringDamping(
const Vector3& Damps);
131 virtual Vector3 GetLinearSpringDamping()
const;
135 virtual void SetLinearSpringDampingOnAxis(
const Real Damping,
Whole TranslationAxis);
139 virtual Real GetLinearSpringDampingOnAxis(
Whole TranslationAxis)
const;
143 virtual void SetLinearSpringEnabled(
const Vector3& Enabled);
146 virtual Vector3 GetLinearSpringEnabled()
const;
150 virtual void SetLinearSpringEnabledOnAxis(
const Boole Enabled,
Whole TranslationAxis);
154 virtual Boole GetLinearSpringEnabledOnAxis(
Whole TranslationAxis)
const;
158 virtual Vector3 GetLinearSpringEquilibriumPoints()
const;
165 virtual void SetAngularSpringStiffness(
const Vector3& Stiffness);
168 virtual Vector3 GetAngularSpringStiffness()
const;
172 virtual void SetAngularSpringStiffnessOnAxis(
const Real Stiffness,
Whole RotationAxis);
176 virtual Real GetAngularSpringStiffnessOnAxis(
Whole RotationAxis)
const;
180 virtual void SetAngularSpringDamping(
const Vector3& Damps);
183 virtual Vector3 GetAngularSpringDamping()
const;
187 virtual void SetAngularSpringDampingOnAxis(
const Real Damping,
Whole RotationAxis);
191 virtual Real GetAngularSpringDampingOnAxis(
Whole RotationAxis)
const;
195 virtual void SetAngularSpringEnabled(
const Vector3& Enableness);
198 virtual Vector3 GetAngularSpringEnabled()
const;
202 virtual void SetAngularSpringEnabledOnAxis(
const Boole Enabled,
Whole RotationAxis);
206 virtual Boole GetAngularSpringEnabledOnAxis(
Whole RotationAxis)
const;
210 virtual Vector3 GetAngularSpringEquilibriumPoints()
const;
218 virtual void SetSpringStiffness(
int Index,
Real Stiffness);
222 virtual Real GetSpringStiffness(
int Index)
const;
227 virtual void SetSpringDamping(
int Index,
Real Damping);
231 virtual Real GetSpringDamping(
int Index)
const;
236 virtual void SetSpringEnabled(
int Index,
Boole Enable);
240 virtual Boole GetSpringEnabled(
int Index)
const;
244 virtual void CalculateSpringEquilibriumPoint(
int Index);
248 virtual void SetSpringEquilibriumPoint(
int Index,
const Real Point);
251 virtual Real GetSpringEquilibriumPoint(
int Index)
const;
257 virtual void ProtoSerializeProperties(
XML::Node& SelfRoot)
const;
259 virtual void ProtoDeSerializeProperties(
const XML::Node& SelfRoot);
262 virtual String GetDerivedSerializableName()
const;
265 static String GetSerializableName();
bool Boole
Generally acts a single bit, true or false.
Create simple but specific limits on any axis of movement or rotation.
float Real
A Datatype used to represent a real floating point number.
A light-weight handle for manipulating nodes in DOM tree.
uint32_t UInt32
An 32-bit unsigned integer.
This is a proxy from which rigid body proxys are handled.
This is simply a place for storing all the Physics Related functions.
This is used to represent a point in space, or a vector through space.
The bulk of the engine components go in this namspace.
unsigned long Whole
Whole is an unsigned integer, it will be at least 32bits in size.
Creates a constraint as configurable as the 6Dof constraint, but has added support for spring motion...
std::string String
A datatype used to a series of characters.