ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
ccFitPlane.h
Go to the documentation of this file.
1 // ----------------------------------------------------------------------------
2 // - CloudViewer: www.cloudViewer.org -
3 // ----------------------------------------------------------------------------
4 // Copyright (c) 2018-2024 www.cloudViewer.org
5 // SPDX-License-Identifier: MIT
6 // ----------------------------------------------------------------------------
7 
8 #pragma once
9 
10 #include <ecvNormalVectors.h>
11 #include <ecvPlane.h>
12 
13 #include "ccMeasurement.h"
14 
15 /*
16 ccFitPlane is a class that wraps around ccPlane and is used for storing the
17 planes-of-best-fit created using qCompass.
18 */
19 class ccFitPlane : public ccPlane, public ccMeasurement {
20 public:
21  ccFitPlane(ccPlane* p);
22  ~ccFitPlane();
23 
24  // update the metadata attributes of this plane
25  void updateAttributes(float rms, float search_r);
26 
27  // create a FitPlane object from a point cloud
29  double* rms);
30 
31  // returns true if object is a plane created by ccCompass (has the
32  // associated data)
33  static bool isFitPlane(ccHObject* object);
34 };
ccFitPlane(ccPlane *p)
Definition: ccFitPlane.cpp:11
static ccFitPlane * Fit(cloudViewer::GenericIndexedCloudPersist *cloud, double *rms)
Definition: ccFitPlane.cpp:120
void updateAttributes(float rms, float search_r)
Definition: ccFitPlane.cpp:56
static bool isFitPlane(ccHObject *object)
Definition: ccFitPlane.cpp:99
Hierarchical CLOUDVIEWER Object.
Definition: ecvHObject.h:25
Plane (primitive)
Definition: ecvPlane.h:18
A generic 3D point cloud with index-based and presistent access to points.