MezzanineEngine 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
Mezzanine::Physics::HingeConstraint Class Reference

This is a constraint to be used to restrict the movement between two objects to angular rotation on a single axis. More...

#include <constraint.h>

+ Inheritance diagram for Mezzanine::Physics::HingeConstraint:
+ Collaboration diagram for Mezzanine::Physics::HingeConstraint:

Public Member Functions

 HingeConstraint (RigidProxy *ProxyA, RigidProxy *ProxyB, const Vector3 &PivotInA, const Vector3 &PivotInB, const Vector3 &AxisInA, const Vector3 &AxisInB, bool UseReferenceFrameA=false)
 Creates a Hinge constraint that will connect two proxies together by their offsets. More...
 
 HingeConstraint (RigidProxy *ProxyA, const Vector3 &PivotInA, const Vector3 &AxisInA, bool UseReferenceFrameA=false)
 Creates a Hinge constraint that will attach an proxy to a point in world space. More...
 
 HingeConstraint (RigidProxy *ProxyA, RigidProxy *ProxyB, const Vector3 &VectorA, const Vector3 &VectorB, const Quaternion &QuaternionA, const Quaternion &QuaternionB, bool UseReferenceFrameA=false)
 Create a Hinge with components of a tranform. More...
 
 HingeConstraint (RigidProxy *ProxyA, RigidProxy *ProxyB, const Transform &TransformA, const Transform &TransformB, bool UseReferenceFrameA=false)
 Create a Hinge with components of a tranform. More...
 
virtual ~HingeConstraint ()
 Class destructor.
 
virtual void EnableMotor (bool EnableMotor, Real TargetVelocity, Real MaxMotorImpulse)
 Enables(or Disables) the motor on the hinge and sets it's parameters. More...
 
virtual void EnableMotor (bool EnableMotor)
 Enables(or Disables) the motor on the hinge. More...
 
virtual Quaternion GetAPivotRotation () const
 Get the relative rotation for ActorA. More...
 
virtual Quaternion GetBPivotRotation () const
 Get the relative rotation for ActorB. More...
 
virtual btTypedConstraint * GetConstraintBase () const
 Get the Bullet constraint that this class encapsulates. More...
 
virtual Real GetHingeAngle ()
 Gets the current angle of the hinge. More...
 
virtual Real GetLimitBiasFactor () const
 Return the bias factor of the hinge (Not entirely certain hat this on is) More...
 
virtual Real GetLimitHigh () const
 Return the Upper Limit of the hinge. More...
 
virtual Real GetLimitLow () const
 Return the Lower Limit of the hinge. More...
 
virtual Real GetLimitRelaxationFactor () const
 Return the Relaxation Factor of the hinge. More...
 
virtual Real GetLimitSoftness () const
 Return the Softness of the hinge. More...
 
virtual Real GetMaxMotorImpulse () const
 Retrieve the maximimum value that the acceleration of the motor can be increased. More...
 
virtual bool GetMotorEnabled () const
 Is this motor on this hinge enabled? More...
 
virtual Real GetMotorTargetVelocity () const
 Get the Target Velocity. More...
 
virtual Vector3 GetPivotALocation () const
 Get the location of the hinge pivot relative to ActorA's Center of gravity. More...
 
virtual Transform GetPivotATransform () const
 
virtual Vector3 GetPivotBLocation () const
 Get the location of the hinge pivot relative to ActorB's Center of gravity. More...
 
virtual Transform GetPivotBTransform () const
 
virtual bool GetUseFrameOffset () const
 Retrieve the stored value from the physics subsystem(bullet) More...
 
virtual bool GetUseReferenceFrameA () const
 Is this Using Reference Frame A. More...
 
virtual bool HasParamBeenSet (ConstraintParam Param, int Axis) const
 
virtual void ProtoDeSerialize (const XML::Node &OneNode)
 Take the data stored in an XML and overwrite this instance of this object with it. More...
 
