LinkedPhysicsEntity Class Reference

#include <LinkedPhysicsEntity.h>

Inherits PhysicsEntity.

Collaboration diagram for LinkedPhysicsEntity:

List of all members.


Classes

struct  JointWrapper

Public Member Functions

 LinkedPhysicsEntity (unsigned short id, unsigned short environmentId, unsigned short instanceId, EntityType *type)
virtual ~LinkedPhysicsEntity ()
virtual void getRigidBodies (std::vector< oops::RigidBody * > &rigidBodyList)
virtual void getJoints (std::vector< oops::Joint * > &jointList)
virtual PhysicsObjectID getPhysicsObjectID ()
virtual void setEnvironment (Environment *env)

Static Public Attributes

static const unsigned LINKEDPHYSICSENTITY_CLASSID = 4
 unique class-ID used for PhysicsObjectID

Protected Member Functions

void addJoint (oops::Joint *joint, int entityIdx1, int entityIdx2)
void initializeJoints ()
void setSubEntities (std::vector< Entity * > subEntityList)

Protected Attributes

bool isInitialized
 Indicating if the physical representation is already initialized.
bool addedToSimulation
 Indicating if Entity is added to physics simulation.
bool initializedJoints
 indicates that joints were already initialized
std::vector< JointWrapperjointDefinitionList
 List of predefined Joints (needed to store for mapping).
std::vector
< SimplePhysicsEntity * > 
subEntityList
 List of all sub entities.
std::vector< oops::Joint * > jointList
 List of all available Joints.
PhysicsObjectID physicsObjectID
 ID of the PhysicsObject.

Friends

class LinkedPhysicsEntityType
class CreateLinkedPhysicsEntityEvent

Constructor & Destructor Documentation

LinkedPhysicsEntity::LinkedPhysicsEntity ( unsigned short  id,
unsigned short  environmentId,
unsigned short  instanceId,
EntityType type 
)

Constructor initializes Entity.

Parameters:
id ID of the Entity
environmentId ID of the Environment where the Entity is created
instanceId ID for the instance this Entity is from the EntityType
type EntityType this Entity is an instance of

LinkedPhysicsEntity::~LinkedPhysicsEntity (  )  [virtual]

Destructor removes Object from Physics Module.


Member Function Documentation

void LinkedPhysicsEntity::addJoint ( oops::Joint joint,
int  entityIdx1,
int  entityIdx2 
) [protected]

void LinkedPhysicsEntity::getJoints ( std::vector< oops::Joint * > &  jointList  )  [virtual]

Fills the passed list with all Joints it contains. It is mainly used by the PhysicsObjectManager to add the Joints to the simulation.

Parameters:
jointList List which is filled with contained Joints

Implements PhysicsEntity.

PhysicsObjectID LinkedPhysicsEntity::getPhysicsObjectID (  )  [virtual]

Adds the PhysicsObject to the passed simulation instance.

Parameters:
simulation oops::Simulation class instance
Returns:
true if the object could be added, false otherwise Removes the PhysicsObject from the passed simulation instance.
Parameters:
simulation oops::Simulation class instance
Returns:
true if the object could be removed, false otherwise Returns the ID of the PhysicsObject. The method has to return the unique PhysicsObjectID of the PhysicsObject. The programmer has to ensure that this PhysicsObjectID is set properly and that it is unique.

ID of the PhysicsObject

Implements PhysicsEntity.

void LinkedPhysicsEntity::getRigidBodies ( std::vector< oops::RigidBody * > &  rigidBodyList  )  [virtual]

Fills the passed list with all RigidBodies it contains. It is mainly used by the PhysicsObjectManager to add the RigidBodies to the simulation.

Parameters:
rigidBodyList List which is filled with contained RigidBodies

Implements PhysicsEntity.

void LinkedPhysicsEntity::initializeJoints (  )  [protected]

void LinkedPhysicsEntity::setEnvironment ( Environment env  )  [virtual]

Sets the Environment the Entity belongs to. It is called by the Environment-class and initially sets the pointer to the Environment the Entity is created in. The method is not intended to be used when the Environment is changed, therefore call the changeEnvironment method.

Parameters:
env Environment the Entity belongs to

Reimplemented from Entity.

void LinkedPhysicsEntity::setSubEntities ( std::vector< Entity * >  subEntityList  )  [protected]


Friends And Related Function Documentation

friend class CreateLinkedPhysicsEntityEvent [friend]

friend class LinkedPhysicsEntityType [friend]


Member Data Documentation

Indicating if Entity is added to physics simulation.

indicates that joints were already initialized

Indicating if the physical representation is already initialized.

List of predefined Joints (needed to store for mapping).

std::vector<oops::Joint*> LinkedPhysicsEntity::jointList [protected]

List of all available Joints.

unique class-ID used for PhysicsObjectID

ID of the PhysicsObject.

List of all sub entities.


The documentation for this class was generated from the following files:

Generated on Wed Oct 20 16:11:58 2010 for inVRs by doxygen 1.5.8