SCENE C++ API
2.1.0
Core_API
core_api
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
#include <core_api/lsprojectmetadata.h>
7
8
namespace
SCENE_API {
9
10
// Forward declarations
11
class
LSProject_Implementation;
12
15
class
LSProject
:
public
LSWorkspace
16
{
17
LS_UNCOPYABLE(
LSProject
)
18
19
public
:
20
23
CORE_API_EXPORT
~LSProject
();
24
31
CORE_API_EXPORT
static
LSResult::Result
createProject
(
32
LSString
projectPath,
33
LSString
projectName);
34
45
CORE_API_EXPORT
static
LSResult::Result
createProject
(
46
LSString
projectPath,
47
LSString
projectName,
48
LSString
uuid);
49
63
CORE_API_EXPORT
static
LSResult::Result
loadProject
(
64
LSString
projectPath,
65
ref_ptr<LSProject>
& projectOut,
66
bool
readOnly =
false
);
67
76
CORE_API_EXPORT
LSResult::Result
saveRevision
(
77
LSString
commitMessage = L
""
,
78
LSString
author = L
""
,
79
bool
updateProjectPointCloud =
false
);
80
83
CORE_API_EXPORT
LSString
getProjectName
()
const
;
84
87
CORE_API_EXPORT
LSString
getUuid
()
const
;
88
91
CORE_API_EXPORT
LSString
getProjectPath
()
const
;
92
95
CORE_API_EXPORT
LSString
getProjectFilePath
()
const
;
96
103
CORE_API_EXPORT
LSResult::Result
cleanRevisions
();
104
114
CORE_API_EXPORT
static
LSPod<std::vector<ref_ptr<LSProjectMetadata>
>>
listScannerProjects
(
115
const
LSString
& inputDirectory,
116
bool
recursive =
true
);
117
131
CORE_API_EXPORT
static
LSResult::Result
importScannerProject
(
132
const
LSString
& projectPath,
133
const
ref_ptr<LSProjectMetadata>
& metadata);
134
135
protected
:
136
LS_INTERFACE(
LSProject
,
LSWorkspace
)
137
};
138
139
}
// namespace SCENE_API