Spinning Topp Logo BlackTopp Studios
inc
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Mezzanine::Physics::Generic6DofConstraint Class Reference

Create simple but specific limits on any axis of movement or rotation. More...

#include <generic6dofconstraint.h>

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

Public Types

enum  UsableAxis {
  LinearStart = 0, LinearX = 0, LinearY = 1, LinearZ = 2,
  LinearEnd = 3, AngularStart = 3, AngularX = 3, AngularY = 4,
  AngularZ = 5, AngularEnd = 6, AngularXAsRotationAxis = 0, AngularYAsRotationAxis = 1,
  AngularZAsRotationAxis = 2
}
 Identify the Axis a bit easier when iterating over them is less convienent than typing an Identifier. More...
 
- 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< ConstraintParamParamList
 Used to Store lists of param for return types.
 

Public Member Functions

 Generic6DofConstraint (const UInt32 ID, RigidProxy *ProxyA, RigidProxy *ProxyB, const Transform &TransA, const Transform &TransB, PhysicsManager *Creator)
 Dual body constructor. More...
 
 Generic6DofConstraint (const UInt32 ID, RigidProxy *ProxyB, const Transform &TransB, PhysicsManager *Creator)
 Single body constructor. More...
 
 Generic6DofConstraint (const XML::Node &SelfRoot, PhysicsManager *Creator)
 XML constructor. More...
 
virtual ~Generic6DofConstraint ()
 Class destructor.
 
virtual btTypedConstraint * _GetConstraintBase () const
 Get the Bullet constraint that this class encapsulates. More...
 
virtual Whole ConvertAngularTo6Axis (const Whole Axis) const
 Convert an angular Axis from a 3 digit range to a full 6 digit range. More...
 
virtual Whole ConvertFrom6AxisTo3Axis (const Whole Axis) const
 Convert an Axis from a full 6 digit range to a 3 digit range. More...
 
virtual Vector3 GetAngularLimitLower () const
 Get the Upper limits on rotation. More...
 
Real GetAngularLimitLowerOnAxis (Whole RotationAxis) const
 Get a specific lower rotation limit. More...
 
virtual Vector3 GetAngularLimitMaxForce () const
 Get the Maximimum amount of force applied to ensure limits are not surpassed. More...
 
virtual Real GetAngularLimitMaxForceOnAxis (Whole Axis) const
 Get the Maximimum amount of force applied to ensure a limit one axis is not surpassed. More...
 
virtual Vector3 GetAngularLimitUpper () const
 Get the Power limits on rotation. More...
 
Real GetAngularLimitUpperOnAxis (Whole RotationAxis) const
 Get a specific upper rotation limit. More...
 
virtual Vector3 GetAngularMotorDamping () const
 Get the Damping for all Angular Axis. More...
 
virtual Real GetAngularMotorDampingOnAxis (Whole Axis) const
 Get the Damping for one given Axis. More...
 
virtual Vector3 GetAngularMotorEnabled () const
 Get a Vector3 with 3 zero or nonzero values that store whether or not a given rotational motor is enable. More...
 
virtual Boole GetAngularMotorEnabledOnAxis (Whole Axis) const
 Is a specific rotational motor enabled. More...
 
virtual Vector3 GetAngularMotorMaxForce () const
 Get the Max Motor Force for each Axis. More...
 
virtual Real GetAngularMotorMaxForceOnAxis (Whole Axis) const
 Get the Max motor Force on a certain Axis. More...
 
virtual Vector3 GetAngularMotorRestitution () const
 Get the Restitution values for all three axis. More...
 
virtual Real GetAngularMotorRestitutionOnAxis (Whole Axis) const
 Get the Restitution/Bounciness for a single Axis. More...
 
virtual Vector3 GetAngularMotorTargetVelocity () const
 Get the target velocity for all angular Axis. More...
 
virtual Real GetAngularMotorTargetVelocityOnAxis (Whole Axis) const
 Get the Target Velocity for one axis. More...
 
virtual String GetDerivedSerializableName () const
 Gets the most derived serializable name of this Constraint. More...
 
virtual Real GetLinearLimitDamping () const
 Get the Damping of the linear Limits. More...
 
virtual Vector3 GetLinearLimitLower () const
 Get the Upper limits on translation. More...
 
Real GetLinearLimitLowerOnAxis (Whole TranslationAxis) const
 Get a specific lower translation limit. More...
 
virtual Real GetLinearLimitRestitution () const
 Get the Restitution of the linear Limits. More...
 
virtual Real GetLinearLimitSoftness () const
 Get the Softness of the linear Limits. More...
 
virtual Vector3 GetLinearLimitUpper () const
 Get the lower limits on translation. More...
 
Real GetLinearLimitUpperOnAxis (Whole TranslationAxis) const
 Get a specific upper translation limit. More...
 
virtual Vector3 GetLinearMotorEnabled () const
 Get a Vector3 with 3 zero or nonzero values that store whether or not a given rotational motor is enable. More...
 
virtual Boole GetLinearMotorEnabledOnAxis (Whole Axis) const
 Is a specific Linear motor enabled. More...
 
virtual Vector3 GetLinearMotorMaxForce () const
 Get the Max Motor Force for each Axis. More...
 
virtual Real GetLinearMotorMaxForceOnAxis (Whole Axis) const
 Get the Max motor Force on a certain Axis. More...
 
virtual Vector3 GetLinearMotorTargetVelocity () const
 Get the target velocity for all Linear Axis. More...
 
virtual Real GetLinearMotorTargetVelocityOnAxis (Whole Axis) const
 Get the Target Velocity for one axis. More...
 
virtual Vector3 GetPivotALocation () const
 Gets the location of the pivot relative to ProxA's Center of gravity. More...
 
virtual Quaternion GetPivotARotation () const
 Gets the relative rotation for ProxA. More...
 
virtual Transform GetPivotATransform () const
 Gets the current Rotation and Location of ProxyA. More...
 
virtual Vector3 GetPivotBLocation () const
 Gets the location of the pivot relative to ProxB's Center of gravity. More...
 
virtual Quaternion GetPivotBRotation () const
 Gets the relative rotation for ProxB. More...
 
virtual Transform GetPivotBTransform () const
 Gets the current Rotation and Location of ProxyB. More...
 
virtual Boole GetUseFrameOffset () const
 Gets whether or not an offset of the constraint frame should be used to calculate internal data. More...
 
Boole GetUseLinearReferenceFrameA () const
 Gets whether or not to perform linear math from ProxyA's perspective. More...
 
virtual Constraint::AxisList GetValidAngularAxes () const
 Get A list sorted (low to high) of all axis that operate Angularly (that lock sliding/translation) More...
 
