SCENE C++ API  2.0.22
lsproject.h
1 #pragma once
2 
3 #include <core_api/lsglobaldefinitions.h>
4 #include <core_api/ref_ptr.h>
5 #include <core_api/lsworkspace.h>
6 
7 namespace SCENE_API {
8 
9 // Forward declarations
10 class LSProject_Implementation;
11 
14 class LSProject : public LSWorkspace
15 {
16  LS_UNCOPYABLE(LSProject)
17 
18 public:
19 
22  CORE_API_EXPORT ~LSProject();
23 
30  CORE_API_EXPORT static LSResult::Result createProject(
31  LSString projectPath,
32  LSString projectName);
33 
47  CORE_API_EXPORT static LSResult::Result loadProject(
48  LSString projectPath,
49  ref_ptr<LSProject>& projectOut,
50  bool readOnly = false);
51 
60  CORE_API_EXPORT LSResult::Result saveRevision(
61  LSString commitMessage = L"",
62  LSString author = L"",
63  bool updateProjectPointCloud = false);
64 
67  CORE_API_EXPORT LSString getProjectName() const;
68 
71  CORE_API_EXPORT LSString getProjectPath() const;
72 
75  CORE_API_EXPORT LSString getProjectFilePath() const;
76 
83  CORE_API_EXPORT LSResult::Result cleanRevisions();
84 
85 protected:
86  LS_INTERFACE(LSProject, LSWorkspace)
87 };
88 
89 }