16 #ifndef SURGSIM_DEVICES_DEVICEFILTERS_POSEINTEGRATOR_H 17 #define SURGSIM_DEVICES_DEVICEFILTERS_POSEINTEGRATOR_H 32 namespace DataStructures
34 class DataGroupCopier;
58 const PoseType& integrate(
const PoseType& pose);
60 virtual bool initialize()
override;
62 virtual bool finalize()
override;
64 virtual void initializeInput(
const std::string& device,
95 std::shared_ptr<SurgSim::DataStructures::DataGroupCopier>
m_copier;
113 #endif // SURGSIM_DEVICES_DEVICEFILTERS_POSEINTEGRATOR_H Definition: DriveElementFromInputBehavior.cpp:27
PoseType m_poseResult
The result of integrating the input poses.
Definition: PoseIntegrator.h:86
A device filter that integrates the pose, turning a relative device into an absolute one...
Definition: PoseIntegrator.h:44
std::shared_ptr< SurgSim::DataStructures::DataGroupCopier > m_copier
A copier into the input DataGroup, if needed.
Definition: PoseIntegrator.h:95
std::string m_resetName
The name of the reset boolean (if any).
Definition: PoseIntegrator.h:98
Timer class, measures execution times.
Definition: Timer.h:29
int m_angularVelocityIndex
Definition: PoseIntegrator.h:104
string(TOUPPER ${DEVICE}DEVICE_UPPER_CASE) option(BUILD_DEVICE_ $
Definition: CMakeLists.txt:35
int m_resetIndex
Definition: PoseIntegrator.h:105
A collection of NamedData objects.
Definition: DataGroup.h:66
SurgSim::Framework::Timer m_timer
A timer for the update rate needed for calculating velocity.
Definition: PoseIntegrator.h:89
Eigen::Transform< double, 3, Eigen::Isometry > RigidTransform3d
A 3D rigid (isometric) transform, represented as doubles.
Definition: RigidTransform.h:46
bool m_firstInput
true if the input DataGroup should be created.
Definition: PoseIntegrator.h:92
int m_poseIndex
Definition: PoseIntegrator.h:102
SurgSim::Math::RigidTransform3d PoseType
The type used for poses.
Definition: PoseIntegrator.h:49
int m_linearVelocityIndex
Definition: PoseIntegrator.h:103