16 #ifndef SURGSIM_BLOCKS_POSEINTERPOLATOR_H
17 #define SURGSIM_BLOCKS_POSEINTERPOLATOR_H
60 void setTarget(std::shared_ptr<SurgSim::Framework::SceneElement> target);
86 virtual void update(
double dt)
override;
100 std::shared_ptr<SurgSim::Framework::SceneElement>
m_target;
Definition: DriveElementFromInputBehavior.cpp:27
bool m_loop
Whether to loop.
Definition: PoseInterpolator.h:112
void setPingPong(bool val)
Sets the interpolation to ping pong back and forth between the starting and ending poses...
Definition: PoseInterpolator.cpp:134
virtual bool doInitialize() override
Overridden from Component.
Definition: PoseInterpolator.cpp:75
virtual void update(double dt) override
Overridden from Behavior.
Definition: PoseInterpolator.cpp:95
bool isPingPong() const
Definition: PoseInterpolator.cpp:143
void setStartingPose(const SurgSim::Math::RigidTransform3d &transform)
Set the starting pose.
Definition: PoseInterpolator.cpp:38
SurgSim::DataStructures::OptionalValue< SurgSim::Math::RigidTransform3d > m_optionalStartPose
Optional value to take the from rigid transform.
Definition: PoseInterpolator.h:91
double getDuration() const
Get the duration.
Definition: PoseInterpolator.cpp:70
void setDuration(double t)
Set the duration of the interpolation.
Definition: PoseInterpolator.cpp:62
SurgSim::Math::RigidTransform3d m_startingPose
Target of the interpolation.
Definition: PoseInterpolator.h:94
void setTarget(std::shared_ptr< SurgSim::Framework::SceneElement > target)
Set the target of the interpolation, this is where the interpolated transform will be applied to...
Definition: PoseInterpolator.cpp:54
bool m_pingpong
Whether to pingpong.
Definition: PoseInterpolator.h:109
std::shared_ptr< SurgSim::Framework::SceneElement > m_target
Target for the interpolated RigidTransform.
Definition: PoseInterpolator.h:100
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:97
PoseInterpolator(const std::string &name)
Constructor.
Definition: PoseInterpolator.cpp:28
virtual bool doWakeUp() override
Overridden from Component.
Definition: PoseInterpolator.cpp:80
Behaviors perform actions.
Definition: Behavior.h:40
void setEndingPose(const SurgSim::Math::RigidTransform3d &transform)
Set the end pose.
Definition: PoseInterpolator.cpp:46
void setLoop(bool val)
Sets the interpolation to looping, pingpong and loop cannot be used together.
Definition: PoseInterpolator.cpp:120
Perform linear interpolation on two poses.
Definition: PoseInterpolator.h:39
double m_duration
Duration of the interpolation.
Definition: PoseInterpolator.h:103
double m_currentTime
How far through the interpolation we are.
Definition: PoseInterpolator.h:106
bool isLoop() const
Definition: PoseInterpolator.cpp:129