LVRMainWindow.hpp
Go to the documentation of this file.
1 
34 #ifndef MAINWINDOW_HPP_
35 #define MAINWINDOW_HPP_
36 
37 #include <vtkSmartPointer.h>
38 #include <vtkCamera.h>
39 #include <vtkCameraRepresentation.h>
40 #include <vtkCameraInterpolator.h>
41 #include <vtkCommand.h>
42 #include <vtkRenderer.h>
43 #include <vtkRendererCollection.h>
44 #include <vtkRenderWindow.h>
45 #include <vtkRenderWindowInteractor.h>
46 #include <vtkViewport.h>
47 #include <vtkObjectFactory.h>
48 #include <vtkGraphicsFactory.h>
49 #include <vtkOrientationMarkerWidget.h>
50 #include <vtkAxesActor.h>
51 #include <vtkOpenGLRenderer.h>
52 #include <vtkNew.h>
53 
54 #include <vtkCullerCollection.h>
55 
56 // EDL shading is only available in new vtk versions
57 #ifdef LVR2_USE_VTK_GE_7_1
58 #include <vtkEDLShading.h>
59 #include <vtkRenderStepsPass.h>
60 #endif
61 
62 #include <QtGui>
63 #ifdef LVR2_USE_VTK8
64  #include "ui_LVRMainWindowQVTKOGLUI.h"
65 #else
66  #include "ui_LVRMainWindowUI.h"
67 #endif
68 #include "ui_LVRAboutDialogUI.h"
69 #include "ui_LVRTooltipDialogUI.h"
70 
71 #include "LVRTreeWidgetHelper.hpp"
72 
73 #include "../widgets/LVRPlotter.hpp"
74 #include "../vtkBridge/LVRModelBridge.hpp"
75 #include "../widgets/LVRModelItem.hpp"
76 #include "../widgets/LVRPointCloudItem.hpp"
77 #include "../widgets/LVRMeshItem.hpp"
78 #include "../widgets/LVRItemTypes.hpp"
79 #include "../widgets/LVRRenameDialog.hpp"
80 #include "../widgets/LVRAnimationDialog.hpp"
81 #include "../widgets/LVRTransformationDialog.hpp"
82 #include "../widgets/LVRCorrespondanceDialog.hpp"
83 #include "../widgets/LVRLabelDialog.hpp"
84 #include "../widgets/LVRReconstructionEstimateNormalsDialog.hpp"
85 #include "../widgets/LVRReconstructionMarchingCubesDialog.hpp"
86 #include "../widgets/LVRReconstructionExtendedMarchingCubesDialog.hpp"
87 #include "../widgets/LVROptimizationPlanarOptimizationDialog.hpp"
88 #include "../widgets/LVROptimizationRemoveArtifactsDialog.hpp"
89 #include "../widgets/LVRFilteringMLSProjectionDialog.hpp"
90 #include "../widgets/LVRFilteringRemoveOutliersDialog.hpp"
91 #include "../widgets/LVRBackgroundDialog.hpp"
92 #include "../widgets/LVRHistogram.hpp"
93 #include "../widgets/LVRScanDataItem.hpp"
94 #include "../widgets/LVRCamDataItem.hpp"
95 #include "../widgets/LVRBoundingBoxItem.hpp"
96 #include "../widgets/LVRPointInfo.hpp"
97 #include "../vtkBridge/LVRPickingInteractor.hpp"
98 #include "../vtkBridge/LVRLabelInteractor.hpp"
99 #include "../vtkBridge/LVRVtkArrow.hpp"
100 
101 #include <iostream>
102 #include <iterator>
103 #include <vector>
104 #include <set>
105 #include <boost/format.hpp>
106 
107 #include "../vtkBridge/LVRChunkedMeshBridge.hpp"
108 #include "../vtkBridge/LVRChunkedMeshCuller.hpp"
109 
110 #define LABEL_NAME_COLUMN 0
111 #define LABELED_POINT_COLUMN 1
112 #define LABEL_VISIBLE_COLUMN 2
113 #define LABEL_ID_COLUMN 3
114 
115 
116 
117 using std::vector;
118 using std::cout;
119 using std::endl;
120 
121 namespace lvr2
122 {
123 
124 class LVRMainWindow : public QMainWindow, public Ui::MainWindow
125 {
126  Q_OBJECT
127 public:
128 
132  LVRMainWindow();
133  virtual ~LVRMainWindow();
134  std::mutex display_mutex;
135 
136 public Q_SLOTS:
137  void updateDisplayLists(actorMap lowRes, actorMap highRes);
138 
139  //std::unordered_map<size_t, vtkSmartPointer<MeshChunkActor> > lowResActors,
140  // std::unordered_map<size_t, vtkSmartPointer<MeshChunkActor> > highResActors);
141 
142 
143  void comboBoxIndexChanged(int index);
144  void addNewInstance(QTreeWidgetItem *);
145  void loadModel();
146  void loadModels(const QStringList& filenames);
147  void loadChunkedMesh();
148  void loadChunkedMesh(const QStringList& filenames, std::vector<std::string> layers, int cacheSize, float highResDistance);
149  void manualICP();
150  void manualLabeling();
151  void changePicker(bool labeling);
152  void showLabelTreeContextMenu(const QPoint&);
153  void updatePointCount(const uint16_t, const int);
154 
155  void cellSelected(QTreeWidgetItem* item, int column);
156  void addLabelClass();
157 
159  void showTreeContextMenu(const QPoint&);
160  void showColorDialog();
162  void showErrorDialog();
164  void showHistogramDialog();
165  void renameModelItem();
166  void estimateNormals();
170  void optimizePlanes();
171  void removeArtifacts();
172  void applyMLSProjection();
173  void removeOutliers();
174  void deleteModelItem();
175  void copyModelItem();
176  void pasteModelItem();
177  void loadPointCloudData();
178  void unloadPointCloudData();
179  void changePointSize(int pointSize);
180  void changeTransparency(int transparencyValue);
181  void changeShading(int shader);
182 
183  void showImage();
184  void setViewToCamera();
185 
187  void changeSpectralColor();
189  void onSpectralSliderChanged(int action = -1);
194 
196  void changeGradientColor();
198  void onGradientSliderChanged(int action = -1);
203 
204  void assertToggles();
205  void togglePoints(bool checkboxState);
206  void toggleNormals(bool checkboxState);
207  void toggleMeshes(bool checkboxState);
208  void toggleWireframe(bool checkboxState);
209  void toogleEDL(bool checkboxstate);
210 
211  void refreshView();
212  void updateView();
213  void saveCamera();
214  void loadCamera();
215  void parseCommandLine(int argc, char** argv);
216  void openCameraPathTool();
217  void removeArrow(LVRVtkArrow*);
218  void addArrow(LVRVtkArrow*);
219  void alignPointClouds();
220  void exportSelectedModel();
221  void buildIncompatibilityBox(string actionName, unsigned char allowedTypes);
222  void showBackgroundDialog();
223 
225  void showPointInfoDialog();
227  void showPointPreview(vtkActor* actor, int point);
229  void updatePointPreview(int pointId, PointBufferPtr points);
230 
232  void updateSpectralSlidersEnabled(bool checked);
234  void updateSpectralGradientEnabled(bool checked);
235  QTreeWidgetItem* addScans(std::shared_ptr<ScanDataManager> sdm, QTreeWidgetItem *parent);
236 
237  LVRModelItem* getModelItem(QTreeWidgetItem* item);
238  LVRPointCloudItem* getPointCloudItem(QTreeWidgetItem* item);
239  QList<LVRPointCloudItem*> getPointCloudItems(QList<QTreeWidgetItem*> items);
240  LVRMeshItem* getMeshItem(QTreeWidgetItem* item);
241  std::set<LVRModelItem*> getSelectedModelItems();
242  std::set<LVRPointCloudItem*> getSelectedPointCloudItems();
243  std::set<LVRMeshItem*> getSelectedMeshItems();
244  void exportLabels();
245 
246 protected Q_SLOTS:
247  void setModelVisibility(QTreeWidgetItem* treeWidgetItem, int column);
249  void restoreSliders();
250  void highlightBoundingBoxes();
251 
252  void visibilityChanged(QTreeWidgetItem*, int);
253  void loadLabels();
254 
255 Q_SIGNALS:
256  void labelChanged(uint16_t);
258  void labelAdded(QTreeWidgetItem*);
259  void hidePoints(int, bool);
260  void labelLoaded(int, std::vector<int>);
261 
262 private:
263  void setupQVTK();
264  void connectSignalsAndSlots();
265  LVRModelItem* loadModelItem(QString name);
266  bool childNameExists(QTreeWidgetItem* item, const QString& name);
267  QString increaseFilename(QString filename);
268 
269  QList<QTreeWidgetItem*> m_items_copied;
272  std::map<LVRPointCloudItem*, LVRHistogram*> m_histograms;
276  QDialog* m_aboutDialog;
277  QDialog* m_errorDialog;
278  QMessageBox* m_incompatibilityBox;
279  vtkSmartPointer<vtkRenderer> m_renderer;
280  vtkSmartPointer<vtkRenderWindowInteractor> m_renderWindowInteractor;
281  vtkSmartPointer<vtkCamera> m_camera;
282  vtkSmartPointer<vtkCameraRepresentation> m_pathCamera;
283  vtkSmartPointer<vtkOrientationMarkerWidget> m_axesWidget;
284  vtkSmartPointer<vtkAxesActor> m_axes;
285 
287 // vtkSmartPointer<ChunkedMeshCuller> m_chunkCuller;
291 
294  // Toolbar item "File"
295  QAction* m_actionOpen;
297  QAction* m_actionExport;
298  QAction* m_actionQuit;
299  // Toolbar item "Views"
304  // Toolbar item "Reconstruction"
312  // Toolbar item "Mesh Optimization"
315  // Toolbar item "Filtering"
318  // Toolbar item "Registration"
322  // Toolbar item "Classification"
325  // Toolbar items "Labeling"
329  // Toolbar item "About"
330  QMenu* m_menuAbout;
331  // QToolbar below toolbar
341  // Sliders below tree widget
344  // Combo boxes below sliders
345  QComboBox* m_comboBoxGradient;
346  QComboBox* m_comboBoxShading;
347  // Buttons below combo boxes
349  QPushButton* m_buttonCreateMesh;
350  QPushButton* m_buttonExportData;
352  // Spectral Settings
353  QSlider* m_spectralSliders[3];
354  QCheckBox* m_spectralCheckboxes[3];
355  QLabel* m_spectralLabels[3];
356  QLineEdit* m_spectralLineEdits[3];
357  // Gradient Settings
359  QLineEdit* m_gradientLineEdit;
360  // ContextMenu Items
369 
372 
373  //Label
377 
381 
382 
383  // EDM Rendering
384 #ifdef LVR2_USE_VTK_GE_7_1
385  vtkSmartPointer<vtkRenderStepsPass> m_basicPasses;
386  vtkSmartPointer<vtkEDLShading> m_edl;
387 #endif
388 
389  bool m_labeling = false;
390  int m_id = 1;
391  static const string UNKNOWNNAME;
392  QTreeWidgetItem* m_selectedLabelItem;
393 
394  enum TYPE {
402  };
403 };
404 
405 } /* namespace lvr2 */
406 
407 #endif /* MAINWINDOW_HPP_ */
lvr2::LVRMainWindow::m_actionEstimate_Normals
QAction * m_actionEstimate_Normals
Definition: LVRMainWindow.hpp:305
lvr2::LVRMainWindow::m_treeParentItemContextMenu
QMenu * m_treeParentItemContextMenu
Definition: LVRMainWindow.hpp:289
lvr2::LVRMainWindow::m_actionShowBackgroundSettings
QAction * m_actionShowBackgroundSettings
Definition: LVRMainWindow.hpp:336
lvr2::LVRMainWindow::togglePoints
void togglePoints(bool checkboxState)
Definition: LVRMainWindow.cpp:1860
lvr2::LVRMainWindow::m_actionSimple_Plane_Classification
QAction * m_actionSimple_Plane_Classification
Definition: LVRMainWindow.hpp:323
lvr2::LVRMainWindow::m_actionGlobal_Relaxation
QAction * m_actionGlobal_Relaxation
Definition: LVRMainWindow.hpp:321
lvr2::LVRMainWindow::showLabelTreeContextMenu
void showLabelTreeContextMenu(const QPoint &)
Definition: LVRMainWindow.cpp:919
lvr2::LVRMainWindow::loadModel
void loadModel()
Definition: LVRMainWindow.cpp:1275
lvr2::LVRMainWindow::m_actionDeleteModelItem
QAction * m_actionDeleteModelItem
Definition: LVRMainWindow.hpp:365
lvr2::LVRMainWindow::m_actionSetViewToCamera
QAction * m_actionSetViewToCamera
Definition: LVRMainWindow.hpp:371
lvr2::LVRMainWindow::TYPE
TYPE
Definition: LVRMainWindow.hpp:394
lvr2::LVRMainWindow::m_actionShow_Wireframe
QAction * m_actionShow_Wireframe
Definition: LVRMainWindow.hpp:335
lvr2::LVRMainWindow::m_horizontalSliderTransparency
QSlider * m_horizontalSliderTransparency
Definition: LVRMainWindow.hpp:343
lvr2::LVRMainWindow::unloadPointCloudData
void unloadPointCloudData()
Definition: LVRMainWindow.cpp:1356
lvr2::LVRMainWindow::loadCamera
void loadCamera()
Definition: LVRMainWindow.cpp:622
lvr2::LVRMainWindow::changeGradientColor
void changeGradientColor()
Updates all selected LVRPointCloudItems to the desired Gradient. can take seconds
Definition: LVRMainWindow.cpp:2526
lvr2::LVRMainWindow::updatePointCount
void updatePointCount(const uint16_t, const int)
Definition: LVRMainWindow.cpp:2654
lvr2::LVRMainWindow::pasteModelItem
void pasteModelItem()
Definition: LVRMainWindow.cpp:1495
lvr2::LVRMainWindow::m_actionMatch_Textures_from_Package
QAction * m_actionMatch_Textures_from_Package
Definition: LVRMainWindow.hpp:310
lvr2::LVRMainWindow::m_actionExtended_Marching_Cubes
QAction * m_actionExtended_Marching_Cubes
Definition: LVRMainWindow.hpp:308
lvr2::LVRMainWindow::changePointSize
void changePointSize(int pointSize)
Definition: LVRMainWindow.cpp:1777
lvr2::LVRMainWindow::m_treeChildItemContextMenu
QMenu * m_treeChildItemContextMenu
Definition: LVRMainWindow.hpp:290
lvr2::LVRMainWindow::labelChanged
void labelChanged(uint16_t)
lvr2::LVRMainWindow::m_labelDialog
LVRLabelDialog * m_labelDialog
Definition: LVRMainWindow.hpp:271
lvr2::LVRMainWindow::showBackgroundDialog
void showBackgroundDialog()
Definition: LVRMainWindow.cpp:482
lvr2::LVRMainWindow::m_actionExtract_labeling
QAction * m_actionExtract_labeling
Definition: LVRMainWindow.hpp:328
lvr2::LVRPlotter
Definition: LVRPlotter.hpp:44
lvr2::LVRMainWindow::m_actionShowImage
QAction * m_actionShowImage
Definition: LVRMainWindow.hpp:370
lvr2::LVRMainWindow::deleteModelItem
void deleteModelItem()
Definition: LVRMainWindow.cpp:1417
lvr2::LVRMainWindow::highlightBoundingBoxes
void highlightBoundingBoxes()
Definition: LVRMainWindow.cpp:762
lvr2::LVRMainWindow::m_buttonCreateMesh
QPushButton * m_buttonCreateMesh
Definition: LVRMainWindow.hpp:349
lvr2::LVRMainWindow::m_actionRemoveInstance
QAction * m_actionRemoveInstance
Definition: LVRMainWindow.hpp:376
lvr2::LVRMainWindow::m_axes
vtkSmartPointer< vtkAxesActor > m_axes
Definition: LVRMainWindow.hpp:284
lvr2::LVRMainWindow::m_actionShowSpectralHistogram
QAction * m_actionShowSpectralHistogram
Definition: LVRMainWindow.hpp:340
lvr2::LVRMainWindow::onSpectralSliderChanged
void onSpectralSliderChanged(int action=-1)
Determines if changeSpectralColor() should be called. Updates the m_spectralLineEdit to the value fro...
Definition: LVRMainWindow.cpp:2369
lvr2::LVRMainWindow::m_actionRemove_Outliers
QAction * m_actionRemove_Outliers
Definition: LVRMainWindow.hpp:316
lvr2::LVRMainWindow::m_actionRemove_Artifacts
QAction * m_actionRemove_Artifacts
Definition: LVRMainWindow.hpp:314
lvr2::LVRMainWindow::getSelectedModelItems
std::set< LVRModelItem * > getSelectedModelItems()
Definition: LVRMainWindow.cpp:1676
lvr2::LVRMeshItem
Definition: LVRMeshItem.hpp:45
lvr2::LVRMainWindow::m_errorDialog
QDialog * m_errorDialog
Definition: LVRMainWindow.hpp:277
lvr2::ChunkedMeshBridgePtr
boost::shared_ptr< LVRChunkedMeshBridge > ChunkedMeshBridgePtr
Definition: LVRChunkedMeshBridge.hpp:127
lvr2::LVRMainWindow::m_incompatibilityBox
QMessageBox * m_incompatibilityBox
Definition: LVRMainWindow.hpp:278
lvr2::LVRMainWindow::estimateNormals
void estimateNormals()
Definition: LVRMainWindow.cpp:2115
lvr2::LVRMainWindow::reconstructUsingExtendedMarchingCubes
void reconstructUsingExtendedMarchingCubes()
Definition: LVRMainWindow.cpp:2177
lvr2::LVRMainWindow::m_actionRenameModelItem
QAction * m_actionRenameModelItem
Definition: LVRMainWindow.hpp:364
lvr2::LVRMainWindow::m_actionShowSpectralColorGradient
QAction * m_actionShowSpectralColorGradient
Definition: LVRMainWindow.hpp:338
lvr2::PointBufferPtr
std::shared_ptr< PointBuffer > PointBufferPtr
Definition: PointBuffer.hpp:130
lvr2::LVRMainWindow::m_PointPreviewPlotter
LVRPlotter * m_PointPreviewPlotter
Definition: LVRMainWindow.hpp:273
lvr2::LVRMainWindow::reconstructUsingMarchingCubes
void reconstructUsingMarchingCubes()
Definition: LVRMainWindow.cpp:2141
lvr2::LVRMainWindow::loadModels
void loadModels(const QStringList &filenames)
Definition: LVRMainWindow.cpp:1184
lvr2::LVRMainWindow::m_actionOpenChunkedMesh
QAction * m_actionOpenChunkedMesh
Definition: LVRMainWindow.hpp:296
lvr2::LVRMainWindow::m_chunkBridge
ChunkedMeshBridgePtr m_chunkBridge
Definition: LVRMainWindow.hpp:286
lvr2::LVRMainWindow::manualLabeling
void manualLabeling()
Definition: LVRMainWindow.cpp:2035
lvr2::LVRMainWindow::manualICP
void manualICP()
Definition: LVRMainWindow.cpp:2047
lvr2::LVRMainWindow::applyMLSProjection
void applyMLSProjection()
Definition: LVRMainWindow.cpp:2231
lvr2::LVRMainWindow::loadChunkedMesh
void loadChunkedMesh()
Definition: LVRMainWindow.cpp:1282
LVRTreeWidgetHelper.hpp
lvr2::LVRMainWindow::m_actionShow_Normals
QAction * m_actionShow_Normals
Definition: LVRMainWindow.hpp:333
lvr2::LVRMainWindow::labelAdded
void labelAdded(QTreeWidgetItem *)
lvr2::LVRMainWindow::m_histograms
std::map< LVRPointCloudItem *, LVRHistogram * > m_histograms
Definition: LVRMainWindow.hpp:272
LVRLabelInteractorStyle
Definition: LVRLabelInteractor.hpp:35
lvr2::LVRVtkArrow
A wrapper class to generate arrow actors for vtk based on VTK's oriented arrow example.
Definition: LVRVtkArrow.hpp:49
lvr2::LVRMainWindow::addArrow
void addArrow(LVRVtkArrow *)
Definition: LVRMainWindow.cpp:633
lvr2::LVRMainWindow::addLabelClass
void addLabelClass()
Definition: LVRMainWindow.cpp:957
lvr2::LVRMainWindow::setViewToCamera
void setViewToCamera()
Definition: LVRMainWindow.cpp:1398
lvr2::LVRMainWindow::reconstructUsingPlanarMarchingCubes
void reconstructUsingPlanarMarchingCubes()
Definition: LVRMainWindow.cpp:2159
lvr2::LVRMainWindow::m_pathCamera
vtkSmartPointer< vtkCameraRepresentation > m_pathCamera
Definition: LVRMainWindow.hpp:282
lvr2::LVRPointCloudItem
Definition: LVRPointCloudItem.hpp:45
lvr2::LVRMainWindow::m_actionMLS_Projection
QAction * m_actionMLS_Projection
Definition: LVRMainWindow.hpp:317
lvr2::LVRMainWindow::MODELITEMS_ONLY
@ MODELITEMS_ONLY
Definition: LVRMainWindow.hpp:395
lvr2::LVRMainWindow::m_axesWidget
vtkSmartPointer< vtkOrientationMarkerWidget > m_axesWidget
Definition: LVRMainWindow.hpp:283
lvr2::LVRMainWindow::m_actionShowColorDialog
QAction * m_actionShowColorDialog
Definition: LVRMainWindow.hpp:361
lvr2::LVRMainWindow::showImage
void showImage()
Definition: LVRMainWindow.cpp:1381
lvr2::LVRMainWindow::correspondenceDialogOpened
void correspondenceDialogOpened()
lvr2::LVRMainWindow::m_actionExport
QAction * m_actionExport
Definition: LVRMainWindow.hpp:297
lvr2::LVRMainWindow::m_correspondanceDialog
LVRCorrespondanceDialog * m_correspondanceDialog
Definition: LVRMainWindow.hpp:270
lvr2::LVRMainWindow::removeArrow
void removeArrow(LVRVtkArrow *)
Definition: LVRMainWindow.cpp:644
lvr2::LVRMainWindow::restoreSliders
void restoreSliders()
Adjusts all the Sliders, LineEdits and CheckBoxes to the currently selected Items.
Definition: LVRMainWindow.cpp:655
lvr2::LVRMainWindow::parseCommandLine
void parseCommandLine(int argc, char **argv)
Definition: LVRMainWindow.cpp:1993
lvr2::LVRMainWindow::m_labeling
bool m_labeling
Definition: LVRMainWindow.hpp:389
lvr2::LVRMainWindow::loadPointCloudData
void loadPointCloudData()
Definition: LVRMainWindow.cpp:1328
lvr2::LVRMainWindow::exportLabels
void exportLabels()
Definition: LVRMainWindow.cpp:2885
lvr2::LVRMainWindow::changeSpectralColor
void changeSpectralColor()
Updates all selected LVRPointCloudItems to the desired Spectral. can take seconds
Definition: LVRMainWindow.cpp:2436
lvr2::LVRMainWindow::m_spectralSliders
QSlider * m_spectralSliders[3]
Definition: LVRMainWindow.hpp:353
lvr2::LVRMainWindow::connectSignalsAndSlots
void connectSignalsAndSlots()
Definition: LVRMainWindow.cpp:327
lvr2::LVRMainWindow::m_spectralLabels
QLabel * m_spectralLabels[3]
Definition: LVRMainWindow.hpp:355
lvr2::LVRMainWindow::m_treeWidgetHelper
LVRTreeWidgetHelper * m_treeWidgetHelper
Definition: LVRMainWindow.hpp:380
lvr2::LVRMainWindow::showHistogramDialog
void showHistogramDialog()
Shows a Popup Dialog with the average Intensity per Spectral Channel.
Definition: LVRMainWindow.cpp:2301
lvr2::LVRMainWindow::setModelVisibility
void setModelVisibility(QTreeWidgetItem *treeWidgetItem, int column)
Definition: LVRMainWindow.cpp:1724
lvr2::LVRMainWindow::POINTCLOUDS_AND_PARENT_ONLY
@ POINTCLOUDS_AND_PARENT_ONLY
Definition: LVRMainWindow.hpp:398
lvr2::LVRMainWindow::addNewInstance
void addNewInstance(QTreeWidgetItem *)
Definition: LVRMainWindow.cpp:2774
lvr2::LVRMainWindow::loadLabels
void loadLabels()
Definition: LVRMainWindow.cpp:2812
lvr2::LVRMainWindow::m_actionLoadPointCloudData
QAction * m_actionLoadPointCloudData
Definition: LVRMainWindow.hpp:367
lvr2::LVRMainWindow::m_spectralCheckboxes
QCheckBox * m_spectralCheckboxes[3]
Definition: LVRMainWindow.hpp:354
actorMap
std::unordered_map< size_t, vtkSmartPointer< vtkActor > > actorMap
Definition: LVRChunkedMeshBridge.hpp:48
lvr2::LVRMainWindow::showTransformationDialog
void showTransformationDialog()
Definition: LVRMainWindow.cpp:2083
lvr2::LVRMainWindow::setupQVTK
void setupQVTK()
Definition: LVRMainWindow.cpp:507
lvr2::LVRMainWindow::getPointCloudItems
QList< LVRPointCloudItem * > getPointCloudItems(QList< QTreeWidgetItem * > items)
Definition: LVRMainWindow.cpp:1590
lvr2::LVRMainWindow::m_actionShowSpectralSlider
QAction * m_actionShowSpectralSlider
Definition: LVRMainWindow.hpp:337
lvr2::LVRMainWindow::m_labelTreeChildItemContextMenu
QMenu * m_labelTreeChildItemContextMenu
Definition: LVRMainWindow.hpp:293
lvr2::LVRMainWindow::updatePointPreview
void updatePointPreview(int pointId, PointBufferPtr points)
Changes the Point displayed by the PointPreview.
Definition: LVRMainWindow.cpp:2561
lvr2::LVRMainWindow::getModelItem
LVRModelItem * getModelItem(QTreeWidgetItem *item)
Definition: LVRMainWindow.cpp:1579
lvr2::LVRMainWindow::changeShading
void changeShading(int shader)
Definition: LVRMainWindow.cpp:1847
lvr2::LVRMainWindow::POINTCLOUDS_AND_MESHES_ONLY
@ POINTCLOUDS_AND_MESHES_ONLY
Definition: LVRMainWindow.hpp:400
lvr2::LVRMainWindow::m_actionReset_Camera
QAction * m_actionReset_Camera
Definition: LVRMainWindow.hpp:300
lvr2::ChunkedMeshCuller
Definition: LVRChunkedMeshCuller.hpp:20
lvr2::LVRMainWindow::getSelectedPointCloudItems
std::set< LVRPointCloudItem * > getSelectedPointCloudItems()
Definition: LVRMainWindow.cpp:1689
scripts.normalize_multiple.filename
filename
Definition: normalize_multiple.py:60
lvr2::LVRMainWindow::alignPointClouds
void alignPointClouds()
Definition: LVRMainWindow.cpp:854
lvr2::LVRMainWindow::m_selectedLabelItem
QTreeWidgetItem * m_selectedLabelItem
Definition: LVRMainWindow.hpp:392
lvr2::LVRMainWindow::openCameraPathTool
void openCameraPathTool()
Definition: LVRMainWindow.cpp:628
lvr2::LVRMainWindow::m_actionPasteModelItem
QAction * m_actionPasteModelItem
Definition: LVRMainWindow.hpp:363
lvr2::LVRMainWindow::changeTransparency
void changeTransparency(int transparencyValue)
Definition: LVRMainWindow.cpp:1806
lvr2::LVRMainWindow::m_actionExportModelTransformed
QAction * m_actionExportModelTransformed
Definition: LVRMainWindow.hpp:366
lvr2::LVRMainWindow::m_actionStop_labeling
QAction * m_actionStop_labeling
Definition: LVRMainWindow.hpp:327
lvr2::LVRMainWindow::showErrorDialog
void showErrorDialog()
Shows a Popup Dialog saying that no PointClouds with spectral data are selected.
Definition: LVRMainWindow.cpp:2295
lvr2::LVRMainWindow::~LVRMainWindow
virtual ~LVRMainWindow()
Definition: LVRMainWindow.cpp:271
lvr2::LVRMainWindow::m_actionCompute_Textures
QAction * m_actionCompute_Textures
Definition: LVRMainWindow.hpp:309
lvr2::LVRMainWindow::display_mutex
std::mutex display_mutex
Definition: LVRMainWindow.hpp:134
lvr2::LVRMainWindow::toggleWireframe
void toggleWireframe(bool checkboxState)
Definition: LVRMainWindow.cpp:1927
lvr2::LVRMainWindow::toggleMeshes
void toggleMeshes(bool checkboxState)
Definition: LVRMainWindow.cpp:1909
lvr2::LVRMainWindow::m_actionAddNewInstance
QAction * m_actionAddNewInstance
Definition: LVRMainWindow.hpp:375
lvr2::LVRMainWindow::POINTCLOUDS_AND_MESHES_AND_PARENT_ONLY
@ POINTCLOUDS_AND_MESHES_AND_PARENT_ONLY
Definition: LVRMainWindow.hpp:401
lvr2::LVRMainWindow::getMeshItem
LVRMeshItem * getMeshItem(QTreeWidgetItem *item)
Definition: LVRMainWindow.cpp:1656
lvr2::LVRMainWindow::exportSelectedModel
void exportSelectedModel()
Definition: LVRMainWindow.cpp:809
lvr2::LVRMainWindow::assertToggles
void assertToggles()
Definition: LVRMainWindow.cpp:1716
lvr2::LVRMainWindow::showPointInfoDialog
void showPointInfoDialog()
Shows a Popup Dialog with Information about a Point.
Definition: LVRMainWindow.cpp:2360
lvr2::LVRMainWindow::m_pickingInteractor
LVRPickingInteractor * m_pickingInteractor
Definition: LVRMainWindow.hpp:378
lvr2::LVRMainWindow::removeOutliers
void removeOutliers()
Definition: LVRMainWindow.cpp:2249
lvr2::LVRMainWindow::comboBoxIndexChanged
void comboBoxIndexChanged(int index)
Definition: LVRMainWindow.cpp:2979
lvr2::LVRMainWindow::labelLoaded
void labelLoaded(int, std::vector< int >)
lvr2::LVRMainWindow::m_actionOpen
QAction * m_actionOpen
Definition: LVRMainWindow.hpp:295
lvr2::LVRMainWindow::m_actionStore_Current_View
QAction * m_actionStore_Current_View
Definition: LVRMainWindow.hpp:301
lvr2::LVRMainWindow::m_buttonCameraPathTool
QPushButton * m_buttonCameraPathTool
Definition: LVRMainWindow.hpp:348
lvr2::LVRMainWindow::m_aboutDialog
QDialog * m_aboutDialog
Definition: LVRMainWindow.hpp:276
lvr2::LVRMainWindow::updateView
void updateView()
Definition: LVRMainWindow.cpp:595
lvr2::LVRMainWindow::m_actionQuit
QAction * m_actionQuit
Definition: LVRMainWindow.hpp:298
lvr2::LVRMainWindow::m_comboBoxGradient
QComboBox * m_comboBoxGradient
Definition: LVRMainWindow.hpp:345
lvr2::LVRMainWindow::m_actionCameraPathTool
QAction * m_actionCameraPathTool
Definition: LVRMainWindow.hpp:303
lvr2::LVRMainWindow::m_actionExtract_and_Rematch_Patterns
QAction * m_actionExtract_and_Rematch_Patterns
Definition: LVRMainWindow.hpp:311
lvr2::LVRMainWindow::visibilityChanged
void visibilityChanged(QTreeWidgetItem *, int)
Definition: LVRMainWindow.cpp:2747
argc
int argc
Definition: tests_high_five_parallel.cpp:27
lvr2::LVRMainWindow::m_horizontalSliderPointSize
QSlider * m_horizontalSliderPointSize
Definition: LVRMainWindow.hpp:342
lvr2::LVRMainWindow::m_actionUnloadPointCloudData
QAction * m_actionUnloadPointCloudData
Definition: LVRMainWindow.hpp:368
lvr2::LVRMainWindow::refreshView
void refreshView()
Definition: LVRMainWindow.cpp:612
lvr2::LVRMainWindow::saveCamera
void saveCamera()
Definition: LVRMainWindow.cpp:617
lvr2::LVRMainWindow::MESHES_ONLY
@ MESHES_ONLY
Definition: LVRMainWindow.hpp:397
lvr2::LVRMainWindow::m_menuAbout
QMenu * m_menuAbout
Definition: LVRMainWindow.hpp:330
lvr2::LVRMainWindow::removeArtifacts
void removeArtifacts()
Definition: LVRMainWindow.cpp:2213
lvr2::LVRLabelDialog
Definition: LVRLabelDialog.hpp:61
lvr2::LVRMainWindow::m_previewPointBuffer
PointBufferPtr m_previewPointBuffer
Definition: LVRMainWindow.hpp:275
lvr2::LVRMainWindow::m_actionMarching_Cubes
QAction * m_actionMarching_Cubes
Definition: LVRMainWindow.hpp:306
lvr2::LVRMainWindow::updateSpectralGradientEnabled
void updateSpectralGradientEnabled(bool checked)
Switches between Sliders and Gradients. checked == true => Gradient DockWidget enabled.
Definition: LVRMainWindow.cpp:2613
lvr2::LVRMainWindow::onSpectralLineEditChanged
void onSpectralLineEditChanged()
Updates the m_spectralSlider to the value from m_spectralLineEdit.
Definition: LVRMainWindow.cpp:2474
lvr2::LVRMainWindow::m_camera
vtkSmartPointer< vtkCamera > m_camera
Definition: LVRMainWindow.hpp:281
lvr2::LVRMainWindow::m_comboBoxShading
QComboBox * m_comboBoxShading
Definition: LVRMainWindow.hpp:346
lvr2::LVRMainWindow::optimizePlanes
void optimizePlanes()
Definition: LVRMainWindow.cpp:2195
lvr2::LVRMainWindow::copyModelItem
void copyModelItem()
Definition: LVRMainWindow.cpp:1482
lvr2::LVRModelItem
Definition: LVRModelItem.hpp:47
lvr2::LVRMainWindow::m_actionCopyModelItem
QAction * m_actionCopyModelItem
Definition: LVRMainWindow.hpp:362
lvr2
Definition: BaseBufferManipulators.hpp:39
lvr2::LVRMainWindow::loadModelItem
LVRModelItem * loadModelItem(QString name)
Definition: LVRMainWindow.cpp:1107
lvr2::LVRMainWindow::m_previewPoint
int m_previewPoint
Definition: LVRMainWindow.hpp:274
lvr2::LVRMainWindow::MESHES_AND_PARENT_ONLY
@ MESHES_AND_PARENT_ONLY
Definition: LVRMainWindow.hpp:399
lvr2::LVRTreeWidgetHelper
Definition: LVRTreeWidgetHelper.hpp:47
lvr2::LVRMainWindow::m_gradientLineEdit
QLineEdit * m_gradientLineEdit
Definition: LVRMainWindow.hpp:359
lvr2::LVRMainWindow::onSpectralLineEditSubmit
void onSpectralLineEditSubmit()
Same as onSpectralLineEditChanged(), but triggers changeSpectralView()
Definition: LVRMainWindow.cpp:2395
lvr2::LVRMainWindow::showPointPreview
void showPointPreview(vtkActor *actor, int point)
Shows the DockerWidget with the preview of the PointInfoDialog.
Definition: LVRMainWindow.cpp:2327
lvr2::LVRMainWindow::m_actionPlanar_Optimization
QAction * m_actionPlanar_Optimization
Definition: LVRMainWindow.hpp:313
lvr2::LVRMainWindow::m_actionShow_Mesh
QAction * m_actionShow_Mesh
Definition: LVRMainWindow.hpp:334
lvr2::LVRMainWindow::changePicker
void changePicker(bool labeling)
Definition: LVRMainWindow.cpp:2021
lvr2::LVRMainWindow::m_chunkCuller
ChunkedMeshCuller * m_chunkCuller
Definition: LVRMainWindow.hpp:288
lvr2::LVRMainWindow
Definition: LVRMainWindow.hpp:124
lvr2::LVRMainWindow::m_actionPlanar_Marching_Cubes
QAction * m_actionPlanar_Marching_Cubes
Definition: LVRMainWindow.hpp:307
lvr2::LVRMainWindow::m_gradientSlider
QSlider * m_gradientSlider
Definition: LVRMainWindow.hpp:358
lvr2::LVRMainWindow::onGradientLineEditSubmit
void onGradientLineEditSubmit()
Same as onGradientLineEditChanged(), but triggers changeGradientView()
Definition: LVRMainWindow.cpp:2401
lvr2::LVRMainWindow::m_actionFurniture_Recognition
QAction * m_actionFurniture_Recognition
Definition: LVRMainWindow.hpp:324
lvr2::LVRMainWindow::renameModelItem
void renameModelItem()
Definition: LVRMainWindow.cpp:1096
lvr2::LVRMainWindow::m_items_copied
QList< QTreeWidgetItem * > m_items_copied
Definition: LVRMainWindow.hpp:269
lvr2::LVRMainWindow::POINTCLOUDS_ONLY
@ POINTCLOUDS_ONLY
Definition: LVRMainWindow.hpp:396
lvr2::LVRMainWindow::m_buttonTransformModel
QPushButton * m_buttonTransformModel
Definition: LVRMainWindow.hpp:351
lvr2::LVRMainWindow::m_actionShowSpectralPointPreview
QAction * m_actionShowSpectralPointPreview
Definition: LVRMainWindow.hpp:339
lvr2::LVRMainWindow::buildIncompatibilityBox
void buildIncompatibilityBox(string actionName, unsigned char allowedTypes)
Definition: LVRMainWindow.cpp:2267
lvr2::LVRPickingInteractor
Definition: LVRPickingInteractor.hpp:60
lvr2::LVRMainWindow::toggleNormals
void toggleNormals(bool checkboxState)
Definition: LVRMainWindow.cpp:1886
lvr2::LVRMainWindow::addScans
QTreeWidgetItem * addScans(std::shared_ptr< ScanDataManager > sdm, QTreeWidgetItem *parent)
Definition: LVRMainWindow.cpp:1956
lvr2::LVRCorrespondanceDialog
Definition: LVRCorrespondanceDialog.hpp:52
lvr2::LVRMainWindow::getSelectedMeshItems
std::set< LVRMeshItem * > getSelectedMeshItems()
Definition: LVRMainWindow.cpp:1702
lvr2::LVRMainWindow::LVRMainWindow
LVRMainWindow()
MainWindow.
Definition: LVRMainWindow.cpp:78
lvr2::LVRMainWindow::hidePoints
void hidePoints(int, bool)
lvr2::LVRMainWindow::m_actionICP_Using_Manual_Correspondance
QAction * m_actionICP_Using_Manual_Correspondance
Definition: LVRMainWindow.hpp:319
lvr2::LVRMainWindow::showTreeContextMenu
void showTreeContextMenu(const QPoint &)
Definition: LVRMainWindow.cpp:1026
lvr2::LVRMainWindow::increaseFilename
QString increaseFilename(QString filename)
Definition: LVRMainWindow.cpp:1561
lvr2::LVRMainWindow::getPointCloudItem
LVRPointCloudItem * getPointCloudItem(QTreeWidgetItem *item)
Definition: LVRMainWindow.cpp:1636
lvr2::LVRMainWindow::updateDisplayLists
void updateDisplayLists(actorMap lowRes, actorMap highRes)
Definition: LVRMainWindow.cpp:2631
lvr2::LVRMainWindow::m_actionAddLabelClass
QAction * m_actionAddLabelClass
Definition: LVRMainWindow.hpp:374
lvr2::LVRMainWindow::m_buttonExportData
QPushButton * m_buttonExportData
Definition: LVRMainWindow.hpp:350
lvr2::LVRMainWindow::onGradientSliderChanged
void onGradientSliderChanged(int action=-1)
Determines if changeGradientColor() should be called. Updates the m_gradientLineEdit to the value fro...
Definition: LVRMainWindow.cpp:2503
lvr2::LVRMainWindow::cellSelected
void cellSelected(QTreeWidgetItem *item, int column)
Definition: LVRMainWindow.cpp:2675
lvr2::LVRMainWindow::m_actionShow_Points
QAction * m_actionShow_Points
Definition: LVRMainWindow.hpp:332
lvr2::LVRMainWindow::onGradientLineEditChanged
void onGradientLineEditChanged()
Updates the m_gradientSlider to the value from m_gradientLineEdit.
Definition: LVRMainWindow.cpp:2407
lvr2::LVRMainWindow::updateSpectralSlidersEnabled
void updateSpectralSlidersEnabled(bool checked)
Switches between Sliders and Gradients. checked == true => Slider DockWidget enabled.
Definition: LVRMainWindow.cpp:2595
argv
char ** argv
Definition: tests_high_five_parallel.cpp:28
lvr2::LVRMainWindow::m_labelTreeParentItemContextMenu
QMenu * m_labelTreeParentItemContextMenu
Definition: LVRMainWindow.hpp:292
lvr2::LVRMainWindow::m_renderWindowInteractor
vtkSmartPointer< vtkRenderWindowInteractor > m_renderWindowInteractor
Definition: LVRMainWindow.hpp:280
lvr2::LVRMainWindow::showColorDialog
void showColorDialog()
Definition: LVRMainWindow.cpp:2056
lvr2::LVRMainWindow::m_renderer
vtkSmartPointer< vtkRenderer > m_renderer
Definition: LVRMainWindow.hpp:279
lvr2::LVRMainWindow::m_labelInteractor
LVRLabelInteractorStyle * m_labelInteractor
Definition: LVRMainWindow.hpp:379
lvr2::LVRMainWindow::m_spectralLineEdits
QLineEdit * m_spectralLineEdits[3]
Definition: LVRMainWindow.hpp:356
lvr2::LVRMainWindow::UNKNOWNNAME
static const string UNKNOWNNAME
Definition: LVRMainWindow.hpp:391
lvr2::LVRMainWindow::toogleEDL
void toogleEDL(bool checkboxstate)
Definition: LVRMainWindow.cpp:577
lvr2::LVRMainWindow::m_actionRecall_Stored_View
QAction * m_actionRecall_Stored_View
Definition: LVRMainWindow.hpp:302
lvr2::LVRMainWindow::childNameExists
bool childNameExists(QTreeWidgetItem *item, const QString &name)
Definition: LVRMainWindow.cpp:1541
lvr2::LVRMainWindow::m_actionICP_Using_Pose_Estimations
QAction * m_actionICP_Using_Pose_Estimations
Definition: LVRMainWindow.hpp:320
lvr2::LVRMainWindow::m_actionStart_labeling
QAction * m_actionStart_labeling
Definition: LVRMainWindow.hpp:326
lvr2::LVRMainWindow::m_id
int m_id
Definition: LVRMainWindow.hpp:390


lvr2
Author(s): Thomas Wiemann , Sebastian Pütz , Alexander Mock , Lars Kiesow , Lukas Kalbertodt , Tristan Igelbrink , Johan M. von Behren , Dominik Feldschnieders , Alexander Löhr
autogenerated on Wed Mar 2 2022 00:37:24