knowL: Knowledge Libraries
Loading...
Searching...
No Matches
Pose.h
1#pragma once
2
3#include <knowGIS/Point.h>
4
5#include "Quaternion.h"
6
7namespace knowGIS
8{
9 class Pose
10 {
11 public:
12 Pose() {}
13 Pose(const knowGIS::Point& _position, const Quaternion& _orientation) : m_position(_position), m_orientation(_orientation) {}
14 ~Pose() {}
15 Pose transform(const Cartography::CoordinateSystem& _coordinateSystem) const;
16 knowGIS::Point position() const { return m_position; }
17 Quaternion orientation() const { return m_orientation; }
18 bool operator==(const Pose& _rhs) const { return m_position == _rhs.m_position and m_orientation == _rhs.m_orientation; }
19 private:
20 knowGIS::Point m_position;
21 Quaternion m_orientation;
22 };
23}
24
25#include <knowCore/Formatter.h>
26KNOWCORE_CORE_DECLARE_FORMATTER(knowGIS::Pose)
27{
28 return format_to(ctx.out(), "(pos: {} quat: {})", p.position(), p.orientation());
29}
30
31KNOWCORE_DECLARE_FULL_METATYPE(knowGIS, Pose)
Definition Point.h:11
Definition Pose.h:10
Definition Quaternion.h:10