virtual Constraint::AxisList GetValidLinearAxes () const
 Get a sorted (low to high) list of all axis that operate linearly (that lock sliding/translation) More...
 
virtual Constraint::ParamList GetValidParamsOnAxis (int Axis) const
 Get a sorted (low to high) list of Parameters that are valid on this Axis. More...
 
virtual Boole HasParamBeenSet (ConstraintParam Param, int Axis) const
 
virtual void ProtoDeSerializeProperties (const XML::Node &SelfRoot)
 Take the data stored in an XML Node and overwrite the properties of this object with it. More...
 
virtual void ProtoSerializeProperties (XML::Node &SelfRoot) const
 Convert the properties of this class to an XML::Node ready for serialization. More...
 
virtual void SetAngularLimitLower (const Vector3 &Limit)
 Set the Lower limits on rotation. More...
 
void SetAngularLimitLowerOnAxis (const Real Limit, Whole RotationAxis)
 Sets the lower rotation limit on a specific axis of the constraint. More...
 
virtual void SetAngularLimitMaxForce (const Vector3 &MaxLimitForces)
 Set the Maximimum amount of force applied to ensure limits are not surpassed. More...
 
virtual void SetAngularLimitMaxForceOnAxis (const Real MaxLimitForce, Whole Axis)
 Set the Maximimum amount of force applied to ensure a limit on one axis is not surpassed. More...
 
virtual void SetAngularLimitUpper (const Vector3 &Limit)
 Set the Upper limits on rotation. More...
 
void SetAngularLimitUpperOnAxis (const Real Limit, Whole RotationAxis)
 Sets the upper rotation limit on a specific axis of the constraint. More...
 
virtual void SetAngularMotorDamping (const Vector3 &Dampings)
 Set the Angular Motor Damping for each Angular Axis. More...
 
virtual void SetAngularMotorDampingOnAxis (const Real Damping, Whole Axis)
 For one Axis, set the Damping. More...
 
virtual void SetAngularMotorEnabled (const Vector3 &Enableds)
 Set whether or not the motor is enabled for all Axis Simultaneously. More...
 
virtual void SetAngularMotorEnabledOnAxis (const Boole Enabled, Whole Axis)
 For one Axis, set whether or not the motor is enabled. More...
 
virtual void SetAngularMotorMaxForce (const Vector3 &Forces)
 Set the Angular Motor Maximum force on all 3 rotational axis. More...
 
virtual void SetAngularMotorMaxForceOnAxis (const Real Force, Whole Axis)
 For one Axis, set the Maximimum Motor Force. More...
 
virtual void SetAngularMotorRestitution (const Vector3 &Restitutions)
 Set the Bounciness/Restition for rotation on all three Axis. More...
 
virtual void SetAngularMotorRestitutionOnAxis (const Real Restitution, Whole Axis)
 For one Axis, set the Restitution/Bounciness/. More...
 
virtual void SetAngularMotorTargetVelocity (const Vector3 &Velocities)
 Set the Target velocity of the motor on each anuglar axis. More...
 
virtual void SetAngularMotorTargetVelocityOnAxis (const Real Velocity, Whole Axis)
 For one Axis, set the target velocity of the angular motor. More...
 
virtual void SetLimit (Whole Axis, Real Lower, Real Upper)
 Change the upper and lower limit for one axis of translation or rotation limit. More...
 
virtual void SetLinearLimitDamping (const Real Damping)
 Set the Damping of the linear Limits. More...
 
virtual void SetLinearLimitLower (const Vector3 &Limit)
 Set the Upper limits on translation. More...
 
void SetLinearLimitLowerOnAxis (const Real Limit, Whole TranslationAxis)
 Sets the lower linear limit on a specific axis of the constraint. More...
 
virtual void SetLinearLimitRestitution (const Real Restitution)
 Set the Restitution of the linear Limits. More...
 
virtual void SetLinearLimitSoftness (const Real Softness)
 Set the Softness of the linear Limits. More...
 
virtual void SetLinearLimitUpper (const Vector3 &Limit)
 Set the lower limits on translation. More...
 
void SetLinearLimitUpperOnAxis (const Real Limit, Whole TranslationAxis)
 Sets the upper linear limit on a specific axis of the constraint. More...
 
virtual void SetLinearMotorEnabled (const Vector3 &Enableds)
 Set whether or not the motor is enabled for all Linear Axis Simultaneously. More...
 
virtual void SetLinearMotorEnabledOnAxis (const Boole Enabled, Whole Axis)
 For one Axis, set whether or not the motor is enabled. More...
 
virtual void SetLinearMotorMaxForce (const Vector3 &Forces)
 Set the Linear Motor Maximum force on all 3 translation axis. More...
 
virtual void SetLinearMotorMaxForceOnAxis (const Real Force, Whole Axis)
 For one Axis, set the Maximimum Motor Force. More...
 
virtual void SetLinearMotorTargetVelocity (const Vector3 &Velocities)
 Set the Target velocity of the motor on each anuglar axis. More...
 
virtual void SetLinearMotorTargetVelocityOnAxis (const Real Velocity, Whole Axis)
 For one Axis, set the target velocity of the Linear motor. More...
 
virtual void SetPivotALocation (const Vector3 &Location)
 Sets The relative location of the pivot from ProxA's Center of gravity. More...
 
virtual void SetPivotARotation (const Quaternion &Rotation)
 Sets The relative rotation of ProxA. More...
 
virtual void SetPivotATransform (const Transform &TransA)
 Sets the Position and Rotation for the first body using a Transform. More...
 
virtual void SetPivotBLocation (const Vector3 &Location)
 Sets The relative location of the pivot from ProxB's Center of gravity. More...
 
virtual void SetPivotBRotation (const Quaternion &Rotation)
 Sets The relative rotation of ProxB. More...
 
virtual void SetPivotBTransform (const Transform &TransB)
 Sets the Position and Rotation for the second body using a Transform. More...
 
virtual void SetPivotTransforms (const Transform &TransA, const Transform &TransB)
 Sets the Position and Rotation for the first and second body using a Transform. More...
 
virtual void SetUseFrameOffset (const Boole FrameOffset)
 Sets whether or not an offset of the constraint frame should be used to calculate internal data. More...
 
void SetUseLinearReferenceFrameA (const Boole UseRefFrameA)
 Sets whether or not to perform linear math from ProxyA's perspective. More...
 
- Public Member Functions inherited from Mezzanine::Physics::DualTransformConstraint
virtual ~DualTransformConstraint ()
 Class destructor.
 
virtual void ProtoDeSerializeInitData (const XML::Node &SelfRoot)
 Take the data stored in an XML Node and initializes a new internal object with it. More...
 
