ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
ecv2.5DimEditor.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 <ui_rasterizeDlg.h>
11 
12 // CV_DB_LIB
13 #include <ecvRasterGrid.h>
14 
16 class QWidget;
17 class QFrame;
18 class QComboBox;
19 
22 public:
25 
27  virtual ~cc2Point5DimEditor();
28 
29 protected: // standard methods
31  virtual double getGridStep() const = 0;
32 
34 
36  virtual unsigned char getProjectionDimension() const = 0;
37 
40 
42  virtual ccBBox getCustomBBox() const;
43 
45  virtual void gridIsUpToDate(bool state) = 0;
46 
48  virtual void update2DDisplayZoom(ccBBox& box);
49 
50 protected: // raster grid related stuff
52 
54  virtual bool showGridBoxEditor();
55 
57  virtual QString getGridSizeAsString() const;
58 
60  virtual bool getGridSize(unsigned& width, unsigned& height) const;
61 
63  void createBoundingBoxEditor(const ccBBox& gridBBox, QWidget* parent);
64 
66  void create2DView(QFrame* parentFrame);
67 
70  QComboBox* comboBox) const;
71 
74  const std::vector<ccRasterGrid::ExportableFields>& exportedFields,
75  bool interpolateSF,
76  bool interpolateColors,
77  bool resampleInputCloudXY,
78  bool resampleInputCloudZ, // only considered if
79  // resampleInputCloudXY is true!
80  ccGenericPointCloud* inputCloud,
81  bool fillEmptyCells,
82  double emptyCellsHeight,
83  bool exportToOriginalCS) const;
84 
85 protected: // members
88 
91 
94 };
int width
int height
2.5D data editor (generic interface)
virtual ccBBox getCustomBBox() const
Returns custom bbox.
ccRasterGrid::EmptyCellFillOption getFillEmptyCellsStrategy(QComboBox *comboBox) const
Returns the empty cell strategy (for a given combo-box)
ccBoundingBoxEditorDlg * m_bbEditorDlg
Associated dialog.
void createBoundingBoxEditor(const ccBBox &gridBBox, QWidget *parent)
Creates the bounding-box editor.
virtual void gridIsUpToDate(bool state)=0
Declares whether the grid is up-to-date or not.
virtual unsigned char getProjectionDimension() const =0
Returns projection dimension.
ccPointCloud * convertGridToCloud(const std::vector< ccRasterGrid::ExportableFields > &exportedFields, bool interpolateSF, bool interpolateColors, bool resampleInputCloudXY, bool resampleInputCloudZ, ccGenericPointCloud *inputCloud, bool fillEmptyCells, double emptyCellsHeight, bool exportToOriginalCS) const
Shortcut to ccRasterGrid::convertToCloud.
ccRasterGrid m_grid
Raster grid.
virtual void update2DDisplayZoom(ccBBox &box)
Updates the 2D display zoom.
virtual double getGridStep() const =0
Returns projection grid step.
cc2Point5DimEditor()
Default constructor.
ccPointCloud * m_rasterCloud
'Raster' cloud
virtual ccRasterGrid::ProjectionType getTypeOfProjection() const =0
Returns type of projection.
virtual bool showGridBoxEditor()
Show grid box editor and update.
virtual QString getGridSizeAsString() const
Returns the grid size as a string.
void create2DView(QFrame *parentFrame)
Creates the 2D view.
virtual bool getGridSize(unsigned &width, unsigned &height) const
Returns the grid size.
virtual ~cc2Point5DimEditor()
Destructor.
Bounding box structure.
Definition: ecvBBox.h:25
Dialog to define the extents of a 3D box.
A 3D cloud interface with associated features (color, normals, octree, etc.)
A 3D cloud and its associated features (color, normals, scalar fields, etc.)
bool interpolateColors(const ccHObject::Container &selectedEntities, QWidget *parent)
Interpolate colors from on entity and transfer them to another one.
Raster grid type.
Definition: ecvRasterGrid.h:53
ProjectionType
Types of projection.
EmptyCellFillOption
Option for handling empty cells.