virtual void ProtoSerialize (XML::Node &CurrentRoot) const
 Convert this class to an XML::Node ready for serialization. More...
 
virtual void SetAPivotRotation (const Quaternion &Rotation)
 Set The relative rotation of ActorA. More...
 
virtual void SetAxis (const Vector3 &AxisInA)
 Sets the axis on which this constraint acts. More...
 
virtual void SetBPivotRotation (const Quaternion &Rotation)
 Set The relative rotation of ActorB. More...
 
virtual void SetLimit (Real Low, Real High, Real Softness=0.9, Real BiasFactor=0.3, Real RelaxationFactor=1.0)
 Sets the angle limits of the constraint in radians. More...
 
virtual void SetMaxMotorImpulse (Real MaxMotorImpulse)
 Sets the maximum amount of force the motor is to apply. More...
 
virtual void SetMotorTarget (const Quaternion &QuatAInB, Real Dt)
 Sets a Target Velocity, indirectly using the angle stored in a quaternion. More...
 
virtual void SetMotorTarget (Real TargetAngle, Real Dt)
 Set the Rotational velocity in a more direct fashion. More...
 
virtual void SetMotorTargetVelocity (Real TargetVelocity)
 Desired angular velocity of the motor. More...
 
virtual void SetPivotALocation (const Vector3 &Location)
 Set The relative location of the hinge pivot from ActorA's Center of gravity. More...
 
virtual void SetPivotATransform (const Transform &TranA)
 
virtual void SetPivotBLocation (const Vector3 &Location)
 Set The relative location of the hinge pivot from ActorB's Center of gravity. More...
 
virtual void SetPivotBTransform (const Transform &TranB)
 
virtual void SetUseFrameOffset (bool FrameOffset)
 Set the stored value for UseFrameOffset on this hinge in the physics subsystem(bullet) More...
 
virtual void SetUseReferenceFrameA (bool UseReferenceFrameA=false)
 Change whether this is Using Reference Frame A or not. More...
 
virtual Constraint::AxisList ValidAngularAxis () const
 Get A list sorted (low to high) of all axis that operate Angularly (that lock sliding/translation) More...
 
virtual Constraint::AxisList ValidLinearAxis () const
 Get a sorted (low to high) list of all axis that operate linearly (that lock sliding/translation) More...
 
virtual Constraint::ParamList ValidParamOnAxis (int Axis) const
 Get a sorted (low to high) list of Parameters that are valid on this Axis. More...
 
- Public Member Functions inherited from Mezzanine::Physics::DualTransformConstraint
virtual Quaternion GetPivotARotation () const
 Get the relative rotation for ActorA. More...
 
virtual Quaternion GetPivotBRotation () const
 Get the relative rotation for ActorB. More...
 
virtual void SetPivotARotation (const Quaternion &Rotation)
 Set The relative rotation of ActorA. More...
 
virtual void SetPivotBRotation (const Quaternion &Rotation)
 Set The relative rotation of ActorB. More...
 
- Public Member Functions inherited from Mezzanine::Physics::Constraint
virtual ~Constraint ()
 Class destructor. More...
 
virtual Real GetParam (ConstraintParam Param, int Axis=-1) const
 Gets value of constraint parameters. More...
 
virtual RigidProxyGetProxyA () const
 Gets the first Proxy this constraint applies to. More...
 
virtual RigidProxyGetProxyB () const
 Gets the second Proxy this constraint applies to. More...
 
virtual bool IsParamValidOnAxis (ConstraintParam Param, int Axis) const
 Is a certain Parameter valid on a certain axis. More...
 
virtual void SetParam (ConstraintParam Param, Real Value, int Axis=-1)
 Provides override of constraint parameters. More...
 
virtual AxisList ValidAxis () const
 Get a sorted (low to high) list of All Valid Axis. More...
 
virtual ParamList ValidParams () const
 Get A sorted (low to high) list of Parameters that are valid on all Axis. More...
 

Static Public Member Functions

