VirtualPhysics the realtime dynamics simulation library

vpUJoint Class Reference

Universal joint class. More...

#include <vpUJoint.h>

Inheritance diagram for vpUJoint:

vpJoint

List of all members.

Public Member Functions

void SetAxis (int idx, const Vec3 &axis)
void SetAngle (int idx, const scalar &theta)
void SetVelocity (int idx, const scalar &omega)
void SetAcceleration (int idx, const scalar &alpha)
void SetTorque (int idx, const scalar &tau)
void AddTorque (int idx, const scalar &tau)
void SetInitialAngle (int idx, const scalar &theta_i)
void SetElasticity (int idx, const scalar &k)
void SetUpperLimit (int idx, const scalar &)
void SetLowerLimit (int idx, const scalar &)
void SetDamping (int idx, const scalar &c)
void SetRestitution (int idx, const scalar &)
Vec3 GetAxis (int idx) const
scalar GetAngle (int idx) const
scalar GetVelocity (int idx) const
scalar GetAcceleration (int idx) const
scalar GetTorque (int idx) const
scalar GetInitialAngle (int idx) const
scalar GetElasticity (int idx) const
scalar GetDamping (int idx) const
scalar GetUpperLimit (int idx) const
scalar GetLowerLimit (int idx) const
void DisableUpperLimit (int idx)
void DisableLowerLimit (int idx)
bool IsEnabledUpperLimit (int) const
bool IsEnabledLowerLimit (int) const
virtual int GetDOF (void) const
virtual scalar GetNormalForce (void) const
virtual scalar GetNormalTorque (void) const


Detailed Description

vpUJoint is a class to model a universal joint.
ujoint.gif

Member Function Documentation

VP_INLINE void vpUJoint::SetAxis ( int  idx,
const Vec3 axis 
)

set a rotational axis of the idx-th joint variable.

Parameters:
idx joint variable index. Universal joint is a 2 dof joint. Hence the index should be 0 or 1. The axis is Vec3(1, 0, 0) for the 0-th joint variable and (0, 1, 0) for the 1-th joint variable by default.

VP_INLINE void vpUJoint::SetAngle ( int  idx,
const scalar &  theta 
)

set a joint angle of the idx-th joint variable.

VP_INLINE void vpUJoint::SetVelocity ( int  idx,
const scalar &  omega 
)

set an angular velocity of the idx-th joint variable.

VP_INLINE void vpUJoint::SetAcceleration ( int  idx,
const scalar &  alpha 
)

set an angualr acceleration of the idx-th joint variable.

VP_INLINE void vpUJoint::SetTorque ( int  idx,
const scalar &  tau 
)

set a joint torque of the idx-th joint variable.

VP_INLINE void vpUJoint::AddTorque ( int  idx,
const scalar &  tau 
)

add a joint torque to the idx-th joint variable.

VP_INLINE void vpUJoint::SetInitialAngle ( int  idx,
const scalar &  theta_i 
)

set an intial angle of the idx-th joint variable.

VP_INLINE void vpUJoint::SetElasticity ( int  idx,
const scalar &  k 
)

set an elasticity of the idx-th joint variable.

VP_INLINE void vpUJoint::SetUpperLimit ( int  idx,
const scalar &  x 
)

set an upper joint limit.

VP_INLINE void vpUJoint::SetLowerLimit ( int  idx,
const scalar &  x 
)

set an lower joint limit.

VP_INLINE void vpUJoint::SetDamping ( int  idx,
const scalar &  c 
)

set a damping parameter of the idx-th joint variable.

VP_INLINE void vpUJoint::SetRestitution ( int  idx,
const scalar &  e 
)

set a restitution.

VP_INLINE Vec3 vpUJoint::GetAxis ( int  idx  )  const

get a rotation axis of the idx-th joint variable.

VP_INLINE scalar vpUJoint::GetAngle ( int  idx  )  const

get a joint angle of the idx-th joint variable.

VP_INLINE scalar vpUJoint::GetVelocity ( int  idx  )  const

get an angular velocity of the idx-th joint variable.

VP_INLINE scalar vpUJoint::GetAcceleration ( int  idx  )  const

get an angular acceleration of the idx-th joint variable.

VP_INLINE scalar vpUJoint::GetTorque ( int  idx  )  const

get a joint torque of the idx-th joint variable.

VP_INLINE scalar vpUJoint::GetInitialAngle ( int  idx  )  const

get an intial joint angle of the idx-th joint variable.

VP_INLINE scalar vpUJoint::GetElasticity ( int  idx  )  const

get an elasticity of the idx-th joint variable.

VP_INLINE scalar vpUJoint::GetDamping ( int  idx  )  const

get a damping parameter of the idx-th joint variable.

VP_INLINE scalar vpUJoint::GetUpperLimit ( int  idx  )  const

get a upper limit

VP_INLINE scalar vpUJoint::GetLowerLimit ( int  idx  )  const

get a lower limit

VP_INLINE void vpUJoint::DisableUpperLimit ( int  idx  ) 

disable upper limit of the idx th joint angle.

VP_INLINE void vpUJoint::DisableLowerLimit ( int  idx  ) 

disable lower limit of the idx th joint angle.

VP_INLINE bool vpUJoint::IsEnabledUpperLimit ( int  idx  )  const

return whether this joint is set to have upper limit

VP_INLINE bool vpUJoint::IsEnabledLowerLimit ( int  idx  )  const

return whether this joint is set to have lower limit

VP_INLINE int vpUJoint::GetDOF ( void   )  const [virtual]

return the degrees of freedom.

Implements vpJoint.

VP_INLINE scalar vpUJoint::GetNormalForce ( void   )  const [virtual]

get a magnitude of normal force applied to the joint.

Implements vpJoint.

VP_INLINE scalar vpUJoint::GetNormalTorque ( void   )  const [virtual]

get a magnitude of normal torque applied to the joint.

Implements vpJoint.


Generated on Wed Jun 11 23:11:49 2008 for VirtualPhysics by  doxygen 1.5.5