opensurgsim
Public Member Functions | List of all members
SurgSim::Physics::Fem3DLocalization Class Reference

Implementation of Localization for Fem3DRepresentation. More...

#include <Fem3DLocalization.h>

Inheritance diagram for SurgSim::Physics::Fem3DLocalization:
SurgSim::Physics::FemLocalization SurgSim::Physics::Localization

Public Member Functions

 Fem3DLocalization (std::shared_ptr< Representation > representation, const SurgSim::DataStructures::IndexedLocalCoordinate &localPosition)
 Constructor. More...
 
virtual ~Fem3DLocalization ()
 Destructor.
 
bool isValidRepresentation (std::shared_ptr< Representation > representation) override
 Query if 'representation' is valid representation. More...
 
std::shared_ptr< LocalizationdoCopy () const override
 
- Public Member Functions inherited from SurgSim::Physics::FemLocalization
 FemLocalization (std::shared_ptr< Representation > representation, const SurgSim::DataStructures::IndexedLocalCoordinate &localPosition)
 Constructor. More...
 
virtual ~FemLocalization ()
 Destructor.
 
void setLocalPosition (const SurgSim::DataStructures::IndexedLocalCoordinate &localPosition)
 Sets the local position. More...
 
const SurgSim::DataStructures::IndexedLocalCoordinategetLocalPosition () const
 Gets the local position. More...
 
- Public Member Functions inherited from SurgSim::Physics::Localization
 Localization ()
 Default constructor.
 
 Localization (std::shared_ptr< Representation > representation)
 Constructor. More...
 
virtual ~Localization ()
 Destructor.
 
void setRepresentation (std::shared_ptr< Representation > representation)
 Sets the representation. More...
 
std::shared_ptr< RepresentationgetRepresentation () const
 Gets the representation. More...
 
SurgSim::Math::Vector3d calculatePosition (double time=1.0) const
 Calculates the global position of this localization. More...
 
SurgSim::Math::Vector3d calculateVelocity (double time=1.0) const
 Calculates the global velocity of this localization. More...
 
virtual Math::RigidTransform3d getElementPose ()
 Find a pose that the localization is represented with respect to. More...
 
virtual bool moveClosestTo (const Math::Vector3d &point, bool *hasReachedEnd)
 
std::shared_ptr< Localizationcopy () const
 

Detailed Description

Implementation of Localization for Fem3DRepresentation.

Fem3DLocalization tracks the global coordinates of an IndexedLocalCoordinate associated with an Fem3DRepresentation. The IndexedLocalCoordinate must be related to an FemElement (the index is an FemElement id and the local coordinates are the barycentric coordinates of the nodes in this FemElement). It is used, for example, as a helper class for filling out the MlcpPhysicsProblem in Fem3DRepresentationContact::doBuild, which constrains the motion of Fem3DRepresentation at a frictionless contact.

Constructor & Destructor Documentation

§ Fem3DLocalization()

SurgSim::Physics::Fem3DLocalization::Fem3DLocalization ( std::shared_ptr< Representation representation,
const SurgSim::DataStructures::IndexedLocalCoordinate localPosition 
)

Constructor.

Parameters
representationThe representation to assign to this localization.
localPositionThe local position to set the localization at.

Member Function Documentation

§ doCopy()

std::shared_ptr< Localization > SurgSim::Physics::Fem3DLocalization::doCopy ( ) const
overridevirtual
Returns
A copy.

Implements SurgSim::Physics::Localization.

§ isValidRepresentation()

bool SurgSim::Physics::Fem3DLocalization::isValidRepresentation ( std::shared_ptr< Representation representation)
overridevirtual

Query if 'representation' is valid representation.

Parameters
representationThe representation.
Returns
true if valid representation, false if not.

Reimplemented from SurgSim::Physics::Localization.


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