static String SerializableName ()
 Get the name of the the XML tag this class will leave behind as its instances are serialized. More...
 
- Static Public Member Functions inherited from Mezzanine::Physics::DualTransformConstraint
static String SerializableName ()
 Get the name of the the XML tag this class will leave behind as its instances are serialized. More...
 
- Static Public Member Functions inherited from Mezzanine::Physics::Constraint
static String SerializableName ()
 Get the name of the the XML tag this class will leave behind as its instances are serialized. More...
 

Protected Attributes

btHingeConstraint * Hinge
 Bullet constraint that this class encapsulates.
 

Additional Inherited Members

- Public Types inherited from Mezzanine::Physics::Constraint
typedef std::vector< int > AxisList
 Used to Store lists of Int Axis for return types. More...
 
typedef std::vector
< ConstraintParam
ParamList
 Used to Store lists of param for return types.
 
- Protected Member Functions inherited from Mezzanine::Physics::Constraint
 Constraint ()
 No initialization constructor. More...
 
void SetBodies (RigidProxy *Prox1, RigidProxy *Prox2)
 Sets the Internal Proxy pointers. More...
 
void SetBodies (RigidProxy *Prox1)
 Sets the Internal Proxy pointers. More...
 

Detailed Description

This is a constraint to be used to restrict the movement between two objects to angular rotation on a single axis.

As the name suggests, this constraint essentially works like a door Hinge.

Definition at line 57 of file hingeconstraint.h.

Constructor & Destructor Documentation

Mezzanine::Physics::HingeConstraint::HingeConstraint ( RigidProxy ProxyA,
RigidProxy ProxyB,
const Vector3 PivotInA,
const Vector3 PivotInB,
const Vector3 AxisInA,
const Vector3 AxisInB,
bool  UseReferenceFrameA = false 
)

Creates a Hinge constraint that will connect two proxies together by their offsets.

Parameters
ProxyAThe first proxy to apply this constraint to.
ProxyBThe second proxy to apply this constraint to.
PivotAThe location in ProxyA's local space to apply the constraint to.
PivotBThe location in ProxyB's local space to apply the constraint to.
AxisInAThe axis(for ProxyA) on which the hinge is to act. For example, a door hinge would be (0.0,1.0,0.0), aka the positive Y axis.
AxisInBThe axis(for ProxyB) on which the hinge is to act. For example, a door hinge would be (0.0,1.0,0.0), aka the positive Y axis.
UseReferenceFrameABy default, this constraint uses ProxyB's local space as the reference for certain values, such as the rotational limits. This simply controls whether or not it should use ProxyA's local space instead.

Definition at line 64 of file hingeconstraint.cpp.

Mezzanine::Physics::HingeConstraint::HingeConstraint ( RigidProxy ProxyA,
const Vector3 PivotInA,
const Vector3 AxisInA,
bool  UseReferenceFrameA = false 
)

Creates a Hinge constraint that will attach an proxy to a point in world space.

Parameters
ProxyAThe proxy to apply this constraint to.
PivotInAThe point in the objects(ProxyA) local space where the constraint is to be attached to world space.
AxisInAThe axis(for ProxyA) on which the hinge is to act. For example, a door hinge would be (0.0,1.0,0.0), aka the positive Y axis.
UseReferenceFrameABy default, this constraint uses ProxyB's local space as the reference for certain values, such as the rotational limits. This simply controls whether or not it should use ProxyA's local space instead.

Definition at line 73 of file hingeconstraint.cpp.

Mezzanine::Physics::HingeConstraint::HingeConstraint ( RigidProxy ProxyA,
RigidProxy ProxyB,
const Vector3 VectorA,
const Vector3 VectorB,
const Quaternion QuaternionA,
const Quaternion QuaternionB,
bool  UseReferenceFrameA = false 
)

Create a Hinge with components of a tranform.

