class RigidBody


Public Fields

[more]RigidBody_Integrator RBIntegrator

Public Methods

[more] RigidBody()
[more]virtual ~RigidBody()
[more]void SetMass(const double &m)
Setting properties methods
[more]void SetInertias(double ixx, double iyy, double izz, double jxz)
Set mass of the rigid body
[more]inline void SetPosition(const Vector3D &p)
Set initial state: Vectors/Quaternion given in WORLD axes, but converted to BODY frame (xcept rCM)
[more]void SetOrientation(const Quaternion &o)
Set Position relative to worldWorld Axes
[more]void SetPositionAndOrientation(const Vector3D &p, const Quaternion &o)
Set Orientation relative to worldWorld Axes
[more]void SetVelocity(const Vector3D& v)
Set Position and orientation relative to worldWorld Axes
[more]void SetAngVelocity(const Vector3D& w)
Set translational velocity.
[more]void SetVelocities(const Vector3D& Translational, const Vector3D& Rotational)
Set angular velocity.
[more]void ComputeState(void)
Set translational and rotational velocities (respectively)
[more]Vector3D Body2World(const Vector3D& v)
Axis transformations
[more]Vector3D World2Body(const Vector3D& v) const
Converts a vector expressed in Body frame to World axes, using actual Quaternion
[more]VectorND ComputeStateDot(double t, VectorND y)
[more]void Move(double dt)
function to compute the dy/dt of the rigid body
[more]void ResetForcesAndTorques(void)
Forces/Torques management:
[more]inline void AddForce(const Vector3D &F, const Vector3D &r)
Add a force to the object: Force = force vector, r = point it is acting at, relative to CM
[more]inline void AddForceToCenterOfMass(const Vector3D &F)
Add a force Force to point r, (in body axes)
[more]void AddGlobalForceField(const Vector3D &F)
Add a force to center of mass of the rigidbody (in body axes).
[more]void AddGForce(const Vector3D &F, const Vector3D &r)
Add a force field expressed in WORLD axes.
[more]void AddGForceAtGpoint(const Vector3D &F, const Vector3D &r)
Add a force Force(in World axes) to point r (in body axes)
[more]void AddTorque(const Vector3D &T)
Add a force Force(in World axes) to point r (in world axes)
[more]inline Vector3D GetForces(void) const
Add a torque (in body axes)
[more]inline Vector3D GetTorques(void) const
[more]inline double GetMass(void) const
Mass management:
[more]inline void AddMass(const double IncomingMass)
Returns mass
[more]inline Vector3D GetPosition(void) const
Misc
[more]inline Vector3D GetVelocityCM(void) const
[more]Vector3D GetVelocityW(const Vector3D &r)
returns vCM (body axes)
[more]inline Vector3D GetVelocityB(const Vector3D &r) const
Get the velocity(in body axes) of point r(in body axes)
[more]inline Vector3D GetAngVelocity(void) const
[more]inline Quaternion GetQuaternion(void) const
[more]void GetOpenGLTransformationMatrix(double* matrix)
[more]void OutFandT(void)
Returns current orientation in an OpenGL matrix
[more]void OutState(void)
Prints Forces and Torques to standard output
[more]void OutMassProperties(void)
Prints current VecorND State to standard output
[more]int LoadXML(char* file_name)
Load a rigidbody from a XML file.
[more]int ParseXML(xmlDocPtr doc, xmlNodePtr cur)
Parse a rigidbody node inside a XML file.

Public Members

class RigidBody_Integrator: public Integrator<RigidBody>
Integration stuff

Private Fields

[more]double Mass
Mass properties
[more]double Ixx
[more]double Iyy
[more]double Izz
[more]double Jxz
[more]Vector3D rCM
Kinematic variables
[more]Quaternion Q
Position of the center of mass (world axes)
[more]Vector3D vCM
Orientation quaternion
[more]Vector3D wCM
Velocity of the center of mass (body axes)
[more]VectorND State
Angular Velocity (body axes)
[more]Vector3D Forces
Dynamic variables
[more]Vector3D GForces
[more]Vector3D Torques
GForces=Global Force Fields forces (in global axes)


