8 #ifndef META_OCEAN_DEVICES_MAPBUILDING_ON_DEVICE_MAP_CREATOR_TRACKER_6DOF_H
9 #define META_OCEAN_DEVICES_MAPBUILDING_ON_DEVICE_MAP_CREATOR_TRACKER_6DOF_H
78 bool exportSceneElements(
const std::string& format, std::ostream& outputStream,
const std::string& options = std::string())
const override;
84 static inline std::string deviceNameOnDeviceMapCreatorTracker6DOF();
90 static inline DeviceType deviceTypeOnDeviceMapCreatorTracker6DOF();
123 bool isMapTracked_ =
false;
152 return std::string(
"On-Device Map Creator 6DOF Tracker");
Definition of a class holding the major and minor device type.
Definition: devices/Device.h:62
This class implements a base class for all devices of the MapBuilding library.
Definition: MapBuildingDevice.h:29
This class implements a device factory for the MapBuilding feature-based tracking system.
Definition: MapBuildingFactory.h:29
This class implements an On-Device map creator.
Definition: OnDeviceMapCreatorTracker6DOF.h:43
SharedAnyCamera lastAnyCamera_
The camera profile from the tracker's last execution.
Definition: OnDeviceMapCreatorTracker6DOF.h:132
bool isStarted() const override
Returns whether this device is active.
bool stop() override
Stops the device.
bool start() override
Starts the device.
SampleEventSubscription worldTrackerSampleSubscription_
The subscription for world tracker sample events.
Definition: OnDeviceMapCreatorTracker6DOF.h:129
Lock pointLock_
The lock for the recent points.
Definition: OnDeviceMapCreatorTracker6DOF.h:147
OnDeviceMapCreatorTracker6DOF()
Creates a new 6DOF tracker object.
~OnDeviceMapCreatorTracker6DOF() override
Destructs a 6DOF tracker object.
Indices64 recentObjectPointIds_
The recent object point ids of the current state of the created map.
Definition: OnDeviceMapCreatorTracker6DOF.h:144
Devices::Tracker6DOFRef worldTracker_
The world tracker to be used.
Definition: OnDeviceMapCreatorTracker6DOF.h:126
bool isObjectTracked(const ObjectId &objectId) const override
Returns whether a specific object is currently actively tracked by this tracker.
std::shared_ptr< Tracking::MapBuilding::UnifiedDescriptorMap > lastUnifiedDescriptorMap_
The descriptor map form the tracker's last execution.
Definition: OnDeviceMapCreatorTracker6DOF.h:138
void threadRun() override
Thread function.
Tracking::Database lastDatabase_
The tracking database from the tracker's last execution.
Definition: OnDeviceMapCreatorTracker6DOF.h:135
static std::string deviceNameOnDeviceMapCreatorTracker6DOF()
Returns the name of this tracker.
Definition: OnDeviceMapCreatorTracker6DOF.h:150
void onWorldTrackerSample(const Measurement *measurement, const SampleRef &sample)
Event function for new tracking samples from the world tracker.
Vectors3 recentObjectPoints_
The recent 3D object points of the current state of the created map.
Definition: OnDeviceMapCreatorTracker6DOF.h:141
bool exportSceneElements(const std::string &format, std::ostream &outputStream, const std::string &options=std::string()) const override
Exports the determined scene elements.
static DeviceType deviceTypeOnDeviceMapCreatorTracker6DOF()
Returns the type of this tracker.
Definition: OnDeviceMapCreatorTracker6DOF.h:155
This class manages the lifetime of an event subscription for sample events.
Definition: Measurement.h:154
This class implements the base class for all devices providing measurement samples.
Definition: Measurement.h:40
unsigned int ObjectId
Definition of an object id.
Definition: Measurement.h:46
This class implements the base for all 6-DOF scene trackers.
Definition: SceneTracker6DOF.h:42
static DeviceType deviceTypeTracker6DOF()
Definition of this device type.
Definition: Tracker6DOF.h:100
@ TRACKER_VISUAL
Tracker using a visual input for their measurements.
Definition: devices/Tracker.h:62
@ SCENE_TRACKER_6DOF
6DOF scene tracker.
Definition: devices/Tracker.h:56
This class is the base class for all tracker using visual input to create the tracking results.
Definition: devices/VisualTracker.h:41
This class implements a recursive lock object.
Definition: Lock.h:31
This template class implements a object reference with an internal reference counter.
Definition: base/ObjectRef.h:58
This class implements a thread.
Definition: Thread.h:115
This class implements a database for 3D object points, 2D image points and 6DOF camera poses.
Definition: Database.h:67
std::vector< Index64 > Indices64
Definition of a vector holding 64 bit index values.
Definition: Base.h:108
std::shared_ptr< AnyCamera > SharedAnyCamera
Definition of a shared pointer holding an AnyCamera object with Scalar precision.
Definition: AnyCamera.h:60
std::vector< Vector3 > Vectors3
Definition of a vector holding Vector3 objects.
Definition: Vector3.h:65
const ObjectId invalidObjectId
Definition of an invalid object id.
Definition: rendering/Rendering.h:65
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15