virtual void ProtoSerializeInitData (XML::Node &SelfRoot) const
 Convert the data needed to initialize this class to an XML::Node ready for serialization. More...
 
- Public Member Functions inherited from Mezzanine::Physics::Constraint
virtual ~Constraint ()
 Class destructor.
 
virtual void EnableConstraint (const Boole Enable)
 Enables or disables this constraint. More...
 
virtual Boole GetAllowCollisions () const
 Gets whether or not collisions can/will occur between the two constrained bodies. More...
 
virtual UInt32 GetConstraintID () const
 Gets the unique ID of this constraint. 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 AxisList GetValidAxes () const
 Get a sorted (low to high) list of All Valid Axis. More...
 
virtual ParamList GetValidParams () const
 Get A sorted (low to high) list of Parameters that are valid on all Axis. More...
 
virtual Boole IsConstraintEnabled () const
 Gets whether or not this constraint is enabled. More...
 
virtual Boole IsParamValidOnAxis (ConstraintParam Param, int Axis) const
 Is a certain Parameter valid on a certain axis. More...
 
virtual void ProtoDeSerialize (const XML::Node &SelfRoot)
 Take the data stored in an XML Node and overwrite this object with it. More...
 
virtual void ProtoDeSerializeGlobalOverrides (const XML::Node &SelfRoot)
 Take the data stored in an XML Node and overwrite the global overrides of this object with it. More...
 
virtual void ProtoSerialize (XML::Node &ParentNode) const
 Convert this class to an XML::Node ready for serialization. More...
 
virtual void ProtoSerializeGlobalOverrides (XML::Node &SelfRoot) const
 Convert the global overrides of this class to an XML::Node ready for serialization. More...
 
virtual void SetAllowCollisions (const Boole Allow)
 Sets whether collisions between the two constrained bodies should occur. More...
 
virtual void SetParam (ConstraintParam Param, Real Value, int Axis=-1)
 Provides override of constraint parameters. More...
 

Static Public Member Functions

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

Protected Member Functions

 Generic6DofConstraint (const UInt32 ID, RigidProxy *Prox1, PhysicsManager *Creator)
 Single body inheritance constructor. More...
 
 Generic6DofConstraint (const UInt32 ID, RigidProxy *Prox1, RigidProxy *Prox2, PhysicsManager *Creator)
 Dual body inheritance constructor. More...
 
virtual void CreateConstraint (RigidProxy *RigidA, RigidProxy *RigidB, const Transform &TransA, const Transform &TransB)
 Creates the internal constraint. More...
 
virtual void DestroyConstraint ()
 Destroys the internal constraint. More...
 
- Protected Member Functions inherited from Mezzanine::Physics::DualTransformConstraint
 DualTransformConstraint (const UInt32 ID, RigidProxy *Prox1, PhysicsManager *Creator)
 Single body inheritance constructor. More...
 
 DualTransformConstraint (const UInt32 ID, RigidProxy *Prox1, RigidProxy *Prox2, PhysicsManager *Creator)
 Dual body inheritance constructor. More...
 
- Protected Member Functions inherited from Mezzanine::Physics::Constraint
 Constraint (const UInt32 ID, PhysicsManager *Creator)
 Zero body constructor. More...
 
 Constraint (const UInt32 ID, RigidProxy *Prox1, PhysicsManager *Creator)
 Single body constructor. More...
 
 Constraint (const UInt32 ID, RigidProxy *Prox1, RigidProxy *Prox2, PhysicsManager *Creator)
 Dual body constructor. More...
 

Protected Attributes

btGeneric6DofConstraint * Generic6dof
 The internal constraint that this class encapsulates. More...
 
- Protected Attributes inherited from Mezzanine::Physics::Constraint
Boole AllowCollisions
 Whether or not collisions will be allowed to occure between the constrained bodies. More...
 
UInt32 ConstraintID
 The unique ID used to identify this constraint. More...
 
Boole Enabled
 Whether or not the constraint is currently taking effect. More...
 
PhysicsManagerManager
 This is a pointer to the physics manager that created and owns this constraint. More...
 
RigidProxyProxA
 The first Collidable this constraint applies to. More...
 
RigidProxyProxB
 The second Collidable this constraint applies to. More...
 

Detailed Description

Create simple but specific limits on any axis of movement or rotation.

Provides optional limits on the x, y, and z for rotation and translation. You can get the ID of the axis with GetValidLinearAxes() or GetValidAngularAxes() for this particular constraint at the time of this writing the constraint axis looked liked this:

This has to perform a larger amount of calculations and should be used only when other simpler constraints have been ruled out.

As with all limits when the upper and lower limits match the two actors will be locked on that axis and relative translation or rotation will not be permitted (within the bounds or error correction). If the Lower limit is lower than the Upper limit a range of translation or rotation will be allowed. If the Lower limit is higher than the Upper limit this will cause the system to realized that no position can satisfy the constraint and no restriction will be enforced.

Each of the Axis also has a motor that can be enabled to cause a specified amount of translation or rotation. To aid in selection of specific Axis, you should use the UsableAxis enum

Definition at line 79 of file generic6dofconstraint.h.

Member Enumeration Documentation

Identify the Axis a bit easier when iterating over them is less convienent than typing an Identifier.

Enumerator
LinearStart 

Convenience type for loops.

LinearX 

Translation on the X axis.

LinearY 

Translation on the Y axis.

LinearZ 

Translation on the Z axis.

LinearEnd 

Convenience type for loops.

AngularStart 

Convenience type for loops.

AngularX 

Rotation on the X axis.

AngularY 

Rotation on the Y axis.

AngularZ 

Rotation on the Z axis.

AngularEnd 

Convenience type for loops.

AngularXAsRotationAxis 

Rotation on the X axis, when working with only rotational Axis.

AngularYAsRotationAxis 

Rotation on the Y axis, when working with only rotational Axis.

AngularZAsRotationAxis 

Rotation on the Z axis, when working with only rotational Axis.

Definition at line 83 of file generic6dofconstraint.h.

Constructor & Destructor Documentation

Mezzanine::Physics::Generic6DofConstraint::Generic6DofConstraint ( const UInt32  ID,
RigidProxy Prox1,
PhysicsManager Creator 
)
protected

Single body inheritance constructor.

Parameters
IDThe unique identifier assigned to this constraint.
Prox1A pointer to the first/only proxy that will be constrained.
CreatorA pointer to the manager that created this constraint.
Todo:
Assess whether or not the array access methods here should be wrapped in bounds checks, as Bullet only does bounds checks for half of them, if that.

Definition at line 60 of file generic6dofconstraint.cpp.

