40 #ifndef _physicshingeconstraint_h
41 #define _physicshingeconstraint_h
43 #include "Physics/dualtransformconstraint.h"
45 class btHingeConstraint;
75 virtual void DestroyConstraint();
122 virtual void SetPivotATransform(
const Transform& TransA);
124 virtual void SetPivotBTransform(
const Transform& TransB);
126 virtual Transform GetPivotATransform()
const;
128 virtual Transform GetPivotBTransform()
const;
133 virtual void SetPivotALocation(
const Vector3& Location);
137 virtual void SetPivotBLocation(
const Vector3& Location);
140 virtual Vector3 GetPivotALocation()
const;
143 virtual Vector3 GetPivotBLocation()
const;
148 virtual void SetAPivotRotation(
const Quaternion& Rotation);
152 virtual void SetBPivotRotation(
const Quaternion& Rotation);
165 virtual void SetAxis(
const Vector3& AxisInA);
168 virtual Real GetHingeAngle();
172 virtual void SetUseFrameOffset(
const Boole FrameOffset);
175 virtual Boole GetUseFrameOffset()
const;
179 virtual void SetUseReferenceFrameA(
const Boole UseRefFrameA);
182 virtual Boole GetUseReferenceFrameA()
const;
193 virtual void SetLimits(
const Real Low,
const Real High,
const Real Softness = 0.9,
const Real BiasFactor = 0.3,
const Real RelaxationFactor = 1.0);
196 virtual Real GetLimitLow()
const;
199 virtual Real GetLimitHigh()
const;
202 virtual Real GetLimitSoftness()
const;
205 virtual Real GetLimitBiasFactor()
const;
208 virtual Real GetLimitRelaxationFactor()
const;
217 virtual void EnableMotor(
const Boole EnableMotor,
const Real TargetVelocity,
const Real MaxMotorImpulse);
221 virtual void SetMotorEnabled(
const Boole EnableMotor);
224 virtual Boole GetMotorEnabled()
const;
228 virtual void SetMaxMotorImpulse(
const Real MaxMotorImpulse);
231 virtual Real GetMaxMotorImpulse()
const;
236 virtual void SetMotorTargetVelocity(
const Real TargetVelocity);
239 virtual Real GetMotorTargetVelocity()
const;
244 virtual void SetMotorTarget(
const Quaternion& QuatAInB,
const Real Delta);
248 virtual void SetMotorTarget(
const Real TargetAngle,
const Real Delta);
266 virtual void ProtoSerializeProperties(
XML::Node& SelfRoot)
const;
268 virtual void ProtoDeSerializeProperties(
const XML::Node& SelfRoot);
271 virtual String GetDerivedSerializableName()
const;
274 static String GetSerializableName();
280 virtual btTypedConstraint* _GetConstraintBase()
const;
std::ostream & operator<<(std::ostream &stream, const Mezzanine::LinearInterpolator< T > &Lint)
Used to Serialize an Mezzanine::LinearInterpolator to a human readable stream.
std::vector< int > AxisList
Used to Store lists of Int Axis for return types.
bool Boole
Generally acts a single bit, true or false.
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.
ConstraintParam
Used by constraints for setting some parameters.
This is a proxy from which rigid body proxys are handled.
std::vector< ConstraintParam > ParamList
Used to Store lists of param for return types.
This is simply a place for storing all the Physics Related functions.
This is a constraint to be used to restrict the movement between two objects to angular rotation on a...
This is used to represent a point in space, or a vector through space.
The bulk of the engine components go in this namspace.
std::istream & operator>>(std::istream &stream, Mezzanine::LinearInterpolator< T > &Lint)
Used to de-serialize an Mezzanine::LinearInterpolator from a stream.
This is used to store information about rotation in 3d space.
std::string String
A datatype used to a series of characters.
btHingeConstraint * Hinge
Bullet constraint that this class encapsulates.