SurgSim::Physics::RotationVectorRigidFem1DConstraintData Class Reference

Class for rotation vector constraint data between a rigid/fixed representation and Fem1d beam being controlled. More...

`#include <SurgSim/Physics/RotationVectorConstraintData.h>`

Inheritance diagram for SurgSim::Physics::RotationVectorRigidFem1DConstraintData:

## 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
Public Member Functions inherited from SurgSim::Physics::ConstraintData
| 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

## Detailed Description

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\)

## Constructor & Destructor Documentation

## RotationVectorRigidFem1DConstraintData()

SurgSim::Physics::RotationVectorRigidFem1DConstraintData::RotationVectorRigidFem1DConstraintData | ( |  | ) |

inline

Default constructor.

## ~RotationVectorRigidFem1DConstraintData()

virtual SurgSim::Physics::RotationVectorRigidFem1DConstraintData::~RotationVectorRigidFem1DConstraintData | ( |  | ) |

inline virtual

Destructor.

## Member Function Documentation

## getCurrentRotationVector()

SurgSim::Math::Vector3d SurgSim::Physics::RotationVectorRigidFem1DConstraintData::getCurrentRotationVector | ( |  | ) | const

inline

Returns
  The current rotation vector that should correspond to the beam rotation vector i.e. \( rotationVector(R_{rigid} * RAtGrasp_{rigid}^{-1} * RAtGrasp_{beam} * R0_{beam}^{-1}) \)

## setFem1DRotation()

void SurgSim::Physics::RotationVectorRigidFem1DConstraintData::setFem1DRotation | ( | std::shared_ptr< SurgSim::Physics::Fem1DRepresentation > | beams,
|  | size_t | beamId
| ) |  |

inline

Set the fem1d object part.

Parameters

  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

## setRigidOrFixedRotation()

void SurgSim::Physics::RotationVectorRigidFem1DConstraintData::setRigidOrFixedRotation | ( | std::shared_ptr< SurgSim::Physics::RigidRepresentationBase > | rigid,
|  | const SurgSim::Math::Matrix33d & | rigidRAtGrasp
| ) |  |

inline

Set the rigid/fixed object part that will control the fem1d.

Parameters

  rigid | The rigid base representation (either a RigidRepresentation or FixedRepresentation)
  rigidRAtGrasp | The rigid rotation at the time of the constraint creation

## Member Data Documentation

## m_beamR0

SurgSim::Math::Matrix33d SurgSim::Physics::RotationVectorRigidFem1DConstraintData::m_beamR0

private

The beam initial rotation and rotation at the time of the constraint creation.

## m_beamRAtGrasp

SurgSim::Math::Matrix33d SurgSim::Physics::RotationVectorRigidFem1DConstraintData::m_beamRAtGrasp

private

## m_beams

std::shared_ptr<SurgSim::Physics::Fem1DRepresentation> SurgSim::Physics::RotationVectorRigidFem1DConstraintData::m_beams

private

Fem1D representation.

## m_rigid

std::shared_ptr<SurgSim::Physics::RigidRepresentationBase> SurgSim::Physics::RotationVectorRigidFem1DConstraintData::m_rigid

private

Rigid/Fixed representation.

## m_rigidRAtGrasp

SurgSim::Math::Matrix33d SurgSim::Physics::RotationVectorRigidFem1DConstraintData::m_rigidRAtGrasp

private

Rigid/Fixed rotation information at the time of the constraint creation.

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

- SurgSim/Physics/RotationVectorConstraintData.h