Mezzanine::Physics::Generic6DofConstraint::Generic6DofConstraint ( const UInt32  ID,
RigidProxy Prox1,
RigidProxy Prox2,
PhysicsManager Creator 
)
protected

Dual body inheritance constructor.

Parameters
IDThe unique identifier assigned to this constraint.
Prox1A pointer to the first proxy that will be constrained.
Prox2A pointer to the second proxy that will be constrained.
CreatorA pointer to the manager that created this constraint.

Definition at line 64 of file generic6dofconstraint.cpp.

Mezzanine::Physics::Generic6DofConstraint::Generic6DofConstraint ( const UInt32  ID,
RigidProxy ProxyA,
RigidProxy ProxyB,
const Transform TransA,
const Transform TransB,
PhysicsManager Creator 
)

Dual body constructor.

Parameters
IDThe unique identifier assigned to this constraint.
ProxyAThe First proxy to be bound.
ProxyBThe Second proxy to be bound.
TransAThe offset and rotation from ProxyAs center of gravity to get to match an offset from ProxyB.
TransBThe offset and rotation from ProxyBs center of gravity.
CreatorA pointer to the manager that created this constraint.

Definition at line 71 of file generic6dofconstraint.cpp.

Mezzanine::Physics::Generic6DofConstraint::Generic6DofConstraint ( const UInt32  ID,
RigidProxy ProxyB,
const Transform TransB,
PhysicsManager Creator 
)

Single body constructor.

Parameters
IDThe unique identifier assigned to this constraint.
ProxyBThe proxy to be bound to the world.
TransBThe offset and rotation for the ProxyB pivot/hinge/joint.
CreatorA pointer to the manager that created this constraint.

Definition at line 76 of file generic6dofconstraint.cpp.

Mezzanine::Physics::Generic6DofConstraint::Generic6DofConstraint ( const XML::Node SelfRoot,
PhysicsManager Creator 
)

XML constructor.

Parameters
SelfRootAn XML::Node containing the data to populate this class with.
CreatorA pointer to the manager that created this constraint.

Definition at line 81 of file generic6dofconstraint.cpp.

Member Function Documentation

btTypedConstraint * Mezzanine::Physics::Generic6DofConstraint::_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 596 of file generic6dofconstraint.cpp.

Whole Mezzanine::Physics::Generic6DofConstraint::ConvertAngularTo6Axis ( const Whole  Axis) const
virtual

Convert an angular Axis from a 3 digit range to a full 6 digit range.

Remarks
This method assumes the Axis being passed in represents an Angular axis, and if it's value is less than three, three will be added to it. If this is used with a linear Axis, you'll likely have a bad time.
Parameters
Axisthe Axis ID to be converted.
Returns
Returns a number in the range of 0-5.

Definition at line 171 of file generic6dofconstraint.cpp.

Whole Mezzanine::Physics::Generic6DofConstraint::ConvertFrom6AxisTo3Axis ( const Whole  Axis) const
virtual

Convert an Axis from a full 6 digit range to a 3 digit range.

Remarks
Due to the way this is stored internally, All the axis are listed from from 0 to 2. So rather than throw an exception(or have undefined behavior) if the Axis selected one of those, this select the axis like this:
  • 0, 3: Rotation X
  • 1, 4: Rotation Y
  • 2, 5: Rotation Z
Parameters
Axisthe Axis ID to be converted.
Returns
A number in the range of 0-2. Useful for error checking or converting an Axis value from all axes to Linear or Angular only axis range.

Definition at line 168 of file generic6dofconstraint.cpp.

void Mezzanine::Physics::Generic6DofConstraint::CreateConstraint ( RigidProxy RigidA,
RigidProxy RigidB,
const Transform TransA,
const Transform TransB 
)
protectedvirtual

Creates the internal constraint.

Remarks
This methods exists primarily as a convenience for serialization, and shouldn't be called unless it is known to be safe.
Parameters
RigidAA pointer to the first Proxy to be constrained.
RigidBA pointer to the second Proxy to be constrained.
TransAThe offset to place the constraint in the first proxys local space.
TransBThe offset to place the constraint in the second proxys local space.

Implements Mezzanine::Physics::DualTransformConstraint.

Reimplemented in Mezzanine::Physics::UniversalConstraint, Mezzanine::Physics::Generic6DofSpringConstraint, and Mezzanine::Physics::Hinge2Constraint.

Definition at line 89 of file generic6dofconstraint.cpp.

void Mezzanine::Physics::Generic6DofConstraint::DestroyConstraint ( )
protectedvirtual

Destroys the internal constraint.

Remarks
This methods exists primarily as a convenience for serialization, and shouldn't be called unless it is known to be safe.

Implements Mezzanine::Physics::DualTransformConstraint.

Definition at line 100 of file generic6dofconstraint.cpp.

Vector3 Mezzanine::Physics::Generic6DofConstraint::GetAngularLimitLower ( ) const
virtual

Get the Upper limits on rotation.

Returns
Limit A Vector3 that stores the upper limit x, y and z rotation in radians

Definition at line 213 of file generic6dofconstraint.cpp.

Real Mezzanine::Physics::Generic6DofConstraint::GetAngularLimitLowerOnAxis ( Whole  RotationAxis) const

Get a specific lower rotation limit.

Parameters
RotationAxisThe Axis to work with.
Returns
A real containing the specified lower limit.

Definition at line 219 of file generic6dofconstraint.cpp.

Vector3 Mezzanine::Physics::Generic6DofConstraint::GetAngularLimitMaxForce ( ) const
virtual

Get the Maximimum amount of force applied to ensure limits are not surpassed.

Returns
A Vector3 with the forces on the X, Y and Z angular Axis.

Definition at line 234 of file generic6dofconstraint.cpp.

Real Mezzanine::Physics::Generic6DofConstraint::GetAngularLimitMaxForceOnAxis ( Whole  Axis) const
virtual

Get the Maximimum amount of force applied to ensure a limit one axis is not surpassed.

Parameters
AxisThe Angular Axis to get, as per AxisToAngularAxis(Whole).
Returns
A Real with the force for the Given Axis.

Definition at line 240 of file generic6dofconstraint.cpp.

Vector3 Mezzanine::Physics::Generic6DofConstraint::GetAngularLimitUpper ( ) const
virtual

Get the Power limits on rotation.

Returns
Limit A Vector3 that stores the lower limit x, y and z rotation in radians

Definition at line 207 of file generic6dofconstraint.cpp.

Real Mezzanine::Physics::Generic6DofConstraint::GetAngularLimitUpperOnAxis ( Whole  RotationAxis) const

Get a specific upper rotation limit.

