EduArt Sensor Ring Library 4.0.0
Loading...
Searching...
No Matches
PointCloud.hpp
Go to the documentation of this file.
1// Copyright (c) 2026 EduArt Robotik GmbH
2
9
10#pragma once
11
12#include <vector>
13
15#include "sensorring/platform/SensorringExport.hpp"
16
17namespace eduart {
18
19namespace sensorring {
20
21namespace measurement {
22
27struct SENSORRING_EXPORT PointData {
29 math::Vector3 point = { 0.0, 0.0, 0.0 };
30
32 double raw_distance = 0.0;
33
35 double sigma = 0.0;
36
38 unsigned int sensor_index = 0;
39};
40
45struct SENSORRING_EXPORT PointCloud {
47 std::vector<PointData> data;
48
54 void copyTo(double* buffer, int size);
55
61 static PointCloud combine(const std::vector<PointCloud>& clouds);
62
70 static PointCloud transform(const PointCloud& cloud, const math::Vector3 translation, const math::Vector3 rotation);
71
79 static PointCloud transform(const PointCloud& cloud, const math::Vector3 translation, const math::Matrix3 rotation);
80};
81
82} // namespace measurement
83
84} // namespace sensorring
85
86} // namespace eduart
Collection of math functions.
Matrix of size 3 × 3.
Definition Matrix3.hpp:28
Vector of length 3.
Definition Vector3.hpp:27
Stores a vector of points in 3D space.
Definition PointCloud.hpp:45
std::vector< PointData > data
Data structure of the PointCloud.
Definition PointCloud.hpp:47
static PointCloud transform(const PointCloud &cloud, const math::Vector3 translation, const math::Matrix3 rotation)
Transforms a point cloud using a rotation matrix and a translation vector.
static PointCloud combine(const std::vector< PointCloud > &clouds)
Combine multiple point clouds into a single cloud.
void copyTo(double *buffer, int size)
Copies the point cloud to a double buffer.
static PointCloud transform(const PointCloud &cloud, const math::Vector3 translation, const math::Vector3 rotation)
Transforms a point cloud using a rotation matrix and a translation vector.
Stores the data of a single point in 3d space.
Definition PointCloud.hpp:27
double sigma
Standard deviation associated with the points location.
Definition PointCloud.hpp:35
unsigned int sensor_index
Index of the sensor that measured the point.
Definition PointCloud.hpp:38
double raw_distance
Raw distance from the origin to the point.
Definition PointCloud.hpp:32
math::Vector3 point
Cartesian coordinates of the point.
Definition PointCloud.hpp:29