Tries to make a point relative to each of two actors match in 3d space, without regard to rotation. More...
#include <point2pointconstraint.h>
Public Member Functions | |
Point2PointConstraint (RigidProxy *ProxyA, RigidProxy *ProxyB, const Vector3 &PivotA, const Vector3 &PivotB) | |
Double body constructor. Binds the two bodies. More... | |
Point2PointConstraint (RigidProxy *ProxyA, const Vector3 &PivotA) | |
Single body constructor. Binds the body to world space. More... | |
virtual | ~Point2PointConstraint () |
Class destructor. | |
virtual btTypedConstraint * | GetConstraintBase () const |
Get the Bullet constraint that this class encapsulates. More... | |
virtual Real | GetDamping () const |
Get the current Damping. More... | |
virtual Real | GetImpulseClamping () const |
get the current impulse clamping value More... | |
virtual Vector3 | GetPivotALocation () const |
Get offset of the first proxy. More... | |
virtual Vector3 | GetPivotBLocation () const |
Get offset of the second proxy. More... | |
virtual Real | GetTAU () const |
Retrieve the Tau Setting. 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 | SetDamping (Real Damping) |
Set a resistive force against the constraint, not too dissimilar to from hinge friction or Air resistance. More... | |
virtual void | SetImpulseClamping (Real Clamping) |
Set the current impulse clamping on the constraint. More... | |
virtual void | SetPivotALocation (const Vector3 &PivotA) |
Set offset of the first proxy. More... | |
virtual void | SetPivotBLocation (const Vector3 &PivotB) |
Set offset of the second proxy. More... | |
virtual void | SetTAU (Real TAU) |
This may be a scalar for how strongly Angular momentum affects linear momemtum. 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::Constraint | |
virtual | ~Constraint () |
Class destructor. More... | |
virtual Real | GetParam (ConstraintParam Param, int Axis=-1) const |
Gets value of constraint parameters. More... | |
virtual RigidProxy * | GetProxyA () const |
Gets the first Proxy this constraint applies to. More... | |
virtual RigidProxy * | GetProxyB () 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::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 | |
btPoint2PointConstraint * | Point2Point |
Bullet constraint that this class encapsulates. | |
Protected Attributes inherited from Mezzanine::Physics::Constraint | |
RigidProxy * | ProxA |
The first Collidable this constraint applies to. More... | |
RigidProxy * | ProxB |
The second Collidable this constraint applies to. More... | |
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... | |
Tries to make a point relative to each of two actors match in 3d space, without regard to rotation.
This will translate (push around) the actors to attempt to get the offsets to match up in 3d space. The actors can freely rotate about their relative offsets.
Definition at line 57 of file point2pointconstraint.h.
Mezzanine::Physics::Point2PointConstraint::Point2PointConstraint | ( | RigidProxy * | ProxyA, |
RigidProxy * | ProxyB, | ||
const Vector3 & | PivotA, | ||
const Vector3 & | PivotB | ||
) |
Double body constructor. Binds the two bodies.
ProxyA | The first proxy to apply this constraint to. |
ProxyB | The second proxy to apply this constraint to. |
PivotA | The location in ProxyA's local space to apply the constraint to. |
PivotB | The location in ProxyB's local space to apply the constraint to. |
Definition at line 58 of file point2pointconstraint.cpp.
Mezzanine::Physics::Point2PointConstraint::Point2PointConstraint | ( | RigidProxy * | ProxyA, |
const Vector3 & | PivotA | ||
) |
Single body constructor. Binds the body to world space.
ProxyA | The proxy to apply this constraint to. |
PivotA | The position relative to ProxyA's center of gravity to "Pin" to the world. |
Definition at line 65 of file point2pointconstraint.cpp.
|
virtual |
Get the Bullet constraint that this class encapsulates.
Implements Mezzanine::Physics::Constraint.
Definition at line 75 of file point2pointconstraint.cpp.
|
virtual |
Get the current Damping.
Definition at line 105 of file point2pointconstraint.cpp.
|
virtual |
get the current impulse clamping value
Definition at line 99 of file point2pointconstraint.cpp.
|
virtual |
Get offset of the first proxy.
Definition at line 87 of file point2pointconstraint.cpp.
|
virtual |
Get offset of the second proxy.
Definition at line 90 of file point2pointconstraint.cpp.
|
virtual |
Retrieve the Tau Setting.
Definition at line 111 of file point2pointconstraint.cpp.
|
virtual |
Implements Mezzanine::Physics::Constraint.
Definition at line 140 of file point2pointconstraint.cpp.
|
virtual |
Take the data stored in an XML and overwrite this instance of this object with it.
OneNode | and XML::Node containing the data. |
Reimplemented from Mezzanine::Physics::Constraint.
Definition at line 184 of file point2pointconstraint.cpp.
|
virtual |
Convert this class to an XML::Node ready for serialization.
CurrentRoot | The point in the XML hierarchy that all this vectorw should be appended to. |
Reimplemented from Mezzanine::Physics::Constraint.
Definition at line 150 of file point2pointconstraint.cpp.
|
static |
Get the name of the the XML tag this class will leave behind as its instances are serialized.
Definition at line 218 of file point2pointconstraint.cpp.
|
virtual |
Set a resistive force against the constraint, not too dissimilar to from hinge friction or Air resistance.
Damping | A real with the desired values |
Definition at line 102 of file point2pointconstraint.cpp.
|
virtual |
Set the current impulse clamping on the constraint.
Clamping | This is a value that the constraint solver can use to adjust accumlated values when solving the constraint. |
Definition at line 96 of file point2pointconstraint.cpp.
|
virtual |
Set offset of the first proxy.
PivotA | The offset as a Vector3 relative to the center of mass of ProxyA. |
Definition at line 81 of file point2pointconstraint.cpp.
|
virtual |
Set offset of the second proxy.
PivotB | The offset as a Vector3 relative to the center of mass of ProxyB. |
Definition at line 84 of file point2pointconstraint.cpp.
|
virtual |
This may be a scalar for how strongly Angular momentum affects linear momemtum.
This function is a tightly wrapped bullet 3d function. No real documentation for it exists, from its responsibility/location in Bullet3d and a basic understanding of torque ( see http://en.wikipedia.org/wiki/Torque ) It is highly likely that it is a value to adjust how torque affects momentum.
Definition at line 108 of file point2pointconstraint.cpp.
|
virtual |
Get A list sorted (low to high) of all axis that operate Angularly (that lock sliding/translation)
Implements Mezzanine::Physics::Constraint.
Definition at line 134 of file point2pointconstraint.cpp.
|
virtual |
Get a sorted (low to high) list of all axis that operate linearly (that lock sliding/translation)
Implements Mezzanine::Physics::Constraint.
Definition at line 127 of file point2pointconstraint.cpp.
|
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.
Axis | the Axis to check. |
Implements Mezzanine::Physics::Constraint.
Definition at line 114 of file point2pointconstraint.cpp.