SCENE C++ API
2.1.0
Core_API
core_api
lsobject.h
1
#pragma once
2
3
#include <core_api/lsglobaldefinitions.h>
4
#include <core_api/ref_ptr.h>
5
#include <core_api/lsattributecontainer.h>
6
#include <core_api/lsiterator.h>
7
#include <core_api/lsstring.h>
8
#include <core_api/lsresult.h>
9
10
namespace
SCENE_API {
11
12
// Forward declarations
13
class
LSObject_Implementation;
14
18
class
LSObject
:
public
LSAttributeContainer
19
{
20
LS_UNCOPYABLE(
LSObject
)
21
22
public
:
23
28
CORE_API_EXPORT Eigen::Matrix4d
getTransformationToGlobal
()
const
;
29
32
CORE_API_EXPORT
void
select
();
33
38
CORE_API_EXPORT
LSIterator<ref_ptr<LSObject>
>
getChildIterator
()
const
;
39
43
CORE_API_EXPORT
ref_ptr<LSObject>
getParent
()
const
;
44
48
CORE_API_EXPORT
unsigned
int
getNumChildren
()
const
;
49
54
CORE_API_EXPORT
ref_ptr<LSObject>
getChild
(
unsigned
int
n)
const
;
55
60
CORE_API_EXPORT
ref_ptr<LSObject>
getChild
(
LSString
name)
const
;
61
66
CORE_API_EXPORT
bool
rmChild
(
unsigned
int
n);
67
72
CORE_API_EXPORT
bool
rmChild
(
LSString
name);
73
82
CORE_API_EXPORT
LSResult::Result
addChild
(
LSString
name,
LSString
typeName,
ref_ptr<LSObject>
& childOut);
83
91
CORE_API_EXPORT
LSResult::Result
generateUniqueChildName
(
const
LSString
& baseName,
LSString
& nameOut)
const
;
92
102
CORE_API_EXPORT
LSResult::Result
setParent
(
ref_ptr<LSObject>
newParent);
103
104
protected
:
105
LS_INTERFACE(
LSObject
,
LSAttributeContainer
)
106
};
107
108
109
}