Parameters
ProxyAThe first proxy to apply this constraint to.
ProxyBThe second proxy to apply this constraint to.
VectorAThe location component of Transform A
VectorBThe location component of Transform B
QuaternionAThe rotation component of Transform A
QuaternionBThe rotation component of Transform B
UseReferenceFrameABy default, this constraint uses ProxyB's local space as the reference for certain values, such as the rotational limits. This simply controls whether or not it should use ProxyAs local space instead.

Definition at line 81 of file hingeconstraint.cpp.

Mezzanine::Physics::HingeConstraint::HingeConstraint ( RigidProxy ProxyA,
RigidProxy ProxyB,
const Transform TransformA,
const Transform TransformB,
bool  UseReferenceFrameA = false 
)

Create a Hinge with components of a tranform.

Parameters
ProxyAThe first proxy to apply this constraint to.
ProxyBThe second proxy to apply this constraint to.
TransformAThe location component of Transform A
TransformBThe location component of Transform B
UseReferenceFrameABy default, this constraint uses ProxyBs local space as the reference for certain values, such as the rotational limits. This simply controls whether or not it should use ProxyAs local space instead.

Definition at line 90 of file hingeconstraint.cpp.

Member Function Documentation

void Mezzanine::Physics::HingeConstraint::EnableMotor ( bool  EnableMotor,
Real  TargetVelocity,
Real  MaxMotorImpulse 
)
virtual

Enables(or Disables) the motor on the hinge and sets it's parameters.

Parameters
EnableMotorSets whether or not the motor on this constraint is enabled.
TargetVelocityThe desired velocity of rotation the motor will have. This may or may not be achieved based on obstructions in the simulation.
MaxMotorImpulseThe maximum amount of force the motor is to apply to try and reach it's target velocity.

Definition at line 145 of file hingeconstraint.cpp.

void Mezzanine::Physics::HingeConstraint::EnableMotor ( bool  EnableMotor)
virtual

Enables(or Disables) the motor on the hinge.

Warning
Be sure to set values for the Motor max impulse and/or velocity before enabling the motor, or else you may get a crash.
Parameters
EnableMotorSets whether or not the motor on this constraint is enabled.

Definition at line 148 of file hingeconstraint.cpp.

Quaternion Mezzanine::Physics::HingeConstraint::GetAPivotRotation ( ) const
virtual

Get the relative rotation for ActorA.

Returns
A Quaternion that has the rotation

This implements a more Hinge specific version of the logic than DualTransformConstraint for efficiency reasons.

Definition at line 124 of file hingeconstraint.cpp.

Quaternion Mezzanine::Physics::HingeConstraint::GetBPivotRotation ( ) const
virtual

Get the relative rotation for ActorB.

Returns
A Quaternion that has the rotation

This implements a more Hinge specific version of the logic than DualTransformConstraint for efficiency reasons.

Definition at line 127 of file hingeconstraint.cpp.

btTypedConstraint * Mezzanine::Physics::HingeConstraint::GetConstraintBase ( ) const
virtual

Get the Bullet constraint that this class encapsulates.

Returns
A pointer to the btTypedConstraint that stores the underlying constraint.

Implements Mezzanine::Physics::Constraint.

Definition at line 58 of file hingeconstraint.cpp.

Real Mezzanine::Physics::HingeConstraint::GetHingeAngle ( )
virtual

Gets the current angle of the hinge.

Returns
Gets the amount of rotation this hinge is off from it's origin in radians.

Definition at line 202 of file hingeconstraint.cpp.

Real Mezzanine::Physics::HingeConstraint::GetLimitBiasFactor ( ) const
virtual

Return the bias factor of the hinge (Not entirely certain hat this on is)

Returns
A real containing the bias Factor

Definition at line 187 of file hingeconstraint.cpp.

Real Mezzanine::Physics::HingeConstraint::GetLimitHigh ( ) const
virtual

Return the Upper Limit of the hinge.

Returns
A real containing the Higher Limit

Definition at line 181 of file hingeconstraint.cpp.

