IDS peak ICV v1.0.0
Loading...
Searching...
No Matches
peak_icv_point_xyzi.hpp
Go to the documentation of this file.
1
11#pragma once
12
17#include <vector>
18
19namespace peak
20{
21namespace icv
22{
23
24namespace experimental
25{
35 : public PointXYZ
36 , public detail::IPrintable<PointXYZI>
37{
38public:
39 constexpr PointXYZI() = default;
40
50 constexpr PointXYZI(float x, float y, float z, uint16_t intensity)
51 : PointXYZ{ x, y, z }
52 , m_intensity{ intensity }
53 {}
54
60 PEAK_ICV_NO_DISCARD constexpr uint16_t GetIntensity() const
61 {
62 return m_intensity;
63 }
64
70 constexpr bool operator==(const PointXYZI& rhs) const
71 {
72 return PointXYZ::operator==(rhs) && m_intensity == rhs.m_intensity;
73 }
74
75protected:
76 void Print(detail::CommaSeperatedStream& stream) const override
77 {
78 stream << GetX() << GetY() << GetZ() << GetIntensity();
79 }
80
81private:
82 friend peak::common::detail::BackendAccessor<PointXYZI>;
83
84 constexpr PointXYZI(peak_icv_point_xyzi point) // NOLINT
85 : PointXYZI(point.x, point.y, point.z, point.intensity)
86 {}
87
88 uint16_t m_intensity{};
89};
90} /* namespace experimental */
91} /* namespace icv */
92} /* namespace peak */
constexpr bool operator==(const PointXd< H, d > &rhs) const
A point consists of x, y and z coordinate.
float GetZ() const
Returns the z coordinate.
A point consists of x, y, z coordinates and intensity meta data.
constexpr bool operator==(const PointXYZI &rhs) const
constexpr PointXYZI(float x, float y, float z, uint16_t intensity)
Point constructor from x, y and z.
constexpr uint16_t GetIntensity() const
Returns the intensity meta data.