8 #ifndef META_OCEAN_DEVICES_DEVICE_PLAYER_H
9 #define META_OCEAN_DEVICES_DEVICE_PLAYER_H
47 static constexpr
float SPEED_USE_STOP_MOTION = 0.0f;
55 TR_DOES_NOT_EXIST = 0u,
79 virtual bool initialize(
const std::string& filename) = 0;
89 virtual bool start(
const float speed = 1.0f) = 0;
This class implements the abstract base class for all device players.
Definition: DevicePlayer.h:41
virtual TransformationResult transformation(const std::string &name, const Timestamp ×tamp, HomogenousMatrixD4 &matrix)=0
Returns a specific transformation which is expected to be part of the recording.
virtual Media::FrameMediumRefs frameMediums()
Returns all frame media objects which have been created based on the recording.
TransformationResult
Definition of individual transformation results.
Definition: DevicePlayer.h:53
@ TR_INTERPOLATED
The resulting transformation is valid but interpolated due to a not perfectly matching timestamp.
Definition: DevicePlayer.h:57
virtual ~DevicePlayer()
Destructs the device player.
virtual bool isStarted() const =0
Returns whether this player is currently started.
virtual Timestamp playNextFrame()=0
Plays the next frame of the recording, the player must be started with stop-motion mode ('SPEED_USE_S...
virtual bool isValid() const
Returns whether this player holds a valid recording.
DevicePlayer()=default
Creates a new device player.
virtual bool initialize(const std::string &filename)=0
Initializes the player with a recording.
virtual bool stop()=0
Stops the replay.
Lock lock_
The player's lock.
Definition: DevicePlayer.h:147
std::string filename_
The filename of the recording which is used.
Definition: DevicePlayer.h:144
virtual double duration() const =0
Returns the duration of the content when played with default speed.
virtual bool start(const float speed=1.0f)=0
Starts the replay.
This class implements a recursive lock object.
Definition: Lock.h:31
This class implements a timestamp.
Definition: Timestamp.h:36
std::shared_ptr< DevicePlayer > SharedDevicePlayer
Definition of a shared pointer holding a DevicePlayer object.
Definition: DevicePlayer.h:33
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15