#include <ArticulatedHierarchyContainer.h>


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 |
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.
| sofa::component::container::ArticulatedHierarchyContainer::ArticulationCenter::ArticulationCenter | ( | ) |
This class contain a set of articulations.
| 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.
| Vector3 sofa::component::container::ArticulatedHierarchyContainer::ArticulationCenter::correctPosChild | ( | Vector3 | object1Pos, | |
| Quat | object1Rot, | |||
| Vector3 | object2Pos, | |||
| Quat | object2Rot | |||
| ) | [inline] |
Definition at line 182 of file ArticulatedHierarchyContainer.h.
References sofa::core::objectmodel::Data< T >::getValue(), posOnChild, posOnParent, and sofa::helper::Quater< Real >::rotate().
| vector< ArticulatedHierarchyContainer::ArticulationCenter::Articulation * > sofa::component::container::ArticulatedHierarchyContainer::ArticulationCenter::getArticulations | ( | ) |
| Vector3 sofa::component::container::ArticulatedHierarchyContainer::ArticulationCenter::initTranslateChild | ( | Quat | objectRotation | ) | [inline] |
Definition at line 167 of file ArticulatedHierarchyContainer.h.
References sofa::core::objectmodel::Data< T >::getValue(), posOnChild, posOnParent, and sofa::helper::Quater< Real >::rotate().
| Vector3 sofa::component::container::ArticulatedHierarchyContainer::ArticulationCenter::posOnChildGlobal | ( | Quat | localToGlobal | ) | [inline] |
Definition at line 161 of file ArticulatedHierarchyContainer.h.
References sofa::core::objectmodel::Data< T >::getValue(), posOnChild, and sofa::helper::Quater< Real >::rotate().
| Vector3 sofa::component::container::ArticulatedHierarchyContainer::ArticulationCenter::translateChild | ( | Quat | object1Rotation, | |
| Quat | object2Rotation | |||
| ) | [inline] |
Definition at line 174 of file ArticulatedHierarchyContainer.h.
References sofa::core::objectmodel::Data< T >::getValue(), posOnChild, and sofa::helper::Quater< Real >::rotate().
| Data<int> sofa::component::container::ArticulatedHierarchyContainer::ArticulationCenter::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 -.
Definition at line 156 of file ArticulatedHierarchyContainer.h.
| vector<Articulation*> sofa::component::container::ArticulatedHierarchyContainer::ArticulationCenter::articulations |
Definition at line 159 of file ArticulatedHierarchyContainer.h.
Referenced by sofa::component::container::ArticulatedHierarchyContainer::buildCenterArticulationsTree(), and getArticulations().
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().
| Vector3 sofa::component::container::ArticulatedHierarchyContainer::ArticulationCenter::Disp_Rotation |
Definition at line 200 of file ArticulatedHierarchyContainer.h.
Definition at line 199 of file ArticulatedHierarchyContainer.h.
| Data<Vector3> sofa::component::container::ArticulatedHierarchyContainer::ArticulationCenter::globalPosition |
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.
| Quat sofa::component::container::ArticulatedHierarchyContainer::ArticulationCenter::OrientationArticulationCenter |
Definition at line 198 of file ArticulatedHierarchyContainer.h.
| Data<int> sofa::component::container::ArticulatedHierarchyContainer::ArticulationCenter::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.
Definition at line 123 of file ArticulatedHierarchyContainer.h.
Referenced by sofa::component::container::ArticulatedHierarchyContainer::buildCenterArticulationsTree().
| Data<Vector3> sofa::component::container::ArticulatedHierarchyContainer::ArticulationCenter::posOnChild |
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().
| Data<Vector3> sofa::component::container::ArticulatedHierarchyContainer::ArticulationCenter::posOnParent |
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().
1.5.7.1