16 #ifndef SURGSIM_PHYSICS_REPRESENTATION_H 17 #define SURGSIM_PHYSICS_REPRESENTATION_H 29 namespace DataStructures
49 class ConstraintImplementation;
64 virtual void resetState();
68 size_t getNumDof()
const;
72 void setIsGravityEnabled(
bool isGravityEnabled);
76 bool isGravityEnabled()
const;
81 void setIsDrivingSceneElementPose(
bool isDrivingSceneElementPose);
86 bool isDrivingSceneElementPose();
91 virtual void beforeUpdate(
double dt);
95 virtual void update(
double dt);
100 virtual void afterUpdate(
double dt);
114 virtual void applyCorrection(
double dt,
const Eigen::VectorBlock<SurgSim::Math::Vector>& deltaVelocity);
117 std::shared_ptr<SurgSim::Collision::Representation> getCollisionRepresentation()
const;
122 virtual void setCollisionRepresentation(std::shared_ptr<SurgSim::Collision::Representation> representation);
134 void setNumDof(
size_t numDof);
168 std::shared_ptr<SurgSim::Framework::Logger>
m_logger;
175 #endif // SURGSIM_PHYSICS_REPRESENTATION_H Definition: CompoundShapeToGraphics.cpp:29
bool m_isGravityEnabled
Gravity enabled flag.
Definition: Representation.h:162
std::shared_ptr< SurgSim::Collision::Representation > m_collisionRepresentation
This entity's collision representation, these are usually very specific to the physics representation...
Definition: Representation.h:141
The Representation class defines the base class for all physics objects.
Definition: Representation.h:53
A Location defines a local position w.r.t.
Definition: Location.h:39
size_t m_numDof
Number of degrees of freedom for this representation.
Definition: Representation.h:159
bool m_isDrivingSceneElementPose
Is this representation driving the sceneElement pose.
Definition: Representation.h:165
Eigen::Transform< double, 3, Eigen::Isometry > RigidTransform3d
A 3D rigid (isometric) transform, represented as doubles.
Definition: RigidTransform.h:46
Definitions of small fixed-size vector types.
std::shared_ptr< SurgSim::Framework::Logger > m_logger
Logger for this class.
Definition: Representation.h:168
const SurgSim::Math::Vector3d m_gravity
Gravity vector.
Definition: Representation.h:156
Representations are manifestations of a SceneElement.
Definition: Representation.h:33
ConstraintType
Definition: ConstraintType.h:24
Eigen::Matrix< double, 3, 1 > Vector3d
A 3D vector of doubles.
Definition: Vector.h:57