ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
ecvInteractor.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 // Local
11 #include "CV_db.h"
12 
13 // CV_CORE_LIB
14 #include "CVGeom.h"
15 
16 // Qt
17 #include <Qt>
18 
21 public:
22  virtual ~ccInteractor() = default;
23 
25  virtual bool acceptClick(int x, int y, Qt::MouseButton button) {
26  return false;
27  }
28 
30 
32  virtual bool move2D(
33  int x, int y, int dx, int dy, int screenWidth, int screenHeight) {
34  return false;
35  }
36 
38 
40  virtual bool move3D(const CCVector3d& u) { return false; }
41 };
#define CV_DB_LIB_API
Definition: CV_db.h:15
Interactor interface (entity that can be dragged or clicked in a 3D view)
Definition: ecvInteractor.h:20
virtual bool acceptClick(int x, int y, Qt::MouseButton button)
Called on mouse click.
Definition: ecvInteractor.h:25
virtual ~ccInteractor()=default
virtual bool move3D(const CCVector3d &u)
Called on mouse move (for 3D interactors)
Definition: ecvInteractor.h:40
virtual bool move2D(int x, int y, int dx, int dy, int screenWidth, int screenHeight)
Called on mouse move (for 2D interactors)
Definition: ecvInteractor.h:32