1#include "Util/ActorDimensionKeeper.h"
2
3#include "Util/IUseDimension.h"
4
5void ActorDimensionKeeper::validate() {
6 mIsValid = true;
7}
8
9void ActorDimensionKeeper::invalidate() {
10 mIsValid = false;
11
12 if (mIs2D) {
13 mIs2D = false;
14 mIsIn2DArea = false;
15 mIsCurrently2D = false;
16 mIsCanChange3D = true;
17 }
18}
19
20namespace rs {
21
22ActorDimensionKeeper* createDimensionKeeper(const al::LiveActor* actor) {
23 return new ActorDimensionKeeper(actor);
24}
25
26bool is2D(const IUseDimension* dimension) {
27 return dimension->getActorDimensionKeeper()->getIs2D();
28}
29
30bool is3D(const IUseDimension* dimension) {
31 ActorDimensionKeeper* keeper = dimension->getActorDimensionKeeper();
32 return !keeper->getIs2D() && !keeper->getIsCurrently2D();
33}
34
35bool isChange2D(const IUseDimension* dimension) {
36 return dimension->getActorDimensionKeeper()->getIsCanChange2D();
37}
38
39bool isChange3D(const IUseDimension* dimension) {
40 return dimension->getActorDimensionKeeper()->getIsCanChange3D();
41}
42
43bool isIn2DArea(const IUseDimension* dimension) {
44 return dimension->getActorDimensionKeeper()->getIsIn2DArea();
45}
46
47} // namespace rs
48