16 #ifndef SURGSIM_PHYSICS_FEM2DREPRESENTATION_H 17 #define SURGSIM_PHYSICS_FEM2DREPRESENTATION_H 22 #include "SurgSim/Framework/FrameworkConvert.h" 26 #include "SurgSim/Physics/Fem2D.h" 27 #include "SurgSim/Physics/FemRepresentation.h" 31 namespace DataStructures
33 struct IndexedLocalCoordinate;
49 SURGSIM_STATIC_REGISTRATION(Fem2DRepresentation);
64 void loadFem(
const std::string& fileName)
override;
69 void setFem(std::shared_ptr<SurgSim::Framework::Asset> mesh);
72 std::shared_ptr<Fem2D> getFem()
const;
74 void addExternalGeneralizedForce(std::shared_ptr<Localization> localization,
82 void transformState(std::shared_ptr<SurgSim::Math::OdeState> state,
85 bool doInitialize()
override;
91 std::shared_ptr<Localization> createNodeLocalization(
size_t nodeId);
96 std::shared_ptr<Localization> createElementLocalization(
100 std::shared_ptr<Fem2D> m_fem;
107 #endif // SURGSIM_PHYSICS_FEM2DREPRESENTATION_H Wraps glewInit() to separate the glew opengl definitions from the osg opengl definitions only imgui n...
Definition: AddRandomSphereBehavior.cpp:36
A generic (size_t index, Vector coordinate) pair.
Definition: IndexedLocalCoordinate.h:29
Finite Element Model 2D is a fem built with 2D FemElement.
Definition: Fem2DRepresentation.h:52
Finite Element Model (a.k.a FEM) is a deformable model (a set of nodes connected by FemElement)...
Definition: FemRepresentation.h:46
A Location defines a local position w.r.t.
Definition: Location.h:39
Eigen::Matrix< double, Eigen::Dynamic, 1 > Vector
A dynamic size column vector.
Definition: Vector.h:68
Definitions of small fixed-size square matrix types.
Definitions of small fixed-size vector types.
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > Matrix
A dynamic size matrix.
Definition: Matrix.h:65