ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
ccLineationTool.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 "ccLineation.h"
11 #include "ccTool.h"
12 
13 /*
14 Tool used to create/measure lineations
15 */
16 class ccLineationTool : public ccTool {
17 public:
19  virtual ~ccLineationTool();
20 
21  // called when the tool is set to disactive (for cleanup)
22  void toolDisactivated() override;
23 
24  // called when a point in a point cloud gets picked while this tool is
25  // active
26  void pointPicked(ccHObject* insertPoint,
27  unsigned itemIdx,
28  ccPointCloud* cloud,
29  const CCVector3& P) override;
30 
31  // called when "Return" or "Space" is pressed, or the "Accept Button" is
32  // clicked
33  void accept() override; // do nothing
34 
35  // called when the "Escape" is pressed, or the "Cancel" button is clicked
36  void cancel() override; // do nothing
37 protected:
38  int m_lineation_id = -1; // ID of the lineation object being written to
39 };
Hierarchical CLOUDVIEWER Object.
Definition: ecvHObject.h:25
void pointPicked(ccHObject *insertPoint, unsigned itemIdx, ccPointCloud *cloud, const CCVector3 &P) override
void cancel() override
void toolDisactivated() override
virtual ~ccLineationTool()
void accept() override
A 3D cloud and its associated features (color, normals, scalar fields, etc.)
Definition: ccTool.h:18