SCENE C++ API  2.1.0
lsview.h
1 #pragma once
2 
3 #include <core_api/lsglobaldefinitions.h>
4 #include <core_api/lsinterface.h>
5 #include <core_api/lsreftype.h>
6 #include <core_api/lsresult.h>
7 #include <core_api/lsobject.h>
8 #include <core_api/lssignal.h>
9 
10 #include <plugin_api/lsmouseevent.h>
11 #include <plugin_api/lsmousewheelevent.h>
12 #include <plugin_api/lskeyevent.h>
13 
14 #include <Eigen/Core>
15 
16 namespace SCENE_API {
17 
18 // Forward declarations
19 class LSView_Implementation;
20 
24 class LSView : public LSInterface, public LSRefType
25 {
26  LS_UNCOPYABLE(LSView)
27 
28 public:
29 
32  enum ViewType {
33  VIEW_3D = 0,
35  QUICK_VIEW = 3,
37  };
38 
39 
43  PLUGIN_API_EXPORT bool isOffscreen() const;
44 
48  PLUGIN_API_EXPORT ViewType getViewType() const;
49 
53  PLUGIN_API_EXPORT unsigned getViewSizeX();
57  PLUGIN_API_EXPORT unsigned getViewSizeY();
58 
62  PLUGIN_API_EXPORT ref_ptr<LSObject> getVisualizedObject() const;
63 
70  PLUGIN_API_EXPORT Eigen::Vector3d pickScanPoint(const Eigen::Vector2ui& viewPoint);
71 
73 
74 
78 
82 
86 
91 
95 
99 
103 
107 
111 
115 
119 
121 
122 protected:
123  LS_INTERFACE(LSView, LSInterface)
124 };
125 
126 }