Real Mezzanine::Physics::HingeConstraint::GetLimitLow ( ) const
virtual

Return the Lower Limit of the hinge.

Returns
A real containing the Lower Limit

Definition at line 178 of file hingeconstraint.cpp.

Real Mezzanine::Physics::HingeConstraint::GetLimitRelaxationFactor ( ) const
virtual

Return the Relaxation Factor of the hinge.

Returns
A real containing the Relaxation Factor

Definition at line 190 of file hingeconstraint.cpp.

Real Mezzanine::Physics::HingeConstraint::GetLimitSoftness ( ) const
virtual

Return the Softness of the hinge.

Returns
A real containing the Softness

Definition at line 184 of file hingeconstraint.cpp.

Real Mezzanine::Physics::HingeConstraint::GetMaxMotorImpulse ( ) const
virtual

Retrieve the maximimum value that the acceleration of the motor can be increased.

Returns
A real containing the maximum impulse.

Definition at line 157 of file hingeconstraint.cpp.

bool Mezzanine::Physics::HingeConstraint::GetMotorEnabled ( ) const
virtual

Is this motor on this hinge enabled?

Returns
True if it is, false otherwise.

Definition at line 151 of file hingeconstraint.cpp.

Real Mezzanine::Physics::HingeConstraint::GetMotorTargetVelocity ( ) const
virtual

Get the Target Velocity.

Returns
the target valocity as a real.

Definition at line 169 of file hingeconstraint.cpp.

Vector3 Mezzanine::Physics::HingeConstraint::GetPivotALocation ( ) const
virtual

Get the location of the hinge pivot relative to ActorA's Center of gravity.

Returns
A Vector3 with the pivot location.

This implements a more Hinge specific version of the logic than DualTransformConstraint for efficiency reasons.

Reimplemented from Mezzanine::Physics::DualTransformConstraint.

Definition at line 112 of file hingeconstraint.cpp.

Transform Mezzanine::Physics::HingeConstraint::GetPivotATransform ( ) const
virtual

Implements Mezzanine::Physics::DualTransformConstraint.

Definition at line 136 of file hingeconstraint.cpp.

Vector3 Mezzanine::Physics::HingeConstraint::GetPivotBLocation ( ) const
virtual

Get the location of the hinge pivot relative to ActorB's Center of gravity.

Returns
A Vector3 with the pivot location.

This implements a more Hinge specific version of the logic than DualTransformConstraint for efficiency reasons.

Reimplemented from Mezzanine::Physics::DualTransformConstraint.

Definition at line 115 of file hingeconstraint.cpp.

Transform Mezzanine::Physics::HingeConstraint::GetPivotBTransform ( ) const
virtual

Implements Mezzanine::Physics::DualTransformConstraint.

Definition at line 139 of file hingeconstraint.cpp.

bool Mezzanine::Physics::HingeConstraint::GetUseFrameOffset ( ) const
virtual

Retrieve the stored value from the physics subsystem(bullet)

Returns
a True or false.

Definition at line 249 of file hingeconstraint.cpp.

bool Mezzanine::Physics::HingeConstraint::GetUseReferenceFrameA ( ) const
virtual

Is this Using Reference Frame A.

Returns
A the value UseReferenceFrameA is set to internally.

Definition at line 243 of file hingeconstraint.cpp.

bool Mezzanine::Physics::HingeConstraint::HasParamBeenSet ( ConstraintParam  Param,
int  Axis 
) const
virtual

Implements Mezzanine::Physics::Constraint.

Definition at line 233 of file hingeconstraint.cpp.

void Mezzanine::Physics::HingeConstraint::ProtoDeSerialize ( const XML::Node OneNode)
virtual

Take the data stored in an XML and overwrite this instance of this object with it.

Parameters
OneNodeand XML::Node containing the data.
Warning
A precondition of using this is that all of the actors intended for use must already be Deserialized.

Reimplemented from Mezzanine::Physics::DualTransformConstraint.

