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)
14 : m_position(_position), m_orientation(_orientation)
15 {
16 }
17 ~Pose() {}
18 Pose transform(const Cartography::CoordinateSystem& _coordinateSystem) const;
19 knowGIS::Point position() const { return m_position; }
20 Quaternion orientation() const { return m_orientation; }
21 bool operator==(const Pose& _rhs) const
22 {
23 return m_position == _rhs.m_position and m_orientation == _rhs.m_orientation;
24 }
25 private:
26 knowGIS::Point m_position;
27 Quaternion m_orientation;
28 };
29} // namespace knowGIS
30
31#include <knowCore/Formatter.h>
32clog_format_declare_formatter(knowGIS::Pose)
33{
34 return format_to(ctx.out(), "(pos: {} quat: {})", p.position(), p.orientation());
35}
36
37KNOWCORE_DECLARE_FULL_METATYPE(knowGIS, Pose);
Definition Point.h:12
Definition Pose.h:10
Definition Quaternion.h:13