IOLink IOL_v1.8.0_release
Loading...
Searching...
No Matches
SpatialCalibrationProperty.h
1#pragma once
2
3#include <cstdint>
4#include <memory>
5#include <string>
6
7#include <iolink/IOLinkAPI.h>
8#include <iolink/Vector.h>
9#include <iolink/property/SpatialDirections.h>
10
11namespace iolink
12{
13
35class IOLINK_API SpatialCalibrationProperty final
36{
37public:
47
53 explicit SpatialCalibrationProperty(const Vector3d& origin);
54
61 SpatialCalibrationProperty(const Vector3d& origin, const Vector3d& spacing);
62
70 SpatialCalibrationProperty(const Vector3d& origin, const Vector3d& spacing, const SpatialDirections& direction);
71
81 const Vector3d& spacing,
82 const SpatialDirections& direction,
83 const std::string& unit);
84
91
98
105
112
117
121 const Vector3d& origin() const;
122
126 const Vector3d& spacing() const;
127
132
136 const std::string& unit() const;
137
141 void setOrigin(const Vector3d& origin);
142
146 void setSpacing(const Vector3d& spacing);
147
151 void setDirections(const SpatialDirections& directions);
152
156 void setUnit(const std::string& unit);
157
163 bool operator==(const SpatialCalibrationProperty& other) const;
164
170 bool operator!=(const SpatialCalibrationProperty& other) const;
171
175 std::string toString() const;
176
177private:
178 class Private;
179 Private* m_private;
180};
181
182} // end namespace iolink