ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
MainWindow.cpp File Reference
#include "MainWindow.h"
#include "ecvLayoutManager.h"
#include "ecvShortcutDialog.h"
#include <QGuiApplication>
#include <QScreen>
#include <QSettings>
#include <QThread>
#include <QTimer>
#include <algorithm>
#include "ecvAnnotationsTool.h"
#include "ecvApplication.h"
#include "ecvConsole.h"
#include "ecvCropTool.h"
#include "ecvFilterTool.h"
#include "ecvGraphicalSegmentationTool.h"
#include "ecvGraphicalTransformationTool.h"
#include "ecvHistogramWindow.h"
#include "ecvInnerRect2DFinder.h"
#include "ecvLibAlgorithms.h"
#include "ecvMeasurementTool.h"
#include "ecvPersistentSettings.h"
#include "ecvRecentFiles.h"
#include "ecvRegistrationTools.h"
#include "ecvScaleDlg.h"
#include "ecvSettingManager.h"
#include "ecvTracePolylineTool.h"
#include "ecvTranslationManager.h"
#include "ecvUIManager.h"
#include "ecvUtils.h"
#include <CVLog.h>
#include <CVMath.h>
#include <CVPointCloud.h>
#include <CloudSamplingTools.h>
#include <Delaunay2dMesh.h>
#include <Jacobi.h>
#include <MemoryInfo.h>
#include <MeshSamplingTools.h>
#include <NormalDistribution.h>
#include <ParallelSort.h>
#include <RegistrationTools.h>
#include <ScalarFieldTools.h>
#include <StatisticalTestingTools.h>
#include <WeibullDistribution.h>
#include <ecvVolumeCalcTool.h>
#include <ChamferDistanceTransform.h>
#include <SaitoSquaredDistanceTransform.h>
#include <ecv2DLabel.h>
#include <ecv2DViewportObject.h>
#include <ecvCameraSensor.h>
#include <ecvCircle.h>
#include <ecvColorScalesManager.h>
#include <ecvCylinder.h>
#include <ecvDisc.h>
#include <ecvDisplayTools.h>
#include <ecvFacet.h>
#include <ecvFileUtils.h>
#include <ecvGBLSensor.h>
#include <ecvGenericPointCloud.h>
#include <ecvImage.h>
#include <ecvKdTree.h>
#include <ecvPlane.h>
#include <ecvPointCloud.h>
#include <ecvPolyline.h>
#include <ecvProgressDialog.h>
#include <ecvQuadric.h>
#include <ecvRenderingTools.h>
#include <ecvScalarField.h>
#include <ecvSphere.h>
#include <ecvSubMesh.h>
#include <AsciiFilter.h>
#include <BinFilter.h>
#include <DepthMapFileFilter.h>
#include <ecvGlobalShiftManager.h>
#include <ecvShiftAndScaleCloudDlg.h>
#include <CommonSettings.h>
#include <ecvCommon.h>
#include <ecvCustomViewpointsToolbar.h>
#include <ecvOptions.h>
#include <ecvPickingHub.h>
#include <ecvCameraParamEditDlg.h>
#include <ecvDisplayOptionsDlg.h>
#include <ecvPickOneElementDlg.h>
#include "ui_MainWindow.h"
#include "ui_distanceMapDlg.h"
#include "ui_globalShiftSettingsDlg.h"
#include <QtCompat.h>
#include "ecvAboutDialog.h"
#include "ecvAlignDlg.h"
#include "ecvAnimationParamDlg.h"
#include "ecvApplyTransformationDlg.h"
#include "ecvAskThreeDoubleValuesDlg.h"
#include "ecvCamSensorProjectionDlg.h"
#include "ecvColorFromScalarDlg.h"
#include "ecvColorScaleEditorDlg.h"
#include "ecvComparisonDlg.h"
#include "ecvEntitySelectionDlg.h"
#include "ecvFilterByLabelDlg.h"
#include "ecvFilterByValueDlg.h"
#include "ecvGBLSensorProjectionDlg.h"
#include "ecvGeomFeaturesDlg.h"
#include "ecvItemSelectionDlg.h"
#include "ecvLabelingDlg.h"
#include "ecvMatchScalesDlg.h"
#include "ecvNoiseFilterDlg.h"
#include "ecvOrderChoiceDlg.h"
#include "ecvPlaneEditDlg.h"
#include "ecvPointListPickingDlg.h"
#include "ecvPointPairRegistrationDlg.h"
#include "ecvPointPropertiesDlg.h"
#include "ecvPoissonReconDlg.h"
#include "ecvPrimitiveDistanceDlg.h"
#include "ecvPrimitiveFactoryDlg.h"
#include "ecvPtsSamplingDlg.h"
#include "ecvRegistrationDlg.h"
#include "ecvRenderToFileDlg.h"
#include "ecvSORFilterDlg.h"
#include "ecvSensorComputeDistancesDlg.h"
#include "ecvSensorComputeScatteringAnglesDlg.h"
#include "ecvSmoothPolylineDlg.h"
#include "ecvSubsamplingDlg.h"
#include "ecvUnrollDlg.h"
#include "ecvUpdateDlg.h"
#include "ecvWaveformDialog.h"
#include "db_tree/ecvDBRoot.h"
#include "db_tree/ecvPropertiesTreeDelegate.h"
#include "pluginManager/ecvPluginUIManager.h"

