#include <PMLRigidBody.h>


Public Member Functions | |
| PMLRigidBody (StructuralComponent *body, GNode *parent) | |
| ~PMLRigidBody () | |
| string | isTypeOf () |
| bool | FusionBody (PMLBody *) |
| merge the body with current object | |
| Vector3 | getDOF (unsigned int index) |
| GNode * | getPointsNode () |
| MechanicalObject< RigidTypes > * | getRefDOF () |
Data Fields | |
| bool | bodyFixed |
| is the body totally fixed? | |
Private Member Functions | |
| void | createMechanicalState (StructuralComponent *body) |
| creation of the scene graph | |
| void | createTopology (StructuralComponent *body) |
| void | createMass (StructuralComponent *body) |
| void | createVisualModel (StructuralComponent *body) |
| void | createForceField () |
| void | createCollisionModel () |
| void | initMass (string m) |
| initialization of properties | |
| void | initInertiaMatrix (string m) |
| void | initPosition (string m) |
| void | initVelocity (string m) |
Private Attributes | |
| MechanicalObject< RigidTypes > * | refDOF |
| mechanical model containing the reference node (gravity center) | |
| BaseMapping * | mapping |
| mapping between refDof and mesh points | |
| GNode * | VisualNode |
| GNode containing the visual model. | |
| GNode * | CollisionNode |
| GNode containing the collision models. | |
| Vector3 | bary |
| barycenter coordinates of the solid | |
| std::vector< SReal > | massList |
| std::vector< SReal > | inertiaMatrix |
| Vector3 | transPos |
| Quat | rotPos |
| Vector3 | transVel |
| Vector3 | rotVel |
Definition at line 70 of file PMLRigidBody.h.
| sofa::filemanager::pml::PMLRigidBody::PMLRigidBody | ( | StructuralComponent * | body, | |
| GNode * | parent | |||
| ) |
Definition at line 69 of file PMLRigidBody.cpp.
References bodyFixed, sofa::filemanager::pml::PMLBody::collisionsON, createCollisionModel(), createMass(), createMechanicalState(), sofa::filemanager::pml::PMLBody::createSolver(), createVisualModel(), initInertiaMatrix(), initMass(), initPosition(), initVelocity(), sofa::filemanager::pml::PMLBody::name, sofa::filemanager::pml::PMLBody::parentNode, and sofa::filemanager::pml::PMLBody::solverName.
| sofa::filemanager::pml::PMLRigidBody::~PMLRigidBody | ( | ) |
Definition at line 96 of file PMLRigidBody.cpp.
References CollisionNode, mapping, sofa::filemanager::pml::PMLBody::mmodel, and VisualNode.
| void sofa::filemanager::pml::PMLRigidBody::createCollisionModel | ( | ) | [private, virtual] |
Implements sofa::filemanager::pml::PMLBody.
Definition at line 405 of file PMLRigidBody.cpp.
References sofa::simulation::tree::GNode::addObject(), sofa::filemanager::pml::PMLBody::collisionsON, sofa::component::collision::TriangleModel::init(), and VisualNode.
Referenced by PMLRigidBody().
| void sofa::filemanager::pml::PMLRigidBody::createForceField | ( | ) | [inline, private, virtual] |
| void sofa::filemanager::pml::PMLRigidBody::createMass | ( | StructuralComponent * | body | ) | [private, virtual] |
Implements sofa::filemanager::pml::PMLBody.
Definition at line 302 of file PMLRigidBody.cpp.
References sofa::simulation::tree::GNode::addObject(), bary, inertiaMatrix, sofa::filemanager::pml::PMLBody::mass, massList, sofa::filemanager::pml::PMLBody::name, and sofa::filemanager::pml::PMLBody::parentNode.
Referenced by PMLRigidBody().
| void sofa::filemanager::pml::PMLRigidBody::createMechanicalState | ( | StructuralComponent * | body | ) | [private, virtual] |
creation of the scene graph
Implements sofa::filemanager::pml::PMLBody.
Definition at line 200 of file PMLRigidBody.cpp.
References sofa::simulation::tree::GNode::addObject(), bary, sofa::filemanager::pml::PMLBody::parentNode, refDOF, rotPos, rotVel, transPos, and transVel.
Referenced by PMLRigidBody().
| void sofa::filemanager::pml::PMLRigidBody::createTopology | ( | StructuralComponent * | body | ) | [private, virtual] |
Implements sofa::filemanager::pml::PMLBody.
Definition at line 215 of file PMLRigidBody.cpp.
References sofa::filemanager::pml::PMLBody::AtomsToDOFsIndexes, and sofa::filemanager::pml::PMLBody::topology.
Referenced by createVisualModel().
| void sofa::filemanager::pml::PMLRigidBody::createVisualModel | ( | StructuralComponent * | body | ) | [private, virtual] |
Implements sofa::filemanager::pml::PMLBody.
Definition at line 262 of file PMLRigidBody.cpp.
References sofa::simulation::tree::GNode::addChild(), sofa::simulation::tree::GNode::addObject(), sofa::filemanager::pml::PMLBody::AtomsToDOFsIndexes, bary, createTopology(), sofa::component::visualmodel::VisualModelImpl::load(), mapping, sofa::filemanager::pml::PMLBody::mmodel, sofa::filemanager::pml::PMLBody::parentNode, refDOF, sofa::core::componentmodel::behavior::BaseMechanicalState::resize(), sofa::component::visualmodel::VisualModelImpl::setColor(), sofa::filemanager::pml::PMLBody::topology, and VisualNode.
Referenced by PMLRigidBody().
merge the body with current object
Implements sofa::filemanager::pml::PMLBody.
Definition at line 430 of file PMLRigidBody.cpp.
| Vector3 sofa::filemanager::pml::PMLRigidBody::getDOF | ( | unsigned int | index | ) | [virtual] |
Implements sofa::filemanager::pml::PMLBody.
Definition at line 194 of file PMLRigidBody.cpp.
References sofa::filemanager::pml::PMLBody::mmodel.
| GNode* sofa::filemanager::pml::PMLRigidBody::getPointsNode | ( | ) | [inline, virtual] |
Implements sofa::filemanager::pml::PMLBody.
Definition at line 85 of file PMLRigidBody.h.
References VisualNode.
| MechanicalObject<RigidTypes>* sofa::filemanager::pml::PMLRigidBody::getRefDOF | ( | ) | [inline] |
| void sofa::filemanager::pml::PMLRigidBody::initInertiaMatrix | ( | string | m | ) | [private] |
Definition at line 120 of file PMLRigidBody.cpp.
References inertiaMatrix.
Referenced by PMLRigidBody().
| void sofa::filemanager::pml::PMLRigidBody::initMass | ( | string | m | ) | [private] |
initialization of properties
Definition at line 105 of file PMLRigidBody.cpp.
References massList.
Referenced by PMLRigidBody().
| void sofa::filemanager::pml::PMLRigidBody::initPosition | ( | string | m | ) | [private] |
Definition at line 135 of file PMLRigidBody.cpp.
References rotPos, and transPos.
Referenced by PMLRigidBody().
| void sofa::filemanager::pml::PMLRigidBody::initVelocity | ( | string | m | ) | [private] |
Definition at line 168 of file PMLRigidBody.cpp.
References rotVel, and transVel.
Referenced by PMLRigidBody().
| string sofa::filemanager::pml::PMLRigidBody::isTypeOf | ( | ) | [inline, virtual] |
Vector3 sofa::filemanager::pml::PMLRigidBody::bary [private] |
barycenter coordinates of the solid
Definition at line 119 of file PMLRigidBody.h.
Referenced by createMass(), createMechanicalState(), and createVisualModel().
is the body totally fixed?
Definition at line 90 of file PMLRigidBody.h.
Referenced by PMLRigidBody().
GNode containing the collision models.
Definition at line 117 of file PMLRigidBody.h.
Referenced by ~PMLRigidBody().
std::vector<SReal> sofa::filemanager::pml::PMLRigidBody::inertiaMatrix [private] |
mapping between refDof and mesh points
Definition at line 113 of file PMLRigidBody.h.
Referenced by createVisualModel(), and ~PMLRigidBody().
std::vector<SReal> sofa::filemanager::pml::PMLRigidBody::massList [private] |
MechanicalObject<RigidTypes>* sofa::filemanager::pml::PMLRigidBody::refDOF [private] |
mechanical model containing the reference node (gravity center)
Definition at line 111 of file PMLRigidBody.h.
Referenced by createMechanicalState(), createVisualModel(), and getRefDOF().
Definition at line 127 of file PMLRigidBody.h.
Referenced by createMechanicalState(), and initPosition().
Vector3 sofa::filemanager::pml::PMLRigidBody::rotVel [private] |
Definition at line 131 of file PMLRigidBody.h.
Referenced by createMechanicalState(), and initVelocity().
Vector3 sofa::filemanager::pml::PMLRigidBody::transPos [private] |
Definition at line 126 of file PMLRigidBody.h.
Referenced by createMechanicalState(), and initPosition().
Vector3 sofa::filemanager::pml::PMLRigidBody::transVel [private] |
Definition at line 130 of file PMLRigidBody.h.
Referenced by createMechanicalState(), and initVelocity().
GNode containing the visual model.
Definition at line 115 of file PMLRigidBody.h.
Referenced by createCollisionModel(), createVisualModel(), getPointsNode(), and ~PMLRigidBody().
1.5.7.1