Documentation

o RigidBody()

ovirtual ~RigidBody()

ovoid SetMass(const double &m)
Setting properties methods

ovoid SetInertias(double ixx, double iyy, double izz, double jxz)
Set mass of the rigid body

oinline void SetPosition(const Vector3D &p)
Set initial state: Vectors/Quaternion given in WORLD axes, but converted to BODY frame (xcept rCM)

ovoid SetOrientation(const Quaternion &o)
Set Position relative to worldWorld Axes

ovoid SetPositionAndOrientation(const Vector3D &p, const Quaternion &o)
Set Orientation relative to worldWorld Axes

ovoid SetVelocity(const Vector3D& v)
Set Position and orientation relative to worldWorld Axes

ovoid SetAngVelocity(const Vector3D& w)
Set translational velocity. (body axes)

ovoid SetVelocities(const Vector3D& Translational, const Vector3D& Rotational)
Set angular velocity. (body axes)

ovoid ComputeState(void)
Set translational and rotational velocities (respectively)

oVector3D Body2World(const Vector3D& v)
Axis transformations

oVector3D World2Body(const Vector3D& v) const
Converts a vector expressed in Body frame to World axes, using actual Quaternion

oRigidBody_Integrator RBIntegrator

oVectorND ComputeStateDot(double t, VectorND y)

ovoid Move(double dt)
function to compute the dy/dt of the rigid body

ovoid ResetForcesAndTorques(void)
Forces/Torques management:

oinline void AddForce(const Vector3D &F, const Vector3D &r)
Add a force to the object: Force = force vector, r = point it is acting at, relative to CM

oinline void AddForceToCenterOfMass(const Vector3D &F)
Add a force Force to point r, (in body axes)

ovoid AddGlobalForceField(const Vector3D &F)
Add a force to center of mass of the rigidbody (in body axes). It does not generate torques.

ovoid AddGForce(const Vector3D &F, const Vector3D &r)
Add a force field expressed in WORLD axes. Applied to CG

ovoid AddGForceAtGpoint(const Vector3D &F, const Vector3D &r)
Add a force Force(in World axes) to point r (in body axes)

ovoid AddTorque(const Vector3D &T)
Add a force Force(in World axes) to point r (in world axes)

oinline Vector3D GetForces(void) const
Add a torque (in body axes)

oinline Vector3D GetTorques(void) const

oinline double GetMass(void) const
Mass management:

oinline void AddMass(const double IncomingMass)
Returns mass

oinline Vector3D GetPosition(void) const
Misc

oinline Vector3D GetVelocityCM(void) const

oVector3D GetVelocityW(const Vector3D &r)
returns vCM (body axes)

oinline Vector3D GetVelocityB(const Vector3D &r) const
Get the velocity(in body axes) of point r(in body axes)

oinline Vector3D GetAngVelocity(void) const

oinline Quaternion GetQuaternion(void) const

ovoid GetOpenGLTransformationMatrix(double* matrix)

ovoid OutFandT(void)
Returns current orientation in an OpenGL matrix

ovoid OutState(void)
Prints Forces and Torques to standard output

ovoid OutMassProperties(void)
Prints current VecorND State to standard output

oint LoadXML(char* file_name)
Load a rigidbody from a XML file. (0 if OK, 1 if ERROR)

oint ParseXML(xmlDocPtr doc, xmlNodePtr cur)
Parse a rigidbody node inside a XML file. (0 if OK, 1 if ERROR)

odouble Mass
Mass properties

odouble Ixx

odouble Iyy

odouble Izz

odouble Jxz

oVector3D rCM
Kinematic variables

oQuaternion Q
Position of the center of mass (world axes)

oVector3D vCM
Orientation quaternion

oVector3D wCM
Velocity of the center of mass (body axes)

oVectorND State
Angular Velocity (body axes)

oVector3D Forces
Dynamic variables

oVector3D GForces

oVector3D Torques
GForces=Global Force Fields forces (in global axes)


This class has no child classes.

Alphabetic index HTML hierarchy of classes or Java



This page was generated with the help of DOC++.