Go to the source code of this file.

Classes

struct  ComponentIndexAndSize
 

Typedefs

typedef std::pair< ccHObject *, ccGenericPointCloud * > EntityCloudAssociation
 

Enumerations

enum  PickingOperation { NO_PICKING_OPERATION , PICKING_ROTATION_CENTER , PICKING_LEVEL_POINTS }
 

Functions

static const QString s_allFilesFilter ("All (*.*)")
 
static const QString s_fileFilterSeparator (";;")
 
static QFileDialog::Options ECVFileDialogOptions ()
 
static bool IsValidFileName (QString filename)
 
void AddToRemoveList (ccHObject *toRemove, ccHObject::Container &toBeRemovedList)
 
static void collectActionsFromMenu (QMenu *menu, QList< QAction * > &actions, QSet< QAction * > &collected, const QSet< QMenu * > &excludedMenus)
 

Variables

static MainWindows_instance = nullptr
 
static const float GLOBAL_OPACITY = 0.5
 
static PickingOperation s_currentPickingOperation = NO_PICKING_OPERATION
 
static std::vector< cc2DLabel * > s_levelLabels
 
static ccPointClouds_levelMarkersCloud = nullptr
 
static ccHObjects_levelEntity = nullptr
 
static unsigned s_viewportIndex = 0
 
static double s_kdTreeMaxErrorPerCell = 0.1
 
static double s_subdivideMaxArea = 1.0
 
static ccLibAlgorithms::ScaleMatchingAlgorithm s_msAlgorithm
 
static double s_msRmsDiff = 1.0e-5
 
static int s_msFinalOverlap = 100
 
static int s_innerRectDim = 2
 
static double s_constantSFValue = 0.0
 

Typedef Documentation

◆ EntityCloudAssociation

Definition at line 3045 of file MainWindow.cpp.

Enumeration Type Documentation

◆ PickingOperation

Enumerator
NO_PICKING_OPERATION 
PICKING_ROTATION_CENTER 
PICKING_LEVEL_POINTS 

Definition at line 225 of file MainWindow.cpp.

Function Documentation

◆ AddToRemoveList()

void AddToRemoveList ( ccHObject toRemove,
ccHObject::Container toBeRemovedList 
)

Definition at line 4176 of file MainWindow.cpp.

References count, and ccHObject::isAncestorOf().

◆ collectActionsFromMenu()

static void collectActionsFromMenu ( QMenu *  menu,
QList< QAction * > &  actions,
QSet< QAction * > &  collected,
const QSet< QMenu * > &  excludedMenus 
)
static

Definition at line 12456 of file MainWindow.cpp.

◆ ECVFileDialogOptions()

static QFileDialog::Options ECVFileDialogOptions ( )
static

Definition at line 235 of file MainWindow.cpp.

References ecvOptions::Instance().

◆ IsValidFileName()

static bool IsValidFileName ( QString  filename)
static

Definition at line 246 of file MainWindow.cpp.

References filename.

◆ s_allFilesFilter()

static const QString s_allFilesFilter ( "All (*.*)"  )
static

◆ s_fileFilterSeparator()

static const QString s_fileFilterSeparator ( ";;"  )
static

Variable Documentation

◆ GLOBAL_OPACITY

const float GLOBAL_OPACITY = 0.5
static

Definition at line 223 of file MainWindow.cpp.

◆ s_constantSFValue

double s_constantSFValue = 0.0
static

Definition at line 9767 of file MainWindow.cpp.

◆ s_currentPickingOperation

PickingOperation s_currentPickingOperation = NO_PICKING_OPERATION
static

◆ s_innerRectDim

int s_innerRectDim = 2
static

Definition at line 9327 of file MainWindow.cpp.

◆ s_instance

MainWindow* s_instance = nullptr
static

Definition at line 216 of file MainWindow.cpp.

Referenced by MainWindow::DestroyInstance(), and MainWindow::TheInstance().

◆ s_kdTreeMaxErrorPerCell

double s_kdTreeMaxErrorPerCell = 0.1
static

Definition at line 5370 of file MainWindow.cpp.

◆ s_levelEntity

ccHObject* s_levelEntity = nullptr
static

Definition at line 233 of file MainWindow.cpp.

Referenced by MainWindow::onItemPicked().

◆ s_levelLabels

std::vector<cc2DLabel*> s_levelLabels
static

Definition at line 231 of file MainWindow.cpp.

◆ s_levelMarkersCloud

ccPointCloud* s_levelMarkersCloud = nullptr
static

◆ s_msAlgorithm

Initial value:

Definition at line 8388 of file MainWindow.cpp.

◆ s_msFinalOverlap

int s_msFinalOverlap = 100
static

Definition at line 8391 of file MainWindow.cpp.

◆ s_msRmsDiff

double s_msRmsDiff = 1.0e-5
static

Definition at line 8390 of file MainWindow.cpp.

◆ s_subdivideMaxArea

double s_subdivideMaxArea = 1.0
static

Definition at line 6907 of file MainWindow.cpp.

◆ s_viewportIndex

unsigned s_viewportIndex = 0
static

Definition at line 2366 of file MainWindow.cpp.

Referenced by MainWindow::doActionSaveViewportAsCamera().