Parameters
RotationAxisThe Axis to work with.
Returns
A real containing the specified upper limit.

Definition at line 225 of file generic6dofconstraint.cpp.

Vector3 Mezzanine::Physics::Generic6DofConstraint::GetAngularMotorDamping ( ) const
virtual

Get the Damping for all Angular Axis.

Returns
A Vector3 with the forces on the X, Y and Z angular Axis.

Definition at line 270 of file generic6dofconstraint.cpp.

Real Mezzanine::Physics::Generic6DofConstraint::GetAngularMotorDampingOnAxis ( Whole  Axis) const
virtual

Get the Damping for one given Axis.

Parameters
AxisThe Angular Axis to get, as per AxisToAngularAxis(Whole).
Returns
A Real with the XXX for the Given Axis.

Definition at line 276 of file generic6dofconstraint.cpp.

Vector3 Mezzanine::Physics::Generic6DofConstraint::GetAngularMotorEnabled ( ) const
virtual

Get a Vector3 with 3 zero or nonzero values that store whether or not a given rotational motor is enable.

Returns
A Vector3 with the forces on the X, Y and Z angular Axis.

Definition at line 294 of file generic6dofconstraint.cpp.

Boole Mezzanine::Physics::Generic6DofConstraint::GetAngularMotorEnabledOnAxis ( Whole  Axis) const
virtual

Is a specific rotational motor enabled.

Parameters
AxisThe Angular Axis to get, as per AxisToAngularAxis(Whole).
Returns
A Boole that is true if the given Axis is enabled.

Definition at line 300 of file generic6dofconstraint.cpp.

Vector3 Mezzanine::Physics::Generic6DofConstraint::GetAngularMotorMaxForce ( ) const
virtual

Get the Max Motor Force for each Axis.

Returns
A Vector3 with the max force on the X, Y and Z angular Axis.

Definition at line 255 of file generic6dofconstraint.cpp.

Real Mezzanine::Physics::Generic6DofConstraint::GetAngularMotorMaxForceOnAxis ( Whole  Axis) const
virtual

Get the Max motor Force on a certain Axis.

Parameters
AxisThe Angular Axis to get, as per AxisToAngularAxis(Whole).
Returns
A Real with the Max Motor Force for the Given Axis.

Definition at line 264 of file generic6dofconstraint.cpp.

Vector3 Mezzanine::Physics::Generic6DofConstraint::GetAngularMotorRestitution ( ) const
virtual

Get the Restitution values for all three axis.

Returns
A Vector3 with the forces on the X, Y and Z angular Axis.

Definition at line 282 of file generic6dofconstraint.cpp.

Real Mezzanine::Physics::Generic6DofConstraint::GetAngularMotorRestitutionOnAxis ( Whole  Axis) const
virtual

Get the Restitution/Bounciness for a single Axis.

Parameters
AxisThe Angular Axis to get, as per AxisToAngularAxis(Whole).
Returns
A Real with the Restitution for the Given Axis.

Definition at line 288 of file generic6dofconstraint.cpp.

Vector3 Mezzanine::Physics::Generic6DofConstraint::GetAngularMotorTargetVelocity ( ) const
virtual

Get the target velocity for all angular Axis.

Returns
A Vector3 with the TAger Velocities on the X, Y and Z angular Axis.

Definition at line 246 of file generic6dofconstraint.cpp.

Real Mezzanine::Physics::Generic6DofConstraint::GetAngularMotorTargetVelocityOnAxis ( Whole  Axis) const
virtual

Get the Target Velocity for one axis.

Parameters
AxisThe Angular Axis to get, as per AxisToAngularAxis(Whole).
Returns
A Real with the force for the Given Axis.

Definition at line 252 of file generic6dofconstraint.cpp.

String Mezzanine::Physics::Generic6DofConstraint::GetDerivedSerializableName ( ) const
virtual

Gets the most derived serializable name of this Constraint.

Note
When creating a new Constraint class verify this method has a valid return for it in order for serialization to work properly.
Returns
Returns the name of the XML tag from the most derived class of "this".

Implements Mezzanine::Physics::Constraint.

Reimplemented in Mezzanine::Physics::Generic6DofSpringConstraint, Mezzanine::Physics::UniversalConstraint, and Mezzanine::Physics::Hinge2Constraint.

Definition at line 587 of file generic6dofconstraint.cpp.

Real Mezzanine::Physics::Generic6DofConstraint::GetLinearLimitDamping ( ) const
virtual

Get the Damping of the linear Limits.

Returns
The Damping as a real.

Definition at line 315 of file generic6dofconstraint.cpp.

Vector3 Mezzanine::Physics::Generic6DofConstraint::GetLinearLimitLower ( ) const
virtual

Get the Upper limits on translation.

Returns
A Vector3 that stores the upper limit x, y and z that cannot be exceeded

Definition at line 183 of file generic6dofconstraint.cpp.

Real Mezzanine::Physics::Generic6DofConstraint::GetLinearLimitLowerOnAxis ( Whole  TranslationAxis) const

Get a specific lower translation limit.

Parameters
TranslationAxisThe Axis to work with.
Returns
A real containing the specified lower limit.

Definition at line 195 of file generic6dofconstraint.cpp.

Real Mezzanine::Physics::Generic6DofConstraint::GetLinearLimitRestitution ( ) const
virtual

Get the Restitution of the linear Limits.

Returns
The Restitution as a real.

Definition at line 321 of file generic6dofconstraint.cpp.

Real Mezzanine::Physics::Generic6DofConstraint::GetLinearLimitSoftness ( ) const
virtual

Get the Softness of the linear Limits.

Returns
The Softness as a real.

Definition at line 309 of file generic6dofconstraint.cpp.

Vector3 Mezzanine::Physics::Generic6DofConstraint::GetLinearLimitUpper ( ) const
virtual

Get the lower limits on translation.

Parameters
LimitA Vector3 that stores the lower limit x, y and z that cannot be exceeded

Definition at line 189 of file generic6dofconstraint.cpp.

Real Mezzanine::Physics::Generic6DofConstraint::GetLinearLimitUpperOnAxis ( Whole  TranslationAxis) const

Get a specific upper translation limit.

Parameters
TranslationAxisThe Axis to work with.
Returns
A real containing the specified upper limit.

Definition at line 201 of file generic6dofconstraint.cpp.

Vector3 Mezzanine::Physics::Generic6DofConstraint::GetLinearMotorEnabled ( ) const
virtual

Get a Vector3 with 3 zero or nonzero values that store whether or not a given rotational motor is enable.

Returns
A Vector3 with the forces on the X, Y and Z Linear Axis.

Definition at line 354 of file generic6dofconstraint.cpp.

