ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
ecvPointPropertiesDlg.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 
11 
12 // Local
13 #include <ui_pointPropertiesDlg.h>
14 
15 class cc2DLabel;
16 class cc2DViewportLabel;
17 class ccHObject;
18 
21  public Ui::PointPropertiesDlg {
22  Q_OBJECT
23 
24 public:
26  explicit ccPointPropertiesDlg(ccPickingHub* pickingHub, QWidget* parent);
28  virtual ~ccPointPropertiesDlg();
29 
30  // inherited from ccPointPickingGenericInterface
31  virtual bool start() override;
32  virtual void stop(bool state) override;
33  virtual bool linkWith(QWidget* win) override;
34 
35 protected slots:
36 
37  void onClose();
40  void activateAngleDisplay();
41  void activate2DZonePicking();
42  void initializeState();
43  void exportCurrentLabel();
44  void update2DZone(int x, int y, Qt::MouseButtons buttons);
45  void processClickedPoint(int x, int y);
46  void close2DZone();
47 
48 signals:
49 
52 
53 protected:
56 
57  // inherited from ccPointPickingGenericInterface
58  void processPickedPoint(ccPointCloud* cloud,
59  unsigned pointIndex,
60  int x,
61  int y) override;
62 
65 
68 
71 };
#define slots
#define signals
2D label (typically attached to points)
Definition: ecv2DLabel.h:22
2D viewport label
Hierarchical CLOUDVIEWER Object.
Definition: ecvHObject.h:25
Point/triangle picking hub.
Definition: ecvPickingHub.h:29
A 3D cloud and its associated features (color, normals, scalar fields, etc.)
Dialog for simple point picking (information, distance, etc.)
cc2DViewportLabel * m_rect2DLabel
Associated 2D label.
void processPickedPoint(ccPointCloud *cloud, unsigned pointIndex, int x, int y) override
Generic method to process picked points.
cc2DLabel * m_label
Associated 3D label.
virtual void stop(bool state) override
Stops process/dialog.
virtual ~ccPointPropertiesDlg()
Default destructor.
Mode m_pickingMode
Current picking mode.
ccPointPropertiesDlg(ccPickingHub *pickingHub, QWidget *parent)
Default constructor.
void processClickedPoint(int x, int y)
void newLabel(ccHObject *)
Signal emitted when a new label is created.
virtual bool linkWith(QWidget *win) override
Links the overlay dialog with a MDI window.
void update2DZone(int x, int y, Qt::MouseButtons buttons)
virtual bool start() override
Starts process.