LVRCamDataItem.hpp
Go to the documentation of this file.
1 #ifndef LVR2_TOOLS_VIEWER_WIDGETS_LVRCAMDATAITEM_HPP
2 #define LVR2_TOOLS_VIEWER_WIDGETS_LVRCAMDATAITEM_HPP
3 
4 #include <QString>
5 #include <QTreeWidgetItem>
6 #include <QAbstractItemModel>
7 #include <QObject>
8 
9 #include <vtkMatrix4x4.h>
10 
11 #include <Eigen/Dense>
12 
16 #include "lvr2/geometry/Normal.hpp"
17 #include "lvr2/types/ScanTypes.hpp"
20 
21 #include "../vtkBridge/LVRModelBridge.hpp"
22 #include "../vtkBridge/LVRBoundingBoxBridge.hpp"
23 
24 #include "LVRBoundingBoxItem.hpp"
25 #include "LVRPointCloudItem.hpp"
26 #include "LVRPoseItem.hpp"
27 #include "LVRCvImageItem.hpp"
28 
29 #include <vtkSmartPointer.h>
30 #include <vtkActor.h>
31 
32 namespace lvr2
33 {
34 
35 
36 class LVRCamDataItem : public QTreeWidgetItem, public Transformable
37 {
38 
39  public:
40 
42  std::shared_ptr<ScanDataManager> sdm,
43  size_t cam_id,
44  vtkSmartPointer<vtkRenderer> renderer,
45  QString name = "",
46  QTreeWidgetItem *parent = NULL);
47 
49 
50  QString getName() { return m_name; }
51 
52  Pose getPose() { return m_pose; }
53 
54  void setVisibility(bool visible);
55 
56  size_t getCamId() { return m_cam_id; }
57 
58  void setCameraView();
59 
60  private:
61 
72 
73  std::vector<Vector3d > genFrustrumLVR(float scale=1.0);
74 
75  vtkSmartPointer<vtkActor> genFrustrum(float scale=1.0);
76 
77  void reload(vtkSmartPointer<vtkRenderer> renderer);
78 
79  QString m_name;
80  std::shared_ptr<ScanDataManager> m_sdm;
81  size_t m_cam_id;
88 
89  vtkSmartPointer<vtkActor> m_frustrum_actor;
90  vtkSmartPointer<vtkRenderer> m_renderer;
91 };
92 
93 } // namespace lvr2
94 
95 #endif
std::vector< Vector3d > genFrustrumLVR(float scale=1.0)
void reload(vtkSmartPointer< vtkRenderer > renderer)
vtkSmartPointer< vtkActor > m_frustrum_actor
vtkSmartPointer< vtkActor > genFrustrum(float scale=1.0)
Transform< double > Transformd
4x4 double precision transformation matrix
Definition: MatrixTypes.hpp:71
Interface for transformable objects.
Intrinsics< double > Intrinsicsd
4x4 extrinsic calibration (double precision)
void setVisibility(bool visible)
std::shared_ptr< ScanDataManager > m_sdm
Transformd getGlobalTransform()
Get Transformation from Camera frame to Global. QTree used as TF tree, lvr2::Transformable types are ...
LVRCvImageItem * m_cvItem
vtkSmartPointer< vtkRenderer > m_renderer
LVRCamDataItem(ScanImage &data, std::shared_ptr< ScanDataManager > sdm, size_t cam_id, vtkSmartPointer< vtkRenderer > renderer, QString name="", QTreeWidgetItem *parent=NULL)
#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