Definition at line 315 of file hingeconstraint.cpp.

void Mezzanine::Physics::HingeConstraint::ProtoSerialize ( XML::Node CurrentRoot) const
virtual

Convert this class to an XML::Node ready for serialization.

Parameters
CurrentRootThe point in the XML hierarchy that all this vectorw should be appended to.

Reimplemented from Mezzanine::Physics::DualTransformConstraint.

Definition at line 258 of file hingeconstraint.cpp.

String Mezzanine::Physics::HingeConstraint::SerializableName ( )
static

Get the name of the the XML tag this class will leave behind as its instances are serialized.

Returns
A string containing "HingeConstraint"

Definition at line 356 of file hingeconstraint.cpp.

void Mezzanine::Physics::HingeConstraint::SetAPivotRotation ( const Quaternion Rotation)
virtual

Set The relative rotation of ActorA.

Parameters
RotationThe new rotation amount for A

Ultimately this information winds up being stored in the TransformA. This implements a more Hinge specific version of the logic than DualTransformConstraint for efficiency reasons.

Definition at line 118 of file hingeconstraint.cpp.

void Mezzanine::Physics::HingeConstraint::SetAxis ( const Vector3 AxisInA)
virtual

Sets the axis on which this constraint acts.

Parameters
AxisInAA vector3 representing the axis to be used with this constraint.

Definition at line 196 of file hingeconstraint.cpp.

void Mezzanine::Physics::HingeConstraint::SetBPivotRotation ( const Quaternion Rotation)
virtual

Set The relative rotation of ActorB.

Parameters
otationThe new rotation amount for B

Ultimately this information winds up being stored in the TransformB. This implements a more Hinge specific version of the logic than DualTransformConstraint for efficiency reasons.

Definition at line 121 of file hingeconstraint.cpp.

void Mezzanine::Physics::HingeConstraint::SetLimit ( Real  Low,
Real  High,
Real  Softness = 0.9,
Real  BiasFactor = 0.3,
Real  RelaxationFactor = 1.0 
)
virtual

Sets the angle limits of the constraint in radians.

Parameters
LowThe minimum angle limit for the constraint in radians.
HighThe maximum angle limit for the constraint in radians.
SoftnessNot currently used internally.
BiasFactorMultiplier for the constraint error, constraint appears more "soft" when closer to zero.
RelaxationFactorThe amount of bounce to apply when the constraint reaches it's limit. Range: 0.0-1.0.

Definition at line 175 of file hingeconstraint.cpp.

void Mezzanine::Physics::HingeConstraint::SetMaxMotorImpulse ( Real  MaxMotorImpulse)
virtual

Sets the maximum amount of force the motor is to apply.

Parameters
MaxMotorImpulseThe maximum amount of force the motor is to apply to try and reach it's target velocity.

Definition at line 154 of file hingeconstraint.cpp.

void Mezzanine::Physics::HingeConstraint::SetMotorTarget ( const Quaternion QuatAInB,
Real  Dt 
)
virtual

Sets a Target Velocity, indirectly using the angle stored in a quaternion.

Is implemented in terms of SetMotorTarget(Real, Real);

Parameters
QuatAInBThe angle a quaternion relative to the two objects in the constraint.
DtThe Desired Time steps that the target rotational velocity should be reached in.

Definition at line 160 of file hingeconstraint.cpp.

void Mezzanine::Physics::HingeConstraint::SetMotorTarget ( Real  TargetAngle,
Real  Dt 
)
virtual

Set the Rotational velocity in a more direct fashion.

Parameters
TargetAngleThe desired angle in radians.
DtThe Desired Time steps that the target rotational velocity should be reached in.

Definition at line 163 of file hingeconstraint.cpp.

void Mezzanine::Physics::HingeConstraint::SetMotorTargetVelocity ( Real  TargetVelocity)
virtual

Desired angular velocity of the motor.

Parameters
TargetVelocityThe Desired velocity
Warning
Causes segfaults in some tests.

