| IOLink 1.11.0

Loading...
Searching...
No Matches
SpatialDirections.h
1#pragma once
2
3#include <iolink/IOLinkAPI.h>
4#include <iolink/Vector.h>
5
6 namespace iolink
7{
8
15 class IOLINK_API SpatialDirections final
16{
17 public:
26 SpatialDirections();
27
37 SpatialDirections(const Vector3d& columnDirection, const Vector3d& rowDirection);
38
39 SpatialDirections(const SpatialDirections& other) = default;
40 SpatialDirections& operator=(const SpatialDirections& other) = default;
41
42 SpatialDirections(SpatialDirections&& other) noexcept = default;
43 SpatialDirections& operator=(SpatialDirections&& other) noexcept = default;
44
45 bool operator==(const SpatialDirections& other) const;
46 bool operator!=(const SpatialDirections& other) const;
47
51 inline const Vector3d& columnDirection() const { return m_columnDir; }
52
56 inline const Vector3d& rowDirection() const { return m_rowDir; }
57
61 inline const Vector3d& sliceDirection() const { return m_sliceDir; }
62
66 std::string toString() const;
67
68 private:
69 Vector3d m_columnDir;
70 Vector3d m_rowDir;
71 Vector3d m_sliceDir;
72};
73
74} // end namespace iolink
iolink::SpatialDirections
Describes a spatial axis system, with direction vectors describing the three axes.
Definition SpatialDirections.h:16
iolink::SpatialDirections::columnDirection
const Vector3d & columnDirection() const
The direction vector following the column dimension (X)
Definition SpatialDirections.h:51
iolink::SpatialDirections::rowDirection
const Vector3d & rowDirection() const
The direction vector following the row dimension (Y)
Definition SpatialDirections.h:56
iolink::SpatialDirections::sliceDirection
const Vector3d & sliceDirection() const
The direction vector following the slice dimension (Z)
Definition SpatialDirections.h:61
iolink::SpatialDirections::SpatialDirections
SpatialDirections()
Create a default spatial direction.
iolink::SpatialDirections::SpatialDirections
SpatialDirections(const Vector3d &columnDirection, const Vector3d &rowDirection)
Create a SpatialDirections instance from two vectors.
iolink::SpatialDirections::toString
std::string toString() const
Return a string decription of the spatial directions.
iolink::Vector< double, 3 >
iolink
All IOLink symbols are enclosed in this namespace.
Definition ArrayX.h:8