8 #ifndef META_OCEAN_DEVICES_SCENE_TRACKER_6DOF_H
9 #define META_OCEAN_DEVICES_SCENE_TRACKER_6DOF_H
27 class SceneTracker6DOF;
119 inline const Vectors3& objectPoints()
const;
125 inline const Indices64& objectPointIds()
const;
155 inline const Vectors3& objectPoints()
const;
161 inline const Vectors2& imagePoints()
const;
167 inline const Indices64& objectPointIds()
const;
239 inline Index32 planeId()
const;
245 inline PlaneType planeType()
const;
258 inline Plane3 worldPlane()
const;
264 inline const Box3& boundingBox()
const;
270 inline const Vectors3& vertices()
const;
276 inline const Vectors2& textureCoordinates()
const;
282 inline const Indices32& triangleIndices()
const;
288 inline const Vectors3& boundaryVertices()
const;
334 inline const Planes& planes()
const;
408 inline const Vectors3& vertices()
const;
414 inline const Vectors3& perVertexNormals()
const;
420 inline const Indices32& triangleIndices()
const;
506 inline std::shared_ptr<Frame> depth(std::shared_ptr<Frame>* confidence =
nullptr)
const;
568 inline ObjectType objectType()
const;
574 inline const std::string& identifier()
const;
580 inline float confidence()
const;
598 inline const Vector3& dimension()
const;
623 float confidence_ = 0.0f;
676 inline PlanarType planarType()
const;
961 virtual bool exportSceneElements(
const std::string& format, std::ostream& outputStream,
const std::string& options = std::string())
const;
966 static inline DeviceType deviceTypeSceneTracker6DOF();
983 sceneElementType_(sceneElementType)
990 return sceneElementType_;
995 objectPoints_(std::move(objectPoints)),
996 objectPointIds_(std::move(objectPointIds))
1004 ocean_assert(sceneElementType_ == SET_FEATURE_CORRESPONDENCES || sceneElementType_ == SET_OBJECT_POINTS);
1005 return objectPoints_;
1010 return objectPointIds_;
1015 objectPoints_(std::move(objectPoints)),
1016 imagePoints_(std::move(imagePoints)),
1017 objectPointIds_(std::move(objectPointIds))
1027 ocean_assert(sceneElementType_ == SET_FEATURE_CORRESPONDENCES || sceneElementType_ == SET_OBJECT_POINTS);
1028 return objectPoints_;
1033 ocean_assert(sceneElementType_ == SET_FEATURE_CORRESPONDENCES);
1034 return imagePoints_;
1039 return objectPointIds_;
1044 planeType_(planeType),
1045 world_T_plane_(world_T_plane),
1046 boundingBox_(std::move(boundingBox)),
1047 boundaryVertices_(std::move(boundaryVertices))
1055 planeType_(planeType),
1056 world_T_plane_(world_T_plane),
1057 boundingBox_(std::move(boundingBox)),
1058 vertices_(std::move(vertices)),
1059 textureCoordinates_(std::move(textureCoordinates)),
1060 triangleIndices_(std::move(triangleIndices)),
1061 boundaryVertices_(std::move(boundaryVertices))
1081 ocean_assert(world_T_plane_.isValid());
1082 return world_T_plane_;
1087 ocean_assert(world_T_plane_.isValid());
1089 ocean_assert(world_T_plane_.yAxis().isUnit());
1090 return Plane3(world_T_plane_.translation(), world_T_plane_.yAxis());
1095 ocean_assert(boundingBox_.isValid());
1096 return boundingBox_;
1106 return textureCoordinates_;
1111 return triangleIndices_;
1116 return boundaryVertices_;
1123 ocean_assert(!
planes_.empty());
1133 world_T_mesh_(world_T_mesh),
1134 vertices_(std::move(vertices)),
1135 perVertexNormals_(std::move(perVertexNormals)),
1136 triangleIndices_(std::move(triangleIndices))
1149 return world_T_mesh_;
1159 return perVertexNormals_;
1164 return triangleIndices_;
1171 ocean_assert(!
meshes_.empty());
1180 objectType_(objectType),
1181 identifier_(std::move(identifier)),
1182 confidence_(confidence),
1183 world_T_object_(world_T_object),
1184 dimension_(dimension)
1209 return world_T_object_;
1214 ocean_assert(world_T_object.
isValid());
1215 world_T_object_ = world_T_object;
1224 RoomObject(OT_PLANAR, std::move(identifier), confidence, world_T_object, dimension),
1225 planarType_(planarType)
1236 RoomObject(OT_VOLUMETRIC, std::move(identifier), confidence, world_T_object, dimension),
1237 volumetricType_(volumetricType)
1244 return volumetricType_;
1260 return roomObjectMap_;
1265 return addedRoomObjects_;
1270 return removedRoomObjects_;
1275 return changedRoomObjects_;
1280 return updatedRoomObjects_;
1285 camera_(std::move(camera)),
1286 device_T_depth_(device_T_depth),
1287 depth_(std::move(depth)),
1288 confidence_(std::move(confidence))
1295 ocean_assert(camera_);
1301 ocean_assert(device_T_depth_.isValid());
1302 return device_T_depth_;
1307 if (confidence !=
nullptr)
1309 *confidence = confidence_;
1312 ocean_assert(depth_);
1318 return sceneElements_;
bool isValid() const
Returns whether the bounding box is valid.
Definition of a class holding the major and minor device type.
Definition: devices/Device.h:62
@ DEVICE_TRACKER
Tracker device.
Definition: devices/Device.h:46
std::unordered_map< std::string, Value > Metadata
Definition of an unordered map mapping keys to values.
Definition: Measurement.h:61
std::vector< ObjectId > ObjectIds
Definition of a vector holding object ids.
Definition: Measurement.h:51
std::vector< Quaternion > Orientations
Definition of a vector holding orientation values.
Definition: OrientationTracker3DOF.h:51
std::vector< Vector3 > Positions
Definition of a vector holding position values.
Definition: PositionTracker3DOF.h:50
This class implements a scene element holding depth information.
Definition: SceneTracker6DOF.h:477
SharedAnyCamera camera() const
Returns the camera profile of the depth image.
Definition: SceneTracker6DOF.h:1293
SceneElementDepth(SharedAnyCamera camera, const HomogenousMatrix4 &device_T_depth, std::shared_ptr< Frame > depth, std::shared_ptr< Frame > confidence=nullptr)
Creates a new scene element object with depth information.
Definition: SceneTracker6DOF.h:1283
SharedAnyCamera camera_
The camera profile defining the projection of the depth image.
Definition: SceneTracker6DOF.h:511
HomogenousMatrix4 device_T_depth_
The transformation between depth image and the device.
Definition: SceneTracker6DOF.h:514
const HomogenousMatrix4 & device_T_depth() const
Returns the transformation between depth image and the device.
Definition: SceneTracker6DOF.h:1299
std::shared_ptr< Frame > depth_
The scene element's depth image.
Definition: SceneTracker6DOF.h:517
std::shared_ptr< Frame > depth(std::shared_ptr< Frame > *confidence=nullptr) const
Returns the depth image.
Definition: SceneTracker6DOF.h:1305
std::shared_ptr< Frame > confidence_
The scene element's confidence map, one entry for each pixel in the depth image, if known.
Definition: SceneTracker6DOF.h:520
This class implements a scene element holding 2D/3D feature correspondences.
Definition: SceneTracker6DOF.h:140
SceneElementFeatureCorrespondences(Vectors3 &&objectPoints, Vectors2 &&imagePoints, Indices64 &&objectPointIds=Indices64())
Creates a new scene element for 2D/3D correspondences.
Definition: SceneTracker6DOF.h:1013
Vectors3 objectPoints_
The 3D object points of this scene element.
Definition: SceneTracker6DOF.h:172
const Vectors2 & imagePoints() const
Returns the 2D image points of this scene element.
Definition: SceneTracker6DOF.h:1031
Vectors2 imagePoints_
The 2D image points of this scene element, one for each 3D object point.
Definition: SceneTracker6DOF.h:175
Indices64 objectPointIds_
The unique ids of the 3D object points, if known.
Definition: SceneTracker6DOF.h:178
const Indices64 & objectPointIds() const
Returns the unique object point ids.
Definition: SceneTracker6DOF.h:1037
const Vectors3 & objectPoints() const
Returns the 3D object points of this scene element.
Definition: SceneTracker6DOF.h:1025
This class implements the base class of all scene elements.
Definition: SceneTracker6DOF.h:49
SceneElementType
Definition of individual types of scene elements.
Definition: SceneTracker6DOF.h:56
@ SET_ROOM
The scene element contains room objects.
Definition: SceneTracker6DOF.h:70
@ SET_DEPTH
The scene element contains depth information.
Definition: SceneTracker6DOF.h:68
@ SET_PLANES
The scene element contains 3D planes.
Definition: SceneTracker6DOF.h:64
@ SET_OBJECT_POINTS
The scene element contains 3D object points.
Definition: SceneTracker6DOF.h:60
@ SET_MESHES
The scene element contains 3D meshes.
Definition: SceneTracker6DOF.h:66
@ SET_FEATURE_CORRESPONDENCES
The scene element contains 2D/3D correspondences.
Definition: SceneTracker6DOF.h:62
virtual ~SceneElement()=default
Destructs a scene element.
SceneElementType sceneElementType() const
Returns the type of this scene element.
Definition: SceneTracker6DOF.h:988
SceneElement(const SceneElementType sceneElementType)
Creates a default scene element with specified type.
Definition: SceneTracker6DOF.h:982
This class stores the relevant information of a 3D mesh.
Definition: SceneTracker6DOF.h:354
const Indices32 & triangleIndices() const
Returns the indices of the vertices representing the mesh's surface triangles, three indices define o...
Definition: SceneTracker6DOF.h:1162
MeshType
Definition of individual mesh types.
Definition: SceneTracker6DOF.h:361
@ MT_TABLE
The mesh is representing a table.
Definition: SceneTracker6DOF.h:373
@ MT_DOOR
The mesh is representing a door.
Definition: SceneTracker6DOF.h:367
@ MT_CEILING
The mesh is representing a ceiling.
Definition: SceneTracker6DOF.h:365
@ MT_WALL
The mesh is representing a wall.
Definition: SceneTracker6DOF.h:375
@ MT_FLOOR
The mesh is representing a floor.
Definition: SceneTracker6DOF.h:369
@ MT_SEAT
The mesh is representing a seat.
Definition: SceneTracker6DOF.h:371
const Vectors3 & vertices() const
Returns the vertices representing the mesh.
Definition: SceneTracker6DOF.h:1152
Index32 meshId() const
Returns the unique id of the mesh.
Definition: SceneTracker6DOF.h:1142
Mesh(const Index32 meshId, const HomogenousMatrix4 &world_T_mesh, Vectors3 &&vertices, Vectors3 &&perVertexNormals, Indices32 &&triangleIndices)
Creates a new mesh object.
Definition: SceneTracker6DOF.h:1131
Indices32 triangleIndices_
The indices of the vertices representing the mesh's surface triangles, three indices define one trian...
Definition: SceneTracker6DOF.h:440
Vectors3 perVertexNormals_
The per-vertex normals of the mesh, one for each vertex.
Definition: SceneTracker6DOF.h:437
const Vectors3 & perVertexNormals() const
Returns the per-vertex normals of the mesh's faces.
Definition: SceneTracker6DOF.h:1157
Vectors3 vertices_
The vertices representing the mesh, defined in the mesh's coordinate system.
Definition: SceneTracker6DOF.h:434
const HomogenousMatrix4 & world_T_mesh() const
Returns the transformation of the mesh in relation to world.
Definition: SceneTracker6DOF.h:1147
This class implements a scene element holding 3D meshes.
Definition: SceneTracker6DOF.h:346
std::shared_ptr< Mesh > SharedMesh
Definition of a shared pointer for Mesh objects.
Definition: SceneTracker6DOF.h:446
const SharedMeshes & meshes() const
Returns all meshes of this scene element object, may be empty.
Definition: SceneTracker6DOF.h:1174
std::vector< SharedMesh > SharedMeshes
Definition of a vector holding meshes.
Definition: SceneTracker6DOF.h:451
SceneElementMeshes(SharedMeshes meshes)
Creates a new scene element object with several given meshes.
Definition: SceneTracker6DOF.h:1167
SharedMeshes meshes_
The meshes stores in this scene element object.
Definition: SceneTracker6DOF.h:470
Definition of a scene element holding 3D object points.
Definition: SceneTracker6DOF.h:105
const Indices64 & objectPointIds() const
Returns the unique ids of the object points if known.
Definition: SceneTracker6DOF.h:1008
const Vectors3 & objectPoints() const
Returns the 3D object points of this scene element.
Definition: SceneTracker6DOF.h:1002
Indices64 objectPointIds_
The unique ids of this scene element.
Definition: SceneTracker6DOF.h:133
SceneElementObjectPoints(Vectors3 &&objectPoints, Indices64 &&objectPointIds=Indices64())
Creates a new SceneElement object for 3D object points.
Definition: SceneTracker6DOF.h:993
Vectors3 objectPoints_
The 3D object points of this scene element.
Definition: SceneTracker6DOF.h:130
This class stores the relevant information of a 3D plane.
Definition: SceneTracker6DOF.h:194
HomogenousMatrix4 world_T_plane_
The transformation between plane and world, with y-axis as the plane's normal.
Definition: SceneTracker6DOF.h:299
Indices32 triangleIndices_
The indices of the vertices representing the plane's surface triangles, three indices define one tria...
Definition: SceneTracker6DOF.h:311
Vectors3 vertices_
The vertices representing the plane, defined in the plane's coordinate system.
Definition: SceneTracker6DOF.h:305
PlaneType planeType() const
Returns the type of the plane.
Definition: SceneTracker6DOF.h:1074
PlaneType
Definition of individual plane types.
Definition: SceneTracker6DOF.h:201
@ PT_HORIZONTAL
The plane is horizontal and perpendicular to gravity (e.g., a floor/ceiling plane).
Definition: SceneTracker6DOF.h:205
Box3 boundingBox_
The bounding box of the plane, defined in the plane's origin.
Definition: SceneTracker6DOF.h:302
Vectors2 textureCoordinates_
The vertices' texture coordinates, one for each vertex, empty if unknown.
Definition: SceneTracker6DOF.h:308
const Vectors3 & boundaryVertices() const
Returns the vertices of the boundary of the plane.
Definition: SceneTracker6DOF.h:1114
const Indices32 & triangleIndices() const
Returns the indices of the vertices representing the plane's surface triangles, three indices define ...
Definition: SceneTracker6DOF.h:1109
const Vectors3 & vertices() const
Returns the vertices representing the plane.
Definition: SceneTracker6DOF.h:1099
Index32 planeId() const
Returns the unique id of the plane.
Definition: SceneTracker6DOF.h:1069
Vectors3 boundaryVertices_
The vertices of the boundaries of the plane, defined in the plane's coordinate system.
Definition: SceneTracker6DOF.h:314
const Box3 & boundingBox() const
Returns the plane's bounding box (the extent of the plane).
Definition: SceneTracker6DOF.h:1093
const Vectors2 & textureCoordinates() const
Returns the texture coordinates of the vertices, if known.
Definition: SceneTracker6DOF.h:1104
Plane(const Index32 planeId, const PlaneType planeType, const HomogenousMatrix4 &world_T_plane, const Box3 &boundingBox, Vectors3 &&boundaryVertices)
Creates a new plane object.
Definition: SceneTracker6DOF.h:1042
Plane3 worldPlane() const
Returns the 3D plane as defined in world.
Definition: SceneTracker6DOF.h:1085
const HomogenousMatrix4 & world_T_plane() const
Returns the transformation of the plane in relation to world.
Definition: SceneTracker6DOF.h:1079
This class implements a scene element holding 3D planes.
Definition: SceneTracker6DOF.h:185
Planes planes_
The planes stores in this scene element object.
Definition: SceneTracker6DOF.h:339
SceneElementPlanes(Planes &&planes)
Creates a new scene element object with several given planes.
Definition: SceneTracker6DOF.h:1119
std::vector< Plane > Planes
Definition of a vector holding planes.
Definition: SceneTracker6DOF.h:320
const Planes & planes() const
Returns all planes of this scene element object, may be empty.
Definition: SceneTracker6DOF.h:1126
This class implements a room object which is planar/flat.
Definition: SceneTracker6DOF.h:636
PlanarType
Definition of individual types of planar objects.
Definition: SceneTracker6DOF.h:643
@ PT_OPENING
The object is an opening.
Definition: SceneTracker6DOF.h:653
@ PT_FLOOR
The object is a floor.
Definition: SceneTracker6DOF.h:655
@ PT_WINDOW
The object is a window.
Definition: SceneTracker6DOF.h:651
@ PT_UNKNOWN
The type is unknown.
Definition: SceneTracker6DOF.h:645
@ PT_WALL
The object is a planar wall.
Definition: SceneTracker6DOF.h:647
@ PT_DOOR
The object is a door.
Definition: SceneTracker6DOF.h:649
static std::string translatePlanarType(const PlanarType planarType)
Translates the planar type to a readable string.
PlanarRoomObject(std::string &&identifier, const PlanarType planarType, const float confidence, const HomogenousMatrix4 &world_T_object, const Vector3 &dimension)
Creates a new room object.
Definition: SceneTracker6DOF.h:1223
PlanarType planarType() const
Returns the planar type of this object.
Definition: SceneTracker6DOF.h:1230
PlanarType planarType_
The planar type of this object.
Definition: SceneTracker6DOF.h:695
static PlanarType translatePlanarType(const std::string &planarType)
Translates the readable stirng of a planar type to the corresponding value.
This class implemenets the base class for all room objects.
Definition: SceneTracker6DOF.h:534
static ObjectType translateObjectType(const std::string &objectType)
Translates the readable string of an object type to an object type value.
float confidence() const
Returns the confidence of this object.
Definition: SceneTracker6DOF.h:1202
HomogenousMatrix4 world_T_object_
The transformation between this object and world.
Definition: SceneTracker6DOF.h:626
static std::string translateObjectType(const ObjectType objectType)
Translates the type of an object to a readable string.
std::string identifier_
The unique identifier of this object.
Definition: SceneTracker6DOF.h:620
ObjectType objectType() const
Returns the type of this object.
Definition: SceneTracker6DOF.h:1192
RoomObject(const ObjectType objectType, std::string &&identifier, const float confidence, const HomogenousMatrix4 &world_T_object, const Vector3 &dimension)
Creates a new room object.
Definition: SceneTracker6DOF.h:1179
const Vector3 & dimension() const
Returns the dimension of this object.
Definition: SceneTracker6DOF.h:1218
void setWorld_T_object(const HomogenousMatrix4 &world_T_object)
Sets or updates the transformation between this object and world.
Definition: SceneTracker6DOF.h:1212
const HomogenousMatrix4 & world_T_object() const
Returns the transformation between this object and world.
Definition: SceneTracker6DOF.h:1207
const std::string & identifier() const
Returns the unique identifier of this object.
Definition: SceneTracker6DOF.h:1197
ObjectType
Definition of individual room object types.
Definition: SceneTracker6DOF.h:541
@ OT_PLANAR
The object is a planar room object.
Definition: SceneTracker6DOF.h:545
@ OT_UNDEFINED
Undefined type.
Definition: SceneTracker6DOF.h:543
This class implements a room object which is volumetric.
Definition: SceneTracker6DOF.h:702
std::unordered_map< std::string, VolumetricType > VolumetricTypeMap
Definition of an unordered map mapping readable strings to volumetric types.
Definition: SceneTracker6DOF.h:753
static VolumetricType translateVolumetricType(const std::string &volumetricType)
Translates the readable string of a volumetric type to the corresponding value.
VolumetricType
Definition of individual types of volumetric objects.
Definition: SceneTracker6DOF.h:709
@ VT_REFRIGERATOR
The object is a refrigerator.
Definition: SceneTracker6DOF.h:715
@ VT_SOFA
The object is a sofa.
Definition: SceneTracker6DOF.h:735
@ VT_STORAGE
The object is a storage.
Definition: SceneTracker6DOF.h:713
@ VT_FIREPLACE
The object is a fire place.
Definition: SceneTracker6DOF.h:739
@ VT_SINK
The object is a sink.
Definition: SceneTracker6DOF.h:721
@ VT_TOILET
The object is a toilet.
Definition: SceneTracker6DOF.h:725
@ VT_STOVE
The object is a stove.
Definition: SceneTracker6DOF.h:717
@ VT_WASHER_DRYER
The object is a washer/driver.
Definition: SceneTracker6DOF.h:723
@ VT_DISHWASHER
The object is a dishwasher.
Definition: SceneTracker6DOF.h:731
@ VT_BATHTUB
The object is a bathtub.
Definition: SceneTracker6DOF.h:727
@ VT_TABLE
The object is a table.
Definition: SceneTracker6DOF.h:733
@ VT_CHAIR
The object is a char.
Definition: SceneTracker6DOF.h:737
@ VT_BED
The object is a bed.
Definition: SceneTracker6DOF.h:719
@ VT_OVEN
The object is an oven.
Definition: SceneTracker6DOF.h:729
@ VT_TELEVISION
The object is a television.
Definition: SceneTracker6DOF.h:741
@ VT_STAIRS
The object is stairs.
Definition: SceneTracker6DOF.h:743
@ VT_UNKNOWN
The type is unknown.
Definition: SceneTracker6DOF.h:711
static std::string translateVolumetricType(const VolumetricType volumetricType)
Translates the volumetric type to a readable string.
VolumetricType volumetricType_
The volumetric type of this object.
Definition: SceneTracker6DOF.h:790
VolumetricRoomObject(std::string &&identifier, const VolumetricType volumetricType, float confidence, const HomogenousMatrix4 &world_T_object, const Vector3 &dimension)
Creates a new room object.
Definition: SceneTracker6DOF.h:1235
VolumetricType volumetricType() const
Returns the volumetric type of this object.
Definition: SceneTracker6DOF.h:1242
This class implements a scene element holding room objects.
Definition: SceneTracker6DOF.h:527
std::shared_ptr< RoomObject > SharedRoomObject
Definition of a shared pointer holding a room object.
Definition: SceneTracker6DOF.h:796
RoomObjectMap roomObjectMap_
The room objects in this scene element object.
Definition: SceneTracker6DOF.h:878
RoomObjectIdentifierSet updatedRoomObjects_
The identifiers of all changed room objects.
Definition: SceneTracker6DOF.h:890
SceneElementRoom(RoomObjectMap &&roomObjectMap, RoomObjectIdentifierSet &&addedRoomObjects, RoomObjectIdentifierSet &&removedRoomObjects, RoomObjectIdentifierSet &&changedRoomObjects, RoomObjectIdentifierSet &&updatedRoomObjects)
Creates a new scene element object with several given room objects.
Definition: SceneTracker6DOF.h:1247
RoomObjectIdentifierSet addedRoomObjects_
The identifiers of all added room objects.
Definition: SceneTracker6DOF.h:881
std::vector< SharedRoomObject > SharedRoomObjects
Definition of a vector holding room objects.
Definition: SceneTracker6DOF.h:811
std::shared_ptr< VolumetricRoomObject > SharedVolumetricRoomObject
Definition of a shared pointer holding a volumetric room object.
Definition: SceneTracker6DOF.h:806
RoomObjectIdentifierSet removedRoomObjects_
The identifiers of all removed room objects.
Definition: SceneTracker6DOF.h:884
std::vector< SharedVolumetricRoomObject > SharedVolumetricRoomObjects
Definition of a vector holding volumetric room objects.
Definition: SceneTracker6DOF.h:821
const RoomObjectIdentifierSet & removedRoomObjects() const
Returns the identifiers of all room object which have been removed.
Definition: SceneTracker6DOF.h:1268
const RoomObjectMap & roomObjectMap() const
Returns all room objects of this scene element object, may be empty.
Definition: SceneTracker6DOF.h:1258
std::vector< SharedPlanarRoomObject > SharedPlanarRoomObjects
Definition of a vector holding planar room objects.
Definition: SceneTracker6DOF.h:816
const RoomObjectIdentifierSet & addedRoomObjects() const
Returns the identifiers of all room object which have been added.
Definition: SceneTracker6DOF.h:1263
RoomObjectIdentifierSet changedRoomObjects_
The identifiers of all changed room objects.
Definition: SceneTracker6DOF.h:887
std::shared_ptr< PlanarRoomObject > SharedPlanarRoomObject
Definition of a shared pointer holding a planar room object.
Definition: SceneTracker6DOF.h:801
const RoomObjectIdentifierSet & updatedRoomObjects() const
Returns the identifiers of all room object which have been updated.
Definition: SceneTracker6DOF.h:1278
std::unordered_set< std::string > RoomObjectIdentifierSet
Definition of an unordered set holding object identifiers.
Definition: SceneTracker6DOF.h:826
const RoomObjectIdentifierSet & changedRoomObjects() const
Returns the identifiers of all room object which have been changed.
Definition: SceneTracker6DOF.h:1273
std::unordered_map< std::string, SharedRoomObject > RoomObjectMap
Definitio of an unordered map mapping object identifiers to room objects.
Definition: SceneTracker6DOF.h:831
Definition of a sample holding one single 6DOF tracker measurement.
Definition: SceneTracker6DOF.h:907
SceneTracker6DOFSample(const Timestamp ×tamp, const ReferenceSystem referenceSystem, const ObjectIds &objectIds, const Orientations &orientations, const Positions &positions, const SharedSceneElements &sceneElements, const Metadata &metadata=Metadata())
Creates a new 6DOF tracker sample.
SharedSceneElements sceneElements_
The scene elements.
Definition: SceneTracker6DOF.h:944
const SharedSceneElements & sceneElements() const
Returns the scene elements of this sample.
Definition: SceneTracker6DOF.h:1316
SceneTracker6DOFSample(const Timestamp ×tamp, const ReferenceSystem referenceSystem, ObjectIds &&objectIds, Orientations &&orientations, Positions &&positions, SharedSceneElements &&sceneElements, Metadata &&metadata=Metadata())
Creates a new 6DOF tracker sample.
This class implements the base for all 6-DOF scene trackers.
Definition: SceneTracker6DOF.h:42
~SceneTracker6DOF() override
Destructs a 6-DOF tracker object.
std::shared_ptr< SceneElement > SharedSceneElement
Definition of a shared pointer holding a scene element.
Definition: SceneTracker6DOF.h:896
SceneTracker6DOF(const std::string &name)
Creates a new 6-DOF scene tracker object.
static DeviceType deviceTypeSceneTracker6DOF()
Definition of this device type.
Definition: SceneTracker6DOF.h:1321
virtual bool exportSceneElements(const std::string &format, std::ostream &outputStream, const std::string &options=std::string()) const
Exports the determined scene elements.
SmartObjectRef< SceneTracker6DOFSample, Sample > SceneTracker6DOFSampleRef
Definition of a smart object reference for 6-DOF scene tracker samples.
Definition: SceneTracker6DOF.h:950
std::vector< SharedSceneElement > SharedSceneElements
Definition of a vector holding scene elements.
Definition: SceneTracker6DOF.h:901
This class implements a smart device reference.
Definition: DeviceRef.h:36
Definition of a sample holding one single 6DOF tracker measurement.
Definition: Tracker6DOF.h:48
This class implements the base for all 6DOF trackers.
Definition: Tracker6DOF.h:39
@ SCENE_TRACKER_6DOF
6DOF scene tracker.
Definition: devices/Tracker.h:56
ReferenceSystem
Definition of different tracking reference system.
Definition: devices/Tracker.h:72
bool isValid() const
Returns whether this matrix is a valid homogeneous transformation.
Definition: HomogenousMatrix4.h:1806
This template class implements a smart object reference which is a specialization of an ObjectRef obj...
Definition: SmartObjectRef.h:90
This class implements a timestamp.
Definition: Timestamp.h:36
std::vector< Index32 > Indices32
Definition of a vector holding 32 bit index values.
Definition: Base.h:96
std::vector< Index64 > Indices64
Definition of a vector holding 64 bit index values.
Definition: Base.h:108
uint32_t Index32
Definition of a 32 bit index value.
Definition: Base.h:84
SmartDeviceRef< SceneTracker6DOF > SceneTracker6DOFRef
Definition of a smart object reference for a 6-DOF scene tracker.
Definition: SceneTracker6DOF.h:27
std::shared_ptr< AnyCamera > SharedAnyCamera
Definition of a shared pointer holding an AnyCamera object with Scalar precision.
Definition: AnyCamera.h:60
VectorT3< Scalar > Vector3
Definition of a 3D vector.
Definition: Vector3.h:22
PlaneT3< Scalar > Plane3
Definition of the Plane3 object, depending on the OCEAN_MATH_USE_SINGLE_PRECISION either with single ...
Definition: Plane3.h:24
std::vector< Vector2 > Vectors2
Definition of a vector holding Vector2 objects.
Definition: Vector2.h:64
HomogenousMatrixT4< Scalar > HomogenousMatrix4
Definition of the HomogenousMatrix4 object, depending on the OCEAN_MATH_USE_SINGLE_PRECISION flag eit...
Definition: HomogenousMatrix4.h:37
std::vector< Vector3 > Vectors3
Definition of a vector holding Vector3 objects.
Definition: Vector3.h:65
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15