Definition at line 166 of file hingeconstraint.cpp.

void Mezzanine::Physics::HingeConstraint::SetPivotALocation ( const Vector3 Location)
virtual

Set The relative location of the hinge pivot from ActorA's Center of gravity.

Parameters
LocationThe New value for PivotA

Ultimately this information winds up being stored in the TransformA. This implements a more Hinge specific version of the logic than DualTransformConstraint for efficiency reasons.

Reimplemented from Mezzanine::Physics::DualTransformConstraint.

Definition at line 106 of file hingeconstraint.cpp.

void Mezzanine::Physics::HingeConstraint::SetPivotATransform ( const Transform TranA)
virtual

Implements Mezzanine::Physics::DualTransformConstraint.

Definition at line 130 of file hingeconstraint.cpp.

void Mezzanine::Physics::HingeConstraint::SetPivotBLocation ( const Vector3 Location)
virtual

Set The relative location of the hinge pivot from ActorB's Center of gravity.

Parameters
LocationThe New value for PivotB

Ultimately this information winds up being stored in the TransformB. This implements a more Hinge specific version of the logic than DualTransformConstraint for efficiency reasons.

Reimplemented from Mezzanine::Physics::DualTransformConstraint.

Definition at line 109 of file hingeconstraint.cpp.

void Mezzanine::Physics::HingeConstraint::SetPivotBTransform ( const Transform TranB)
virtual

Implements Mezzanine::Physics::DualTransformConstraint.

Definition at line 133 of file hingeconstraint.cpp.

void Mezzanine::Physics::HingeConstraint::SetUseFrameOffset ( bool  FrameOffset)
virtual

Set the stored value for UseFrameOffset on this hinge in the physics subsystem(bullet)

Parameters
FrameOffsetThe new desired value.

Definition at line 252 of file hingeconstraint.cpp.

void Mezzanine::Physics::HingeConstraint::SetUseReferenceFrameA ( bool  UseReferenceFrameA = false)
virtual

Change whether this is Using Reference Frame A or not.

Parameters
UseReferenceFrameAWhether certain math be performed from the perspective of Actor A or Actor B (we think this is the case, but we have not test thoroughly)

Definition at line 246 of file hingeconstraint.cpp.

Constraint::AxisList Mezzanine::Physics::HingeConstraint::ValidAngularAxis ( ) const
virtual

Get A list sorted (low to high) of all axis that operate Angularly (that lock sliding/translation)

Warning
Odd behaviors, maybe even undefined behavior can happen if This returns a matching Axis to a Linear Axis. Any given axis should only be one or the other
Returns
An Axislist with the Axis this constraint Angularly supports.

Implements Mezzanine::Physics::Constraint.

Definition at line 226 of file hingeconstraint.cpp.

Constraint::AxisList Mezzanine::Physics::HingeConstraint::ValidLinearAxis ( ) const
virtual

Get a sorted (low to high) list of all axis that operate linearly (that lock sliding/translation)

Warning
Odd behaviors, maybe even undefined behavior can happen if This returns a matching Axis to a Linear Axis. Any given axis should only be one or the other
Returns
An Axislist with the Axis this constraint linearly supports.

Implements Mezzanine::Physics::Constraint.

Definition at line 219 of file hingeconstraint.cpp.

Constraint::ParamList Mezzanine::Physics::HingeConstraint::ValidParamOnAxis ( int  Axis) const
virtual

Get a sorted (low to high) list of Parameters that are valid on this Axis.

Parameters returned from this will work on the given axis even if they are not valid on any other axis. There is no guarantee that the Parameters will be uniquely stored per an axis. There is no guarantee that changing one parameter will not change another.

Parameters
Axisthe Axis to check.
Returns
A Paramlist with all the valid parameters for this axis.

Implements Mezzanine::Physics::Constraint.

Definition at line 207 of file hingeconstraint.cpp.


The documentation for this class was generated from the following files: