16 #ifndef SURGSIM_BLOCKS_POSEINTERPOLATOR_H 17 #define SURGSIM_BLOCKS_POSEINTERPOLATOR_H 62 void setTarget(std::shared_ptr<SurgSim::Framework::SceneElement> target);
66 void setDuration(
double t);
70 double getDuration()
const;
74 void setLoop(
bool val);
82 void setPingPong(
bool val);
85 bool isPingPong()
const;
87 void update(
double dt)
override;
101 std::shared_ptr<SurgSim::Framework::SceneElement>
m_target;
115 bool doWakeUp()
override;
117 bool doInitialize()
override;
119 void doRetire()
override;
Definition: CompoundShapeToGraphics.cpp:29
bool m_loop
Whether to loop.
Definition: PoseInterpolator.h:113
SurgSim::DataStructures::OptionalValue< SurgSim::Math::RigidTransform3d > m_optionalStartPose
Optional value to take the from rigid transform.
Definition: PoseInterpolator.h:92
SurgSim::Math::RigidTransform3d m_startingPose
Target of the interpolation.
Definition: PoseInterpolator.h:95
bool m_pingpong
Whether to pingpong.
Definition: PoseInterpolator.h:110
std::shared_ptr< SurgSim::Framework::SceneElement > m_target
Target for the interpolated RigidTransform.
Definition: PoseInterpolator.h:101
Eigen::Transform< double, 3, Eigen::Isometry > RigidTransform3d
A 3D rigid (isometric) transform, represented as doubles.
Definition: RigidTransform.h:46
SurgSim::Math::RigidTransform3d m_endingPose
Start of the interpolation.
Definition: PoseInterpolator.h:98
Behaviors perform actions.
Definition: Behavior.h:40
Perform linear interpolation on two poses.
Definition: PoseInterpolator.h:41
double m_duration
Duration of the interpolation.
Definition: PoseInterpolator.h:104
double m_currentTime
How far through the interpolation we are.
Definition: PoseInterpolator.h:107