SCENE C++ API  2.1.0
lsworkspace.h
1 #pragma once
2 
3 #include <core_api/lsglobaldefinitions.h>
4 #include <core_api/ref_ptr.h>
5 #include <core_api/lsinterface.h>
6 #include <core_api/lsstring.h>
7 #include <core_api/lsobject.h>
8 #include <core_api/lsscan.h>
9 #include <core_api/lspointcloud.h>
10 #include <core_api/lspointselection.h>
11 #include <core_api/lssignal.h>
12 #include <core_api/lsworkspaceevent.h>
13 
14 namespace SCENE_API {
15 
16 // Forward declarations
17 class LSWorkspace_Implementation;
18 
21 class LSWorkspace : public LSInterface, public LSRefType
22 {
23  LS_UNCOPYABLE(LSWorkspace)
24 
25 public:
26 
29  CORE_API_EXPORT ref_ptr<LSObject> getRootObject() const;
30 
35  CORE_API_EXPORT LSPod<std::vector<ref_ptr<LSScan> > > getScans() const;
36 
42  CORE_API_EXPORT bool importData(const LSString& filePath);
43 
47  CORE_API_EXPORT LSPod<std::vector<ref_ptr<LSObject> > > getSelectedObjects() const;
48 
52  CORE_API_EXPORT ref_ptr<LSPointCloud> getPointCloud() const;
53 
60  CORE_API_EXPORT LSResult::Result createPointCloud();
61 
68  CORE_API_EXPORT LSResult::Result deletePointCloud();
69 
73  CORE_API_EXPORT ref_ptr<LSPointSelection> getPointSelection() const;
74 
76 
77 
81 
85 
87 
88 protected:
89  LS_INTERFACE(LSWorkspace, LSInterface)
90 };
91 
92 }