16 #ifndef SURGSIM_PHYSICS_FEM1DREPRESENTATION_H 17 #define SURGSIM_PHYSICS_FEM1DREPRESENTATION_H 22 #include "SurgSim/Framework/FrameworkConvert.h" 26 #include "SurgSim/Physics/Fem1D.h" 27 #include "SurgSim/Physics/FemRepresentation.h" 31 namespace DataStructures
33 struct IndexedLocalCoordinate;
49 SURGSIM_STATIC_REGISTRATION(Fem1DRepresentation);
66 void loadFem(
const std::string& fileName)
override;
71 void setFem(std::shared_ptr<SurgSim::Framework::Asset> mesh);
74 std::shared_ptr<Fem1D> getFem()
const;
76 void addExternalGeneralizedForce(std::shared_ptr<Localization> localization,
84 void transformState(std::shared_ptr<SurgSim::Math::OdeState> state,
87 bool doInitialize()
override;
93 std::shared_ptr<Localization> createNodeLocalization(
size_t nodeId);
98 std::shared_ptr<Localization> createElementLocalization(
102 std::shared_ptr<Fem1D> m_fem;
109 #endif // SURGSIM_PHYSICS_FEM1DREPRESENTATION_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 1D is a fem built with 1D FemElement.
Definition: Fem1DRepresentation.h:54
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