| IOLink 1.11.0

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
11 namespace iolink
12{
13
35 class IOLINK_API SpatialCalibrationProperty final
36{
37 public:
46 SpatialCalibrationProperty();
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
80 SpatialCalibrationProperty(const Vector3d& origin,
81 const Vector3d& spacing,
82 const SpatialDirections& direction,
83 const std::string& unit);
84
90 SpatialCalibrationProperty(const SpatialCalibrationProperty& other);
91
97 SpatialCalibrationProperty& operator=(const SpatialCalibrationProperty& other);
98
104 SpatialCalibrationProperty(SpatialCalibrationProperty&& other) noexcept;
105
111 SpatialCalibrationProperty& operator=(SpatialCalibrationProperty&& other) noexcept;
112
116 ~SpatialCalibrationProperty();
117
121 const Vector3d& origin() const;
122
126 const Vector3d& spacing() const;
127
131 const SpatialDirections& directions() const;
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
177 private:
178 class Private;
179 Private* m_private;
180};
181
182} // end namespace iolink
iolink::SpatialCalibrationProperty
This Property is used to represent the image properties in world space.
Definition SpatialCalibrationProperty.h:36
iolink::SpatialCalibrationProperty::SpatialCalibrationProperty
SpatialCalibrationProperty()
Initialize the property with default values.
iolink::SpatialCalibrationProperty::SpatialCalibrationProperty
SpatialCalibrationProperty(const SpatialCalibrationProperty &other)
Copy constructor.
iolink::SpatialCalibrationProperty::SpatialCalibrationProperty
SpatialCalibrationProperty(SpatialCalibrationProperty &&other) noexcept
Move constructor.
iolink::SpatialCalibrationProperty::setOrigin
void setOrigin(const Vector3d &origin)
Set the origin.
iolink::SpatialCalibrationProperty::operator==
bool operator==(const SpatialCalibrationProperty &other) const
Equality operator.
iolink::SpatialCalibrationProperty::setSpacing
void setSpacing(const Vector3d &spacing)
Set the spacing.
iolink::SpatialCalibrationProperty::~SpatialCalibrationProperty
~SpatialCalibrationProperty()
Destructor.
iolink::SpatialCalibrationProperty::operator=
SpatialCalibrationProperty & operator=(const SpatialCalibrationProperty &other)
Assignment operator.
iolink::SpatialCalibrationProperty::spacing
const Vector3d & spacing() const
Get the spacing.
iolink::SpatialCalibrationProperty::SpatialCalibrationProperty
SpatialCalibrationProperty(const Vector3d &origin)
Initialize the property with only a custom origin.
iolink::SpatialCalibrationProperty::operator!=
bool operator!=(const SpatialCalibrationProperty &other) const
Not Equality operator.
iolink::SpatialCalibrationProperty::operator=
SpatialCalibrationProperty & operator=(SpatialCalibrationProperty &&other) noexcept
Move assignment operator.
iolink::SpatialCalibrationProperty::SpatialCalibrationProperty
SpatialCalibrationProperty(const Vector3d &origin, const Vector3d &spacing, const SpatialDirections &direction)
Initialize a calibration without a specific unit.
iolink::SpatialCalibrationProperty::origin
const Vector3d & origin() const
Get the origin.
iolink::SpatialCalibrationProperty::toString
std::string toString() const
Return string representation.
iolink::SpatialCalibrationProperty::setDirections
void setDirections(const SpatialDirections &directions)
Set the directions.
iolink::SpatialCalibrationProperty::unit
const std::string & unit() const
Get the unit.
iolink::SpatialCalibrationProperty::setUnit
void setUnit(const std::string &unit)
Set the unit.
iolink::SpatialCalibrationProperty::SpatialCalibrationProperty
SpatialCalibrationProperty(const Vector3d &origin, const Vector3d &spacing, const SpatialDirections &direction, const std::string &unit)
Initialize a calibration property.
iolink::SpatialCalibrationProperty::directions
const SpatialDirections & directions() const
Get the spatial axis system.
iolink::SpatialCalibrationProperty::SpatialCalibrationProperty
SpatialCalibrationProperty(const Vector3d &origin, const Vector3d &spacing)
Initialize a calibration property with an origin and a spacing.
iolink::SpatialDirections
Describes a spatial axis system, with direction vectors describing the three axes.
Definition SpatialDirections.h:16
iolink::Vector< double, 3 >
iolink
All IOLink symbols are enclosed in this namespace.
Definition ArrayX.h:8