8#ifndef META_OCEAN_TRACKING_SLAM_CAMERA_POSE_H
9#define META_OCEAN_TRACKING_SLAM_CAMERA_POSE_H
26class LocalizedObjectPoint;
135 inline Index32 mapVersion()
const;
141 inline bool isValid()
const;
173 inline void setMapVersion(
const Index32 mapVersion);
194 world_T_camera_(world_T_camera),
195 flippedCamera_T_world_(flippedCamera_T_world),
196 poseQuality_(poseQuality),
197 estimatedMotion_(estimatedMotion)
203 CameraPose(world_T_camera,
Camera::standard2InvertedFlipped(world_T_camera), poseQuality, estimatedMotion)
static HomogenousMatrixT4< U > invertedFlipped2Standard(const HomogenousMatrixT4< U > &flippedCamera_T_world)
Transforms an inverted and flipped camera pose into a standard camera pose.
Definition Camera.h:801
bool isValid() const
Returns whether this matrix is a valid homogeneous transformation.
Definition HomogenousMatrix4.h:1806
bool isEqual(const HomogenousMatrixT4< T > &matrix, const T epsilon=NumericT< T >::eps()) const
Returns whether two matrices are almost identical up to a specified epsilon.
Definition HomogenousMatrix4.h:1821
static constexpr T weakEps()
Returns a weak epsilon.
This class holds the camera pose of a camera in relation to the world.
Definition CameraPose.h:46
Index32 mapVersion_
The version of the map used when this pose was computed.
Definition CameraPose.h:190
HomogenousMatrix4 flippedCamera_T_world_
The transformation between world and flipped camera, with default flipped camera pointing towards the...
Definition CameraPose.h:181
const HomogenousMatrix4 & flippedCamera_T_world() const
Returns the transformation between world and flipped camera.
Definition CameraPose.h:213
HomogenousMatrix4 world_T_camera_
The transformation between camera and world, with default camera pointing towards the negative z-spac...
Definition CameraPose.h:178
Index32 mapVersion() const
Returns the version of the map used when this pose was computed.
Definition CameraPose.h:228
static std::string translatePoseQuality(const PoseQuality poseQuality)
Translates the given pose quality to a string.
const HomogenousMatrix4 & world_T_camera() const
Returns the transformation between camera and world.
Definition CameraPose.h:208
EstimatedMotion
Definition of different types of estimated motion.
Definition CameraPose.h:70
@ EM_STATIONARY
The camera is stationary (not moving).
Definition CameraPose.h:74
bool operator==(const CameraPose &right) const =default
Returns whether two camera poses are identical.
EstimatedMotion estimatedMotion_
The estimated motion type of the camera.
Definition CameraPose.h:187
PoseQuality poseQuality_
The quality of the pose.
Definition CameraPose.h:184
bool isValid() const
Returns whether this camera pose is valid.
Definition CameraPose.h:238
PoseQuality poseQuality() const
Returns the quality of this pose.
Definition CameraPose.h:218
void setMapVersion(const Index32 mapVersion)
Sets the version of the map used when this pose was computed.
Definition CameraPose.h:233
EstimatedMotion estimatedMotion() const
Returns the estimated motion type of the camera.
Definition CameraPose.h:223
PoseQuality
Definition of the quality of a camera pose.
Definition CameraPose.h:55
@ PQ_INVALID
The pose is invalid.
Definition CameraPose.h:57
@ PQ_MEDIUM
The pose has a medium quality as it is based on a medium number of feature correspondences.
Definition CameraPose.h:61
@ PQ_LOW
The pose has a low quality as it is based on few feature correspondences.
Definition CameraPose.h:59
static EstimatedMotion motionFromOpticalFlow(const Scalar *imagePointSqrDistances, const size_t size, const unsigned int width, const unsigned int height)
Determines the estimated motion type from optical flow data.
CameraPose()=default
Creates a new invalid camera pose.
This class implements a container for camera poses.
Definition CameraPoses.h:32
uint32_t Index32
Definition of a 32 bit index value.
Definition Base.h:84
float Scalar
Definition of a scalar type.
Definition Math.h:129
std::shared_ptr< CameraPose > SharedCameraPose
Definition of a shared pointer holding a CameraPose object.
Definition CameraPose.h:36
The namespace covering the entire Ocean framework.
Definition Accessor.h:15