EduArt Sensor Ring Library 4.0.0
Loading...
Searching...
No Matches
Matrix3.hpp
Go to the documentation of this file.
1// Copyright (c) 2026 EduArt Robotik GmbH
2
9
10#pragma once
11
12#include <array>
13#include <cmath>
14
16#include "sensorring/platform/SensorringExport.hpp"
17
18namespace eduart {
19
20namespace sensorring {
21
22namespace math {
23
28struct SENSORRING_EXPORT Matrix3 {
30 std::array<Vector3, 3> data;
31
33 Vector3& operator[](std::size_t idx);
34
36 const Vector3& operator[](std::size_t idx) const;
37
39 Matrix3 operator*(const Matrix3& other) const;
40
42 Matrix3& operator*=(const Matrix3& other);
43
45 Vector3 operator*(const Vector3& other) const;
46
48 Matrix3 operator*(const double& other) const;
49
51 Matrix3& operator*=(const double& other);
52
54 Matrix3 operator/(const double& other) const;
55
57 Matrix3& operator/=(const double& other);
58};
59
60} // namespace math
61
62} // namespace sensorring
63
64} // namespace eduart
Implementation of a vector with length 3.
Matrix of size 3 × 3.
Definition Matrix3.hpp:28
std::array< Vector3, 3 > data
Data structure of the Matrix3.
Definition Matrix3.hpp:30
const Vector3 & operator[](std::size_t idx) const
Indexing the Matrix.
Matrix3 & operator/=(const double &other)
Matrix-Scalar division: Matrix3 / double -> Matrix3.
Matrix3 operator*(const Matrix3 &other) const
Matrix multiplication: Matrix3 * Matrix3 -> Matrix3.
Vector3 operator*(const Vector3 &other) const
Matrix-Vector multiplication: Matrix3 * Vector3 -> Vector3.
Matrix3 operator/(const double &other) const
Matrix-Scalar division: Matrix3 / double -> Matrix3.
Matrix3 operator*(const double &other) const
Matrix-Scalar multiplication: Matrix3 * double -> Matrix3.
Matrix3 & operator*=(const Matrix3 &other)
Matrix multiplication: Matrix3 * Matrix3 -> Matrix3.
Vector3 & operator[](std::size_t idx)
Indexing the Matrix.
Matrix3 & operator*=(const double &other)
Matrix-Scalar multiplication: Matrix3 * double -> Matrix3.
Vector of length 3.
Definition Vector3.hpp:27