Helios++
Helios software for LiDAR simulations
Plane.hpp
1 #pragma once
2 
3 #include <vector>
4 
5 #include <armadillo>
6 
7 #include <surfaceinspector/util/Object.hpp>
8 
9 using std::vector;
10 
12 
13 namespace SurfaceInspector { namespace maths{
14 
21 template <typename T>
22 class Plane : public Object{
23 public:
24  // *** ATTRIBUTES *** //
25  // ******************** //
29  vector<T> centroid;
33  vector<T> orthonormal;
56 
57  // *** CONSTRUCTION / DESTRUCTION *** //
58  // ************************************ //
62  Plane() = default;
74  vector<T> centroid,
75  vector<T> orthonormal,
76  T scatter=0,
77  T curvature=0
78  ) :
83  {};
84  virtual ~Plane() {};
85 
86 
87 };
88 
89 
90 }}
Class representing a plane.
Definition: Plane.hpp:22
Plane()=default
Default plane constructor.
T scatter
When the plane has been obtained through fitting to a sample, scatter will quantify variation with re...
Definition: Plane.hpp:39
T curvature
When the plane has been obtained through fitting to a sample, curvature is defined by expression:
Definition: Plane.hpp:55
Plane(vector< T > centroid, vector< T > orthonormal, T scatter=0, T curvature=0)
Build a plane with given centroid, orthonormal and scatter.
Definition: Plane.hpp:73
vector< T > centroid
Coordinates for plane centroid.
Definition: Plane.hpp:29
vector< T > orthonormal
Plane orthonormal vector.
Definition: Plane.hpp:33
Class representing an object. All surface inspector classes must extend Object.
Definition: Object.hpp:12