LVRScanDataItem.hpp
Go to the documentation of this file.
1 #ifndef LVR2_TOOLS_VIEWER_WIDGETS_LVRSCANDATAITEM_HPP
2 #define LVR2_TOOLS_VIEWER_WIDGETS_LVRSCANDATAITEM_HPP
3 
4 #include <QString>
5 #include <QTreeWidgetItem>
6 
7 #include <vtkMatrix4x4.h>
8 
11 
12 #include "../vtkBridge/LVRModelBridge.hpp"
13 #include "../vtkBridge/LVRBoundingBoxBridge.hpp"
14 
15 #include "LVRBoundingBoxItem.hpp"
16 #include "LVRPointCloudItem.hpp"
17 #include "LVRPoseItem.hpp"
18 #include "LVRCamDataItem.hpp"
19 
20 #include <Eigen/Dense>
21 
22 namespace lvr2
23 {
24 
25 class LVRScanDataItem : public QTreeWidgetItem, public Transformable
26 {
27  public:
28 
30  std::shared_ptr<ScanDataManager> sdm,
31  size_t idx,
32  vtkSmartPointer<vtkRenderer> renderer,
33  QString name = "",
34  QTreeWidgetItem *parent = NULL);
35 
37 
38  void loadPointCloudData(vtkSmartPointer<vtkRenderer> renderer);
39 
40  void unloadPointCloudData(vtkSmartPointer<vtkRenderer> renderer);
41 
42  size_t getScanId() { return m_idx; }
43 
44  QString getName() { return m_name; }
45 
46  Pose getPose() { return getModelBridgePtr()->getPose(); }
47 
49 
51 
52  void setVisibility(bool visible, bool pc_visible);
53 
54  bool isPointCloudLoaded();
55 
56  void reload();
57 
58  private:
59 
60  void reload(vtkSmartPointer<vtkRenderer> renderer);
61 
62  QString m_name;
63  std::shared_ptr<ScanDataManager> m_sdm;
64  size_t m_idx;
72  QTreeWidgetItem *m_showSpectralsItem;
74  vtkSmartPointer<vtkRenderer> m_renderer;
75 
76 };
77 
78 } // namespace lvr2
79 
80 #endif
LVRScanDataItem(ScanPtr data, std::shared_ptr< ScanDataManager > sdm, size_t idx, vtkSmartPointer< vtkRenderer > renderer, QString name="", QTreeWidgetItem *parent=NULL)
ModelBridgePtr getModelBridgePtr()
BoundingBoxBridgePtr getBoundingBoxBridge()
std::shared_ptr< ScanDataManager > m_sdm
QTreeWidgetItem * m_showSpectralsItem
LVRBoundingBoxItem * m_bbItem
std::shared_ptr< Scan > ScanPtr
Shared pointer to scans.
Definition: ScanTypes.hpp:98
Transform< double > Transformd
4x4 double precision transformation matrix
Definition: MatrixTypes.hpp:71
Interface for transformable objects.
boost::shared_ptr< LVRModelBridge > ModelBridgePtr
void loadPointCloudData(vtkSmartPointer< vtkRenderer > renderer)
vtkSmartPointer< vtkRenderer > m_renderer
void setVisibility(bool visible, bool pc_visible)
BoundingBoxBridgePtr m_bb
LVRPointCloudItem * m_pcItem
boost::shared_ptr< LVRBoundingBoxBridge > BoundingBoxBridgePtr
void unloadPointCloudData(vtkSmartPointer< vtkRenderer > renderer)
#define NULL
Definition: mydefs.hpp:141


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 Mon Feb 28 2022 22:46:08