Boole Mezzanine::Physics::Generic6DofConstraint::GetLinearMotorEnabledOnAxis ( Whole  Axis) const
virtual

Is a specific Linear motor enabled.

Parameters
AxisThe Linear Axis to get.
Returns
A Boole that is true if the given Axis is enabled.

Definition at line 357 of file generic6dofconstraint.cpp.

Vector3 Mezzanine::Physics::Generic6DofConstraint::GetLinearMotorMaxForce ( ) const
virtual

Get the Max Motor Force for each Axis.

Returns
A Vector3 with the max force on the X, Y and Z Linear Axis.

Definition at line 330 of file generic6dofconstraint.cpp.

Real Mezzanine::Physics::Generic6DofConstraint::GetLinearMotorMaxForceOnAxis ( Whole  Axis) const
virtual

Get the Max motor Force on a certain Axis.

Parameters
AxisThe Linear Axis to get.
Returns
A Real with the Max Motor Force for the Given Axis.

Definition at line 333 of file generic6dofconstraint.cpp.

Vector3 Mezzanine::Physics::Generic6DofConstraint::GetLinearMotorTargetVelocity ( ) const
virtual

Get the target velocity for all Linear Axis.

Returns
A Vector3 with the Target Velocities on the X, Y and Z Linear Axis.

Definition at line 342 of file generic6dofconstraint.cpp.

Real Mezzanine::Physics::Generic6DofConstraint::GetLinearMotorTargetVelocityOnAxis ( Whole  Axis) const
virtual

Get the Target Velocity for one axis.

Parameters
AxisThe Linear Axis to get.
Returns
A Real with the force for the Given Axis.

Definition at line 345 of file generic6dofconstraint.cpp.

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

Gets the location of the pivot relative to ProxA's Center of gravity.

Returns
A Vector3 with the pivot location.

Reimplemented from Mezzanine::Physics::DualTransformConstraint.

Definition at line 135 of file generic6dofconstraint.cpp.

Quaternion Mezzanine::Physics::Generic6DofConstraint::GetPivotARotation ( ) const
virtual

Gets the relative rotation for ProxA.

Returns
A Quaternion that has the rotation.

Reimplemented from Mezzanine::Physics::DualTransformConstraint.

Definition at line 147 of file generic6dofconstraint.cpp.

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

Gets the current Rotation and Location of ProxyA.

Returns
This returns a Mezzanine::Transform.

Implements Mezzanine::Physics::DualTransformConstraint.

Definition at line 123 of file generic6dofconstraint.cpp.

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

Gets the location of the pivot relative to ProxB's Center of gravity.

Returns
A Vector3 with the pivot location.

Reimplemented from Mezzanine::Physics::DualTransformConstraint.

Definition at line 138 of file generic6dofconstraint.cpp.

Quaternion Mezzanine::Physics::Generic6DofConstraint::GetPivotBRotation ( ) const
virtual

Gets the relative rotation for ProxB.

Returns
A Quaternion that has the rotation.

Reimplemented from Mezzanine::Physics::DualTransformConstraint.

Definition at line 150 of file generic6dofconstraint.cpp.

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

Gets the current Rotation and Location of ProxyB.

Returns
This returns a Mezzanine::Transform.

Implements Mezzanine::Physics::DualTransformConstraint.

Definition at line 126 of file generic6dofconstraint.cpp.

String Mezzanine::Physics::Generic6DofConstraint::GetSerializableName ( )
static

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

Returns
A string containing the name of this class.

Definition at line 590 of file generic6dofconstraint.cpp.

Boole Mezzanine::Physics::Generic6DofConstraint::GetUseFrameOffset ( ) const
virtual

Gets whether or not an offset of the constraint frame should be used to calculate internal data.

Returns
Returns whether or not an offset in the constraint frame is being used by the internal constraint.

Definition at line 159 of file generic6dofconstraint.cpp.

Boole Mezzanine::Physics::Generic6DofConstraint::GetUseLinearReferenceFrameA ( ) const

Gets whether or not to perform linear math from ProxyA's perspective.

Returns
Returns true if math is being done from ProxyA's perspective, false if math is being done from ProxyB's perspective.

Definition at line 165 of file generic6dofconstraint.cpp.

Constraint::AxisList Mezzanine::Physics::Generic6DofConstraint::GetValidAngularAxes ( ) 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 383 of file generic6dofconstraint.cpp.

Constraint::AxisList Mezzanine::Physics::Generic6DofConstraint::GetValidLinearAxes ( ) 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 374 of file generic6dofconstraint.cpp.

