sofa::component::container::ArticulatedHierarchyContainer::ArticulationCenter Class Reference

This class defines an articulation center. More...

#include <ArticulatedHierarchyContainer.h>

Inheritance diagram for sofa::component::container::ArticulatedHierarchyContainer::ArticulationCenter:

Inheritance graph
[legend]
Collaboration diagram for sofa::component::container::ArticulatedHierarchyContainer::ArticulationCenter:

Collaboration graph
[legend]

Data Structures

class  Articulation
 This class defines an articulation. More...

Public Member Functions

 ArticulationCenter ()
 This class contain a set of articulations.
 ~ArticulationCenter ()
Vector3 posOnChildGlobal (Quat localToGlobal)
Vector3 initTranslateChild (Quat objectRotation)
Vector3 translateChild (Quat object1Rotation, Quat object2Rotation)
Vector3 correctPosChild (Vector3 object1Pos, Quat object1Rot, Vector3 object2Pos, Quat object2Rot)
vector< Articulation * > getArticulations ()

Data Fields

Data< int > parentIndex
 All DOF's can be identified, in an univocal way, by an index this variable will store the index of the parentDOF of the articulation center.
Data< int > childIndex
 All DOF's can be identified, in an univocal way, by an index this variable will store the index of the childDOF of the articulation center.
Data< Vector3 > globalPosition
 Global position for the articulation center.
Data< Vector3 > posOnParent
 It stores the local position of the center articulation in relation to the global position of the parentDOF.
Data< Vector3 > posOnChild
 It stores the local position of the center articulation in relation to the global position of the childDOF.
Data< int > articulationProcess
 It tells if the articulations of the articulation center are processed one by one or globally: 0 - (default ) articulation are treated one by one, the axis of the second articulation is updated by the potential rotation of the first articulation potential problems could arise when rotation exceed 90° (known problem of euler angles) 1 - (Attach on Parent) the axis of the articulations are linked to the parent - rotations are treated by successive increases - 2 - (Attach on Child ) the axis of the articulations are linked to the child (estimate position from the previous time step) - rotations are treated by successive increases -.
vector< Articulation * > articulations
Quat OrientationArticulationCenter
Vector3 DisplacementArticulationCenter
Vector3 Disp_Rotation

Detailed Description

This class defines an articulation center.

This contains a set of articulations. An articulation center is always defined between two DOF's (ParentDOF and ChildDOF). It stores the local position of the center articulation in relation to this DOF's (posOnParent, posOnChild), theirs indices (parentIndex, childIndex) and the global position of the articulation center. The local positions and indices have to be provided at initialization. For the same articulation center can be defined several articulations. All the variables which are defined in this class can be modified once sofa is running.

Definition at line 66 of file ArticulatedHierarchyContainer.h.


Constructor & Destructor Documentation

sofa::component::container::ArticulatedHierarchyContainer::ArticulationCenter::ArticulationCenter (  ) 

This class contain a set of articulations.

See also:
Articulation
Parameters:
parentIndex. It stores the index of the parentDOF of the articulation center
childIndex. It stores the index of the childDOF of the articulation center
posOnParent. It stores the local position of the center articulation in relation to the global position of the parentDOF
posOnChild. It stores the local position of the center articulation in relation to the global position of the childDOF

Definition at line 49 of file ArticulatedHierarchyContainer.inl.

sofa::component::container::ArticulatedHierarchyContainer::ArticulationCenter::~ArticulationCenter (  )  [inline]

Definition at line 123 of file ArticulatedHierarchyContainer.h.


Member Function Documentation

Vector3 sofa::component::container::ArticulatedHierarchyContainer::ArticulationCenter::correctPosChild ( Vector3  object1Pos,
Quat  object1Rot,
Vector3  object2Pos,
Quat  object2Rot 
) [inline]

vector< ArticulatedHierarchyContainer::ArticulationCenter::Articulation * > sofa::component::container::ArticulatedHierarchyContainer::ArticulationCenter::getArticulations (  ) 

Definition at line 89 of file ArticulatedHierarchyContainer.inl.

References articulations.

Vector3 sofa::component::container::ArticulatedHierarchyContainer::ArticulationCenter::initTranslateChild ( Quat  objectRotation  )  [inline]

Vector3 sofa::component::container::ArticulatedHierarchyContainer::ArticulationCenter::posOnChildGlobal ( Quat  localToGlobal  )  [inline]

Vector3 sofa::component::container::ArticulatedHierarchyContainer::ArticulationCenter::translateChild ( Quat  object1Rotation,
Quat  object2Rotation 
) [inline]


Field Documentation

It tells if the articulations of the articulation center are processed one by one or globally: 0 - (default ) articulation are treated one by one, the axis of the second articulation is updated by the potential rotation of the first articulation potential problems could arise when rotation exceed 90° (known problem of euler angles) 1 - (Attach on Parent) the axis of the articulations are linked to the parent - rotations are treated by successive increases - 2 - (Attach on Child ) the axis of the articulations are linked to the child (estimate position from the previous time step) - rotations are treated by successive increases -.

Definition at line 156 of file ArticulatedHierarchyContainer.h.

All DOF's can be identified, in an univocal way, by an index this variable will store the index of the childDOF of the articulation center.

Definition at line 134 of file ArticulatedHierarchyContainer.h.

Referenced by sofa::component::container::ArticulatedHierarchyContainer::buildCenterArticulationsTree().

Definition at line 200 of file ArticulatedHierarchyContainer.h.

Definition at line 199 of file ArticulatedHierarchyContainer.h.

Global position for the articulation center.

It's not necessary to provide it at initialization. This will be computed in mapping using the global position of the parent DOF and the local position of the center articulation

Definition at line 140 of file ArticulatedHierarchyContainer.h.

Definition at line 198 of file ArticulatedHierarchyContainer.h.

All DOF's can be identified, in an univocal way, by an index this variable will store the index of the parentDOF of the articulation center.

Definition at line 123 of file ArticulatedHierarchyContainer.h.

Referenced by sofa::component::container::ArticulatedHierarchyContainer::buildCenterArticulationsTree().

It stores the local position of the center articulation in relation to the global position of the childDOF.

Definition at line 148 of file ArticulatedHierarchyContainer.h.

Referenced by sofa::component::container::ArticulatedHierarchyContainer::buildCenterArticulationsTree(), correctPosChild(), initTranslateChild(), posOnChildGlobal(), and translateChild().

It stores the local position of the center articulation in relation to the global position of the parentDOF.

Definition at line 144 of file ArticulatedHierarchyContainer.h.

Referenced by sofa::component::container::ArticulatedHierarchyContainer::buildCenterArticulationsTree(), correctPosChild(), and initTranslateChild().


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

Generated on Sun Nov 23 04:18:20 2008 for Sofa by  doxygen 1.5.7.1