CrystalSpace

Public API Reference

CS::Physics::iJointFactory Struct Reference

A joint that can constrain the relative motion between two iPhysicalBody. More...

#include <ivaria/physics.h>

Inheritance diagram for CS::Physics::iJointFactory:

List of all members.

Public Member Functions

virtual csPtr
< CS::Physics::iJoint
CreateJoint ()=0
 Create a joint instance.
virtual const csVector3GetAngularDamping () const =0
 Get the angular damping of the spring.
virtual const csVector3GetAngularStiffness () const =0
 Get the angular stiffness of the spring.
virtual const csVector3GetBounce () const =0
 Get the joint restitution.
virtual float GetBreakingImpulseThreshold () const =0
 Get the threshold of a breaking impulse.
virtual const csVector3GetDesiredVelocity () const =0
 Get the desired velocity of the joint motor.
virtual const csVector3GetLinearDamping () const =0
 Get the linear damping of the spring.
virtual const csVector3GetLinearStiffness () const =0
 Get the linear stiffness of the spring.
virtual const csVector3GetMaxForce () const =0
 Get the maximum force that can be applied by the joint motor to reach the desired velocity.
virtual const csVector3GetMaximumAngle () const =0
 Get the maximum allowed angle between the two bodies (in radian).
virtual const csVector3GetMaximumDistance () const =0
 Get the maximum allowed distance between the two bodies.
virtual const csVector3GetMinimumAngle () const =0
 Get the minimum allowed angle between the two bodies (in radian).
virtual const csVector3GetMinimumDistance () const =0
 Get the minimum allowed distance between the two bodies.
virtual void GetRotConstraints (bool &X, bool &Y, bool &Z) const =0
 Get the rotational constraints on the 3 axes.
virtual void GetTransConstraints (bool &X, bool &Y, bool &Z) const =0
 Get the translation constraints on the 3 axes.
virtual void SetAngularDamping (const csVector3 &damp)=0
 Set the angular damping of the spring.
virtual void SetAngularEquilibriumPoint (const csVector3 &point)=0
 Set the value to an equilibrium point for rotation.
virtual void SetAngularStiffness (const csVector3 &stiffness)=0
 Set the angular stiffness of the spring.
virtual void SetBounce (const csVector3 &bounce)=0
 Set the restitution of the joint's stop point (this is the elasticity of the joint when say throwing open a door how much it will bounce the door back closed when it hits).
virtual void SetBreakingImpulseThreshold (float threshold)=0
 Set the threshold of a breaking impulse.
virtual void SetDesiredVelocity (const csVector3 &velo)=0
 Apply a motor velocity to joint (for instance on wheels).
virtual void SetLinearDamping (const csVector3 &damp)=0
 Set the linear damping of the spring.
virtual void SetLinearEquilibriumPoint (const csVector3 &point)=0
 Set the value to an equilibrium point for translation.
virtual void SetLinearStiffness (const csVector3 &stiffness)=0
 Set the linear stiffness of the spring.
virtual void SetMaxForce (const csVector3 &force)=0
 Set the maximum force that can be applied by the joint motor to reach the desired velocity.
virtual void SetMaximumAngle (const csVector3 &angle)=0
 Set the maximum allowed angle between the two bodies (in radian).
virtual void SetMaximumDistance (const csVector3 &dist)=0
 Set the maximum allowed distance between the two bodies.
virtual void SetMinimumAngle (const csVector3 &angle)=0
 Set the minimum allowed angle between the two bodies, in radian.
virtual void SetMinimumDistance (const csVector3 &dist)=0
 Set the minimum allowed distance between the two bodies.
virtual void SetRotConstraints (bool X, bool Y, bool Z)=0
 Set the rotational constraints on the 3 axes.
virtual void SetSpring (bool isSpring)=0
 Set this joint to a spring joint.
virtual void SetTransConstraints (bool X, bool Y, bool Z)=0
 Set the translation constraints on the 3 axes.

Detailed Description

A joint that can constrain the relative motion between two iPhysicalBody.

For instance if all motion in along the local X axis is constrained then the bodies will stay motionless relative to each other along an x axis rotated and positioned by the joint's transform.

Main creators of instances implementing this interface:

Main users of this interface:

Definition at line 963 of file physics.h.


Member Function Documentation

virtual csPtr<CS::Physics::iJoint> CS::Physics::iJointFactory::CreateJoint (  )  [pure virtual]

Create a joint instance.

virtual const csVector3& CS::Physics::iJointFactory::GetAngularDamping (  )  const [pure virtual]

Get the angular damping of the spring.

virtual const csVector3& CS::Physics::iJointFactory::GetAngularStiffness (  )  const [pure virtual]

Get the angular stiffness of the spring.

virtual const csVector3& CS::Physics::iJointFactory::GetBounce (  )  const [pure virtual]

Get the joint restitution.

virtual float CS::Physics::iJointFactory::GetBreakingImpulseThreshold (  )  const [pure virtual]

Get the threshold of a breaking impulse.

virtual const csVector3& CS::Physics::iJointFactory::GetDesiredVelocity (  )  const [pure virtual]

Get the desired velocity of the joint motor.

virtual const csVector3& CS::Physics::iJointFactory::GetLinearDamping (  )  const [pure virtual]

Get the linear damping of the spring.

virtual const csVector3& CS::Physics::iJointFactory::GetLinearStiffness (  )  const [pure virtual]

Get the linear stiffness of the spring.

virtual const csVector3& CS::Physics::iJointFactory::GetMaxForce (  )  const [pure virtual]

Get the maximum force that can be applied by the joint motor to reach the desired velocity.

virtual const csVector3& CS::Physics::iJointFactory::GetMaximumAngle (  )  const [pure virtual]

Get the maximum allowed angle between the two bodies (in radian).

virtual const csVector3& CS::Physics::iJointFactory::GetMaximumDistance (  )  const [pure virtual]

Get the maximum allowed distance between the two bodies.

virtual const csVector3& CS::Physics::iJointFactory::GetMinimumAngle (  )  const [pure virtual]

Get the minimum allowed angle between the two bodies (in radian).

virtual const csVector3& CS::Physics::iJointFactory::GetMinimumDistance (  )  const [pure virtual]

Get the minimum allowed distance between the two bodies.

virtual void CS::Physics::iJointFactory::GetRotConstraints ( bool &  X,
bool &  Y,
bool &  Z 
) const [pure virtual]

Get the rotational constraints on the 3 axes.

A value of true means that no motion are allowed around that axis.

virtual void CS::Physics::iJointFactory::GetTransConstraints ( bool &  X,
bool &  Y,
bool &  Z 
) const [pure virtual]

Get the translation constraints on the 3 axes.

A value of true means that no motion are allowed along that axis.

virtual void CS::Physics::iJointFactory::SetAngularDamping ( const csVector3 damp  )  [pure virtual]

Set the angular damping of the spring.

virtual void CS::Physics::iJointFactory::SetAngularEquilibriumPoint ( const csVector3 point  )  [pure virtual]

Set the value to an equilibrium point for rotation.

virtual void CS::Physics::iJointFactory::SetAngularStiffness ( const csVector3 stiffness  )  [pure virtual]

Set the angular stiffness of the spring.

virtual void CS::Physics::iJointFactory::SetBounce ( const csVector3 bounce  )  [pure virtual]

Set the restitution of the joint's stop point (this is the elasticity of the joint when say throwing open a door how much it will bounce the door back closed when it hits).

virtual void CS::Physics::iJointFactory::SetBreakingImpulseThreshold ( float  threshold  )  [pure virtual]

Set the threshold of a breaking impulse.

virtual void CS::Physics::iJointFactory::SetDesiredVelocity ( const csVector3 velo  )  [pure virtual]

Apply a motor velocity to joint (for instance on wheels).

Set force_update to true if you want to apply the changes right away.

virtual void CS::Physics::iJointFactory::SetLinearDamping ( const csVector3 damp  )  [pure virtual]

Set the linear damping of the spring.

virtual void CS::Physics::iJointFactory::SetLinearEquilibriumPoint ( const csVector3 point  )  [pure virtual]

Set the value to an equilibrium point for translation.

virtual void CS::Physics::iJointFactory::SetLinearStiffness ( const csVector3 stiffness  )  [pure virtual]

Set the linear stiffness of the spring.

virtual void CS::Physics::iJointFactory::SetMaxForce ( const csVector3 force  )  [pure virtual]

Set the maximum force that can be applied by the joint motor to reach the desired velocity.

Set force_update to true if you want to apply the changes right away.

virtual void CS::Physics::iJointFactory::SetMaximumAngle ( const csVector3 angle  )  [pure virtual]

Set the maximum allowed angle between the two bodies (in radian).

Set force_update to true if you want to apply the changes right away.

virtual void CS::Physics::iJointFactory::SetMaximumDistance ( const csVector3 dist  )  [pure virtual]

Set the maximum allowed distance between the two bodies.

Set force_update to true if you want to apply the changes right away.

virtual void CS::Physics::iJointFactory::SetMinimumAngle ( const csVector3 angle  )  [pure virtual]

Set the minimum allowed angle between the two bodies, in radian.

Set force_update to true if you want to apply the changes right away.

virtual void CS::Physics::iJointFactory::SetMinimumDistance ( const csVector3 dist  )  [pure virtual]

Set the minimum allowed distance between the two bodies.

Set force_update to true if you want to apply the changes right away.

virtual void CS::Physics::iJointFactory::SetRotConstraints ( bool  X,
bool  Y,
bool  Z 
) [pure virtual]

Set the rotational constraints on the 3 axes.

If true is passed for an axis then the Joint will constrain all rotation around that axis (ie no motion will be allowed). If false is passed in then all rotation around that axis is free, but bounded by the minimum and maximum angle if set. Set force_update to true if you want to apply the changes right away.

virtual void CS::Physics::iJointFactory::SetSpring ( bool  isSpring  )  [pure virtual]

Set this joint to a spring joint.

virtual void CS::Physics::iJointFactory::SetTransConstraints ( bool  X,
bool  Y,
bool  Z 
) [pure virtual]

Set the translation constraints on the 3 axes.

If true is passed for an axis then the Joint will constrain all motion along that axis (ie no motion will be allowed). If false is passed in then all motion along that axis is free, but bounded by the minimum and maximum distance if set. Set force_update to true if you want to apply the changes right away.


The documentation for this struct was generated from the following file:

Generated for Crystal Space 2.1 by doxygen 1.6.1