Constraint::ParamList Mezzanine::Physics::Generic6DofConstraint::GetValidParamsOnAxis ( 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 363 of file generic6dofconstraint.cpp.

Boole Mezzanine::Physics::Generic6DofConstraint::HasParamBeenSet ( ConstraintParam  Param,
int  Axis 
) const
virtual

Implements Mezzanine::Physics::Constraint.

Definition at line 392 of file generic6dofconstraint.cpp.

void Mezzanine::Physics::Generic6DofConstraint::ProtoDeSerializeProperties ( const XML::Node SelfRoot)
virtual

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

Parameters
SelfRootAn XML::Node containing the data to populate this class with.

Reimplemented from Mezzanine::Physics::Constraint.

Reimplemented in Mezzanine::Physics::Generic6DofSpringConstraint.

Definition at line 463 of file generic6dofconstraint.cpp.

void Mezzanine::Physics::Generic6DofConstraint::ProtoSerializeProperties ( XML::Node SelfRoot) const
virtual

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

Parameters
SelfRootThe root node containing all the serialized data for this instance.

Reimplemented from Mezzanine::Physics::Constraint.

Reimplemented in Mezzanine::Physics::Generic6DofSpringConstraint.

Definition at line 405 of file generic6dofconstraint.cpp.

void Mezzanine::Physics::Generic6DofConstraint::SetAngularLimitLower ( const Vector3 Limit)
virtual

Set the Lower limits on rotation.

Parameters
LimitA Vector3 that store the upper limit x, y and z rotation in radians

Definition at line 210 of file generic6dofconstraint.cpp.

void Mezzanine::Physics::Generic6DofConstraint::SetAngularLimitLowerOnAxis ( const Real  Limit,
Whole  RotationAxis 
)

Sets the lower rotation limit on a specific axis of the constraint.

Parameters
LimitThe limit to apply to the specified axis.
RotationAxisThe Axis to work with.

Definition at line 216 of file generic6dofconstraint.cpp.

void Mezzanine::Physics::Generic6DofConstraint::SetAngularLimitMaxForce ( const Vector3 MaxLimitForces)
virtual

Set the Maximimum amount of force applied to ensure limits are not surpassed.

Parameters
MaxLimitForcesA Vector3 containing the X, Y and Z Maximium forces.

Definition at line 231 of file generic6dofconstraint.cpp.

void Mezzanine::Physics::Generic6DofConstraint::SetAngularLimitMaxForceOnAxis ( const Real  MaxLimitForce,
Whole  Axis 
)
virtual

Set the Maximimum amount of force applied to ensure a limit on one axis is not surpassed.

Parameters
MaxLimitForceThe new maximum force.
AxisThe Angular Axis to be set, as per AxisToAngularAxis(Whole).

Definition at line 237 of file generic6dofconstraint.cpp.

void Mezzanine::Physics::Generic6DofConstraint::SetAngularLimitUpper ( const Vector3 Limit)
virtual

Set the Upper limits on rotation.

Parameters
LimitA Vector3 that store the lower limit x, y and z rotation in radians

Definition at line 204 of file generic6dofconstraint.cpp.

void Mezzanine::Physics::Generic6DofConstraint::SetAngularLimitUpperOnAxis ( const Real  Limit,
Whole  RotationAxis 
)

Sets the upper rotation limit on a specific axis of the constraint.

Parameters
LimitThe limit to apply to the specified axis.
RotationAxisThe Axis to work with.

Definition at line 222 of file generic6dofconstraint.cpp.

void Mezzanine::Physics::Generic6DofConstraint::SetAngularMotorDamping ( const Vector3 Dampings)
virtual

Set the Angular Motor Damping for each Angular Axis.

Parameters
DampingsA Vector3 with Damping value for the X, Y and Z axis.

Definition at line 267 of file generic6dofconstraint.cpp.

void Mezzanine::Physics::Generic6DofConstraint::SetAngularMotorDampingOnAxis ( const Real  Damping,
Whole  Axis 
)
virtual

For one Axis, set the Damping.

Parameters
DampingThe new amount to Damp rotation on the given Axis.
AxisThe Angular Axis to be set, as per AxisToAngularAxis(Whole).

Definition at line 273 of file generic6dofconstraint.cpp.

void Mezzanine::Physics::Generic6DofConstraint::SetAngularMotorEnabled ( const Vector3 Enableds)
virtual

Set whether or not the motor is enabled for all Axis Simultaneously.

Parameters
EnabledsA Vector3 that will be interpretted as 3 true/false values where 0 is false and any other value it true.

Definition at line 291 of file generic6dofconstraint.cpp.

void Mezzanine::Physics::Generic6DofConstraint::SetAngularMotorEnabledOnAxis ( const Boole  Enabled,
Whole  Axis 
)
virtual

For one Axis, set whether or not the motor is enabled.

Parameters
EnabledIs the motor enabled? TRue for yes, false for no.
AxisThe Angular Axis to be set, as per AxisToAngularAxis(Whole).

Definition at line 297 of file generic6dofconstraint.cpp.

void Mezzanine::Physics::Generic6DofConstraint::SetAngularMotorMaxForce ( const Vector3 Forces)
virtual

Set the Angular Motor Maximum force on all 3 rotational axis.

Parameters
ForcesA Vector3 with the Max Motor Force for each axis.

Definition at line 258 of file generic6dofconstraint.cpp.

void Mezzanine::Physics::Generic6DofConstraint::SetAngularMotorMaxForceOnAxis ( const Real  Force,
Whole  Axis 
)
virtual

For one Axis, set the Maximimum Motor Force.

Parameters
ForceThe new Max motor force.
AxisThe Angular Axis to be set, as per AxisToAngularAxis(Whole).

Definition at line 261 of file generic6dofconstraint.cpp.

void Mezzanine::Physics::Generic6DofConstraint::SetAngularMotorRestitution ( const Vector3 Restitutions)
virtual

Set the Bounciness/Restition for rotation on all three Axis.

Parameters
RestitutionsA Vector3 containing all the New Bounciness values

Definition at line 279 of file generic6dofconstraint.cpp.

void Mezzanine::Physics::Generic6DofConstraint::SetAngularMotorRestitutionOnAxis ( const Real  Restitution,
Whole  Axis 
)
virtual

For one Axis, set the Restitution/Bounciness/.

Parameters
RestitutionThe new value for the given Axis.
AxisThe Angular Axis to be set, as per AxisToAngularAxis(Whole).

Definition at line 285 of file generic6dofconstraint.cpp.

void Mezzanine::Physics::Generic6DofConstraint::SetAngularMotorTargetVelocity ( const Vector3 Velocities)
virtual

Set the Target velocity of the motor on each anuglar axis.

Parameters
VelocitiesA Vector3 containing the X, Y and Z Target Velocites.

Definition at line 243 of file generic6dofconstraint.cpp.

void Mezzanine::Physics::Generic6DofConstraint::SetAngularMotorTargetVelocityOnAxis ( const Real  Velocity,
Whole  Axis 
)
virtual

For one Axis, set the target velocity of the angular motor.

Parameters
VelocityThe new Target Velovity.
AxisThe Angular Axis to be set, as per AxisToAngularAxis(Whole).

Definition at line 249 of file generic6dofconstraint.cpp.

void Mezzanine::Physics::Generic6DofConstraint::SetLimit ( Whole  Axis,
Real  Lower,
Real  Upper 
)
virtual

Change the upper and lower limit for one axis of translation or rotation limit.

Parameters
AxisThe axis to change
LowerThe new lower limit
UpperThenew Higher limit

Definition at line 177 of file generic6dofconstraint.cpp.

void Mezzanine::Physics::Generic6DofConstraint::SetLinearLimitDamping ( const Real  Damping)
virtual

Set the Damping of the linear Limits.

Parameters
DampingThe new damping value placed on forces the limits impose.

Definition at line 312 of file generic6dofconstraint.cpp.

void Mezzanine::Physics::Generic6DofConstraint::SetLinearLimitLower ( const Vector3 Limit)
virtual

Set the Upper limits on translation.

Returns
A Vector3 that stores the upper limit x, y and z that cannot be exceeded

Definition at line 180 of file generic6dofconstraint.cpp.

void Mezzanine::Physics::Generic6DofConstraint::SetLinearLimitLowerOnAxis ( const Real  Limit,
Whole  TranslationAxis 
)

Sets the lower linear limit on a specific axis of the constraint.

Parameters
LimitThe limit to apply to the specified axis.
TranslationAxisThe Axis to work with.

Definition at line 192 of file generic6dofconstraint.cpp.

void Mezzanine::Physics::Generic6DofConstraint::SetLinearLimitRestitution ( const Real  Restitution)
virtual

Set the Restitution of the linear Limits.

Parameters
RestitutionHow bouncy are the limits.

Definition at line 318 of file generic6dofconstraint.cpp.

void Mezzanine::Physics::Generic6DofConstraint::SetLinearLimitSoftness ( const Real  Softness)
virtual

Set the Softness of the linear Limits.

Parameters
SoftnessHow spongy, how much give does the constraint have.

Definition at line 306 of file generic6dofconstraint.cpp.

void Mezzanine::Physics::Generic6DofConstraint::SetLinearLimitUpper ( const Vector3 Limit)
virtual

Set the lower limits on translation.

Parameters
LimitA Vector3 that stores the lower limit x, y and z that cannot be exceeded

Definition at line 186 of file generic6dofconstraint.cpp.

void Mezzanine::Physics::Generic6DofConstraint::SetLinearLimitUpperOnAxis ( const Real  Limit,
Whole  TranslationAxis 
)

Sets the upper linear limit on a specific axis of the constraint.

Parameters
LimitThe limit to apply to the specified axis.
TranslationAxisThe Axis to work with.

Definition at line 198 of file generic6dofconstraint.cpp.

void Mezzanine::Physics::Generic6DofConstraint::SetLinearMotorEnabled ( const Vector3 Enableds)
virtual

Set whether or not the motor is enabled for all Linear Axis Simultaneously.

Parameters
EnabledsA Vector3 that will be interpretted as 3 true/false values where 0 is false and any other value it true.

Definition at line 348 of file generic6dofconstraint.cpp.

void Mezzanine::Physics::Generic6DofConstraint::SetLinearMotorEnabledOnAxis ( const Boole  Enabled,
Whole  Axis 
)
virtual

For one Axis, set whether or not the motor is enabled.

Parameters
EnabledIs the motor enabled? True for yes, false for no.
AxisThe Linear Axis to be set.

Definition at line 351 of file generic6dofconstraint.cpp.

void Mezzanine::Physics::Generic6DofConstraint::SetLinearMotorMaxForce ( const Vector3 Forces)
virtual

Set the Linear Motor Maximum force on all 3 translation axis.

Parameters
ForcesA Vector3 with the Max Motor Force for each axis.

Definition at line 324 of file generic6dofconstraint.cpp.

void Mezzanine::Physics::Generic6DofConstraint::SetLinearMotorMaxForceOnAxis ( const Real  Force,
Whole  Axis 
)
virtual

For one Axis, set the Maximimum Motor Force.

Parameters
ForceThe new Max motor force.
AxisThe Linear Axis to be set.

Definition at line 327 of file generic6dofconstraint.cpp.

void Mezzanine::Physics::Generic6DofConstraint::SetLinearMotorTargetVelocity ( const Vector3 Velocities)
virtual

Set the Target velocity of the motor on each anuglar axis.

Parameters
VelocitiesA Vector3 containing the X, Y and Z Target Velocites.

Definition at line 336 of file generic6dofconstraint.cpp.

void Mezzanine::Physics::Generic6DofConstraint::SetLinearMotorTargetVelocityOnAxis ( const Real  Velocity,
Whole  Axis 
)
virtual

For one Axis, set the target velocity of the Linear motor.

Parameters
VelocityThe new Target Velovity.
AxisThe Linear Axis to be set.

Definition at line 339 of file generic6dofconstraint.cpp.

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

Sets The relative location of the pivot from ProxA's Center of gravity.

Parameters
LocationThe New value for PivotA.

Reimplemented from Mezzanine::Physics::DualTransformConstraint.

Definition at line 129 of file generic6dofconstraint.cpp.

void Mezzanine::Physics::Generic6DofConstraint::SetPivotARotation ( const Quaternion Rotation)
virtual

Sets The relative rotation of ProxA.

Parameters
RotationThe new rotation amount for ProxA.

Reimplemented from Mezzanine::Physics::DualTransformConstraint.

Definition at line 141 of file generic6dofconstraint.cpp.

void Mezzanine::Physics::Generic6DofConstraint::SetPivotATransform ( const Transform TransA)
virtual

Sets the Position and Rotation for the first body using a Transform.

Parameters
TransAThe new position and rotation.

Implements Mezzanine::Physics::DualTransformConstraint.

Definition at line 117 of file generic6dofconstraint.cpp.

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

Sets The relative location of the pivot from ProxB's Center of gravity.

Parameters
LocationThe New value for PivotB.

Reimplemented from Mezzanine::Physics::DualTransformConstraint.

Definition at line 132 of file generic6dofconstraint.cpp.

void Mezzanine::Physics::Generic6DofConstraint::SetPivotBRotation ( const Quaternion Rotation)
virtual

Sets The relative rotation of ProxB.

Parameters
otationThe new rotation amount for ProxB.

Reimplemented from Mezzanine::Physics::DualTransformConstraint.

Definition at line 144 of file generic6dofconstraint.cpp.

void Mezzanine::Physics::Generic6DofConstraint::SetPivotBTransform ( const Transform TransB)
virtual

Sets the Position and Rotation for the second body using a Transform.

Parameters
TransBThe new position and rotation.

Implements Mezzanine::Physics::DualTransformConstraint.

Definition at line 120 of file generic6dofconstraint.cpp.

void Mezzanine::Physics::Generic6DofConstraint::SetPivotTransforms ( const Transform TransA,
const Transform TransB 
)
virtual

Sets the Position and Rotation for the first and second body using a Transform.

Parameters
TransAThe new position and rotation for ProxyA.
TransBThe new position and rotation for ProxyB.

Reimplemented from Mezzanine::Physics::DualTransformConstraint.

Definition at line 114 of file generic6dofconstraint.cpp.

void Mezzanine::Physics::Generic6DofConstraint::SetUseFrameOffset ( const Boole  FrameOffset)
virtual

Sets whether or not an offset of the constraint frame should be used to calculate internal data.

Parameters
FrameOffsetThe full effect of this being true or false is uknown, but internal documentation suggests "true" provides more stable results.

Definition at line 156 of file generic6dofconstraint.cpp.

void Mezzanine::Physics::Generic6DofConstraint::SetUseLinearReferenceFrameA ( const Boole  UseRefFrameA)

Sets whether or not to perform linear math from ProxyA's perspective.

Parameters
UseRefFrameATrue to perform math from ProxyA's perspective, false to perform math from ProxyB's perspective. Initial Value: false.

Definition at line 162 of file generic6dofconstraint.cpp.

Member Data Documentation

btGeneric6DofConstraint* Mezzanine::Physics::Generic6DofConstraint::Generic6dof
protected

The internal constraint that this class encapsulates.

Definition at line 103 of file generic6dofconstraint.h.


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