![]() |
Class for rotation vector constraint data between a rigid/fixed representation and Fem1d beam being controlled. More...
#include <SurgSim/Physics/RotationVectorConstraintData.h>
Public Member Functions | |
RotationVectorRigidFem1DConstraintData () | |
Default constructor. More... | |
virtual | ~RotationVectorRigidFem1DConstraintData () |
Destructor. More... | |
void | setRigidOrFixedRotation (std::shared_ptr< SurgSim::Physics::RigidRepresentationBase > rigid, const SurgSim::Math::Matrix33d &rigidRAtGrasp) |
Set the rigid/fixed object part that will control the fem1d. More... | |
void | setFem1DRotation (std::shared_ptr< SurgSim::Physics::Fem1DRepresentation > beams, size_t beamId) |
Set the fem1d object part. More... | |
SurgSim::Math::Vector3d | getCurrentRotationVector () const |
![]() | |
ConstraintData () | |
Default Constructor. More... | |
virtual | ~ConstraintData () |
Destructor. More... | |
Private Attributes | |
std::shared_ptr< SurgSim::Physics::RigidRepresentationBase > | m_rigid |
Rigid/Fixed representation. More... | |
SurgSim::Math::Matrix33d | m_rigidRAtGrasp |
Rigid/Fixed rotation information at the time of the constraint creation. More... | |
std::shared_ptr< SurgSim::Physics::Fem1DRepresentation > | m_beams |
Fem1D representation. More... | |
SurgSim::Math::Matrix33d | m_beamR0 |
The beam initial rotation and rotation at the time of the constraint creation. More... | |
SurgSim::Math::Matrix33d | m_beamRAtGrasp |
Class for rotation vector constraint data between a rigid/fixed representation and Fem1d beam being controlled.
It considers the Fem1D rotational dof (beamRotationVector) to be the only variable to account for. The equation to verify is \( R_{rigid} * RAtGrasp_{rigid}^{-1} = R_{beam} * RAtGrasp_{beam}^{-1} \) where \(R\) denotes the current prefixed object 3x3 rotation matrix \(RAtGrasp\) is the 3x3 rotation matrix of the prefixed object at the time of the constraint creation and \(R_{beam}\) is decomposed into the initial rotation \(R0_{beam}\) and the current rotation given by the rotational dof \(R_{rigid} * RAtGrasp_{rigid}^{-1} = R(beamRotationVector) * R0_{beam} * RAtGrasp_{beam}^{-1}\) \(R_{rigid} * RAtGrasp_{rigid}^{-1} * RAtGrasp_{beam} * R0_{beam}^{-1} = R(beamRotationVector)\) \(rotationVector(R_{rigid} * RAtGrasp_{rigid}^{-1} * RAtGrasp_{beam} * R0_{beam}^{-1}) = beamRotationVector\)
|
inline |
Default constructor.
|
inlinevirtual |
Destructor.
|
inline |
|
inline |
Set the fem1d object part.
beams | The Fem1DRepresentation to be controlled by the rigid/fixed representation orientation |
beamId | The beam id that is going to be controlled by the rigid/fixed representation orientation |
|
inline |
Set the rigid/fixed object part that will control the fem1d.
rigid | The rigid base representation (either a RigidRepresentation or FixedRepresentation) |
rigidRAtGrasp | The rigid rotation at the time of the constraint creation |
|
private |
The beam initial rotation and rotation at the time of the constraint creation.
|
private |
|
private |
Fem1D representation.
|
private |
Rigid/Fixed representation.
|
private |
Rigid/Fixed rotation information at the time of the constraint creation.