glotzmd::RigidBody Class Reference

#include <RigidBody.h>

List of all members.

Public Types

typedef std::vector
< PointMass * > 
PointMassList

Public Member Functions

 RigidBody ()
 RigidBody (const RigidBody &)
RigidBodyClone ()
 ~RigidBody ()
void InitializePhysics ()
 Intializes physical parameters necessary for rigid body integration.
void CheckPrincipleMoments ()
void PrintPhysics (std::ostream &)
void AddBead (Bead *)
void Clear ()
void SetPosition (const glotz_vec &)
void SetPosition (const glotz_flt, const glotz_flt, const glotz_flt)
void SetPositionInBox (const glotz_vec &, BoundaryConditions *)
void SetLinearVelocity (const glotz_vec &)
void SetAngularVelocity (const glotz_vec &)
void Translate (const glotz_vec &)
void TranslateInBox (const glotz_vec &, BoundaryConditions *)
void Rotate (const glotz_quat &)
void RotateInBox (const glotz_quat &, BoundaryConditions *)
void SetParent (const int)
void SetType (const int)
void SumForceAndTorque ()
void UpdateOrientationAndVelocities (BoundaryConditions *)
void UpdateRemapFlags ()
void UpdatePositionInBox (BoundaryConditions *)
void ComputeInertiaTensor (glotz_3mat &)
bool HasBadPrincipleMoments () const
int GetParent () const
glotz_flt GetMass () const
const glotz_vecGetCenterOfMass () const
const glotz_vecGetVelocity () const
const glotz_vecGetForce () const
const glotz_vecGetTorque () const
const glotz_vecGetAngularVelocity () const
const glotz_vecGetPrincipleMoments () const
const glotz_quatGetQuaternion () const
const glotz_3matGetRotationMatrix () const
int Size () const
int GetSequencer () const

Public Attributes

int xParent
glotz_flt xMass
glotz_flt xInverseMass
glotz_vec xCenterOfMass
glotz_vec xVelocity
glotz_vec xForce
glotz_vec xTorque
glotz_vec xAngularVelocity
glotz_vec xPrincipleMoment
glotz_quat xQuaternion
glotz_3mat xRotation
PointMassList xPointMass

Protected Attributes

bool mBadPrincipleMoments
int mSequencer

Static Protected Attributes

static int sGlobalSequencer = 1

Classes

struct  PointMass


Member Typedef Documentation

typedef std::vector<PointMass*> glotzmd::RigidBody::PointMassList


Constructor & Destructor Documentation

glotzmd::RigidBody::RigidBody (  ) 

glotzmd::RigidBody::RigidBody ( const RigidBody rhs  ) 

Parameters:
rhs is a reference tot he RigidBody object to be copied
Note:
calls PointMass copy constructor

glotzmd::RigidBody::~RigidBody (  ) 

Note:
Calls delete on all PointMass objects (deletes all Bead objects)


Member Function Documentation

RigidBody * glotzmd::RigidBody::Clone (  ) 

void glotzmd::RigidBody::InitializePhysics (  ) 

Intializes physical parameters necessary for rigid body integration.

This function is typically called by AddRigidBody() routines in relevant particles. It is important that this function runs before using many other RigidBody functions.

void glotzmd::RigidBody::CheckPrincipleMoments (  ) 

void glotzmd::RigidBody::PrintPhysics ( std::ostream &  os  ) 

void glotzmd::RigidBody::AddBead ( Bead bead  ) 

void glotzmd::RigidBody::Clear (  ) 

void glotzmd::RigidBody::SetPosition ( const glotz_vec position  ) 

void glotzmd::RigidBody::SetPosition ( const   glotz_flt,
const   glotz_flt,
const   glotz_flt 
)

void glotzmd::RigidBody::SetPositionInBox ( const glotz_vec position,
BoundaryConditions boundary 
)

void glotzmd::RigidBody::SetLinearVelocity ( const glotz_vec v  ) 

void glotzmd::RigidBody::SetAngularVelocity ( const glotz_vec omega  ) 

void glotzmd::RigidBody::Translate ( const glotz_vec rx  ) 

void glotzmd::RigidBody::TranslateInBox ( const glotz_vec rx,
BoundaryConditions boundary 
)

void glotzmd::RigidBody::Rotate ( const glotz_quat q  ) 

void glotzmd::RigidBody::RotateInBox ( const glotz_quat q,
BoundaryConditions boundary 
)

void glotzmd::RigidBody::SetParent ( const   int  ) 

Parameters:
parent is the sequencer of the particle the rigid body belongs to

void glotzmd::RigidBody::SetType ( const   int  ) 

void glotzmd::RigidBody::SumForceAndTorque (  ) 

void glotzmd::RigidBody::UpdateOrientationAndVelocities ( BoundaryConditions boundary  ) 

void glotzmd::RigidBody::UpdateRemapFlags (  ) 

void glotzmd::RigidBody::UpdatePositionInBox ( BoundaryConditions boundary  ) 

Updates rigid body center of mass to reflect the correct image after a boundary correction update

Parameters:
boundary is the simulation's BoundaryConditions pointer (gBoundaryConditions)

void glotzmd::RigidBody::ComputeInertiaTensor ( glotz_3mat I  ) 

bool glotzmd::RigidBody::HasBadPrincipleMoments (  )  const

int glotzmd::RigidBody::GetParent (  )  const

glotz_flt glotzmd::RigidBody::GetMass (  )  const

const glotz_vec & glotzmd::RigidBody::GetCenterOfMass (  )  const

const glotz_vec & glotzmd::RigidBody::GetVelocity (  )  const

const glotz_vec & glotzmd::RigidBody::GetForce (  )  const

const glotz_vec & glotzmd::RigidBody::GetTorque (  )  const

const glotz_vec & glotzmd::RigidBody::GetAngularVelocity (  )  const

const glotz_vec & glotzmd::RigidBody::GetPrincipleMoments (  )  const

const glotz_quat & glotzmd::RigidBody::GetQuaternion (  )  const

const glotz_3mat & glotzmd::RigidBody::GetRotationMatrix (  )  const

int glotzmd::RigidBody::Size (  )  const

int glotzmd::RigidBody::GetSequencer (  )  const


Member Data Documentation

int glotzmd::RigidBody::xParent

glotz_flt glotzmd::RigidBody::xMass

glotz_flt glotzmd::RigidBody::xInverseMass

glotz_vec glotzmd::RigidBody::xCenterOfMass

glotz_vec glotzmd::RigidBody::xVelocity

glotz_vec glotzmd::RigidBody::xForce

glotz_vec glotzmd::RigidBody::xTorque

glotz_vec glotzmd::RigidBody::xAngularVelocity

glotz_vec glotzmd::RigidBody::xPrincipleMoment

glotz_quat glotzmd::RigidBody::xQuaternion

glotz_3mat glotzmd::RigidBody::xRotation

PointMassList glotzmd::RigidBody::xPointMass

int glotzmd::RigidBody::sGlobalSequencer = 1 [static, protected]

bool glotzmd::RigidBody::mBadPrincipleMoments [protected]

int glotzmd::RigidBody::mSequencer [protected]


The documentation for this class was generated from the following files:
Generated on Tue Feb 24 20:54:29 2009 by  doxygen 1.5.3