@vived/app 2.50.1 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/AppObject/AppObject.d.ts +15 -0
- package/lib/AppObject/AppObject.js +65 -0
- package/lib/AppObject/AppObjectComponent.d.ts +6 -0
- package/lib/AppObject/AppObjectComponent.js +2 -0
- package/lib/AppObject/AppObjectEntity.d.ts +16 -0
- package/lib/AppObject/AppObjectEntity.js +40 -0
- package/lib/AppObject/AppObjectEntityRepo.d.ts +15 -0
- package/lib/AppObject/AppObjectEntityRepo.js +54 -0
- package/lib/AppObject/AppObjectPM.d.ts +15 -0
- package/lib/AppObject/AppObjectPM.js +38 -0
- package/lib/AppObject/AppObjectRepo.d.ts +19 -0
- package/lib/AppObject/AppObjectRepo.js +95 -0
- package/lib/AppObject/AppObjectUC.d.ts +8 -0
- package/lib/AppObject/AppObjectUC.js +17 -0
- package/lib/AppObject/IsEnabledPM.d.ts +11 -0
- package/lib/AppObject/IsEnabledPM.js +29 -0
- package/lib/AppObject/index.d.ts +7 -0
- package/lib/{UseCases/FocusCamera → AppObject}/index.js +7 -7
- package/lib/AppObjectComponents/ChannelModel/Entities/ChannelModel.d.ts +42 -0
- package/lib/AppObjectComponents/ChannelModel/Entities/ChannelModel.js +99 -0
- package/lib/AppObjectComponents/ChannelModel/Entities/ChannelModelRepo.d.ts +12 -0
- package/lib/AppObjectComponents/ChannelModel/Entities/ChannelModelRepo.js +45 -0
- package/lib/AppObjectComponents/ChannelModel/index.d.ts +2 -0
- package/lib/AppObjectComponents/ChannelModel/index.js +14 -0
- package/lib/AppObjectComponents/Hideable/Entities/Hideable.d.ts +10 -0
- package/lib/AppObjectComponents/Hideable/Entities/Hideable.js +31 -0
- package/lib/AppObjectComponents/Hideable/PresentationManagers/IsHiddenPM.d.ts +12 -0
- package/lib/AppObjectComponents/Hideable/PresentationManagers/IsHiddenPM.js +42 -0
- package/lib/AppObjectComponents/Hideable/index.d.ts +2 -0
- package/lib/AppObjectComponents/Hideable/index.js +14 -0
- package/lib/AppObjectComponents/Label/Entities/Label.d.ts +17 -0
- package/lib/AppObjectComponents/Label/Entities/Label.js +58 -0
- package/lib/AppObjectComponents/Label/PresentationManagers/LabelPM.d.ts +19 -0
- package/lib/AppObjectComponents/Label/PresentationManagers/LabelPM.js +62 -0
- package/lib/AppObjectComponents/Label/index.d.ts +2 -0
- package/lib/AppObjectComponents/Label/index.js +14 -0
- package/lib/AppObjectComponents/Mesh/Entities/Mesh.d.ts +21 -0
- package/lib/AppObjectComponents/Mesh/Entities/Mesh.js +45 -0
- package/lib/AppObjectComponents/Mesh/index.d.ts +1 -0
- package/lib/{UseCases/SceneObjects → AppObjectComponents/Mesh}/index.js +1 -1
- package/lib/AppObjectComponents/OverlayColor/Entities/OverlayColor.d.ts +25 -0
- package/lib/AppObjectComponents/OverlayColor/Entities/OverlayColor.js +59 -0
- package/lib/AppObjectComponents/OverlayColor/PresentationManagers/OverlayColorPM.d.ts +13 -0
- package/lib/AppObjectComponents/OverlayColor/PresentationManagers/OverlayColorPM.js +42 -0
- package/lib/AppObjectComponents/OverlayColor/index.d.ts +2 -0
- package/lib/AppObjectComponents/OverlayColor/index.js +14 -0
- package/lib/AppObjectComponents/Transform3D/Entities/Transform3D.d.ts +44 -0
- package/lib/AppObjectComponents/Transform3D/Entities/Transform3D.js +221 -0
- package/lib/AppObjectComponents/Transform3D/PresentationManagers/CanBeStuckPM.d.ts +12 -0
- package/lib/AppObjectComponents/Transform3D/PresentationManagers/CanBeStuckPM.js +45 -0
- package/lib/AppObjectComponents/Transform3D/PresentationManagers/Transform3DPM.d.ts +19 -0
- package/lib/AppObjectComponents/Transform3D/PresentationManagers/Transform3DPM.js +59 -0
- package/lib/AppObjectComponents/Transform3D/UseCases/PeelTransform3D.d.ts +20 -0
- package/lib/AppObjectComponents/Transform3D/UseCases/PeelTransform3D.js +67 -0
- package/lib/AppObjectComponents/Transform3D/UseCases/StickTransform3D.d.ts +14 -0
- package/lib/AppObjectComponents/Transform3D/UseCases/StickTransform3D.js +45 -0
- package/lib/AppObjectComponents/Transform3D/UseCases/getStickUC.d.ts +3 -0
- package/lib/AppObjectComponents/Transform3D/UseCases/getStickUC.js +8 -0
- package/lib/AppObjectComponents/Transform3D/index.d.ts +5 -0
- package/lib/AppObjectComponents/Transform3D/index.js +17 -0
- package/lib/AppObjectComponents/index.d.ts +6 -0
- package/lib/AppObjectComponents/index.js +18 -0
- package/lib/Entities/Babylon.d.ts +1 -0
- package/lib/Entities/ObserverList.d.ts +1 -0
- package/lib/Entities/ObserverList.js +3 -0
- package/lib/Entities/SceneModel.d.ts +1 -1
- package/lib/Entities/SceneModelMesh.d.ts +3 -44
- package/lib/Entities/SceneModelMesh.js +7 -114
- package/lib/Types/ChannelModelData.d.ts +68 -0
- package/lib/Types/ChannelModelData.js +21 -0
- package/lib/Types/EaseFn.d.ts +1 -0
- package/lib/Types/EaseFn.js +2 -0
- package/lib/Types/index.d.ts +2 -0
- package/lib/Types/index.js +14 -0
- package/lib/UseCases/SceneModel/index.d.ts +0 -3
- package/lib/UseCases/SceneModel/index.js +0 -3
- package/lib/UseCases/SceneModel/loadNewModel.d.ts +2 -2
- package/lib/UseCases/SceneModel/loadNewModel.js +15 -17
- package/lib/UseCases/index.d.ts +1 -1
- package/lib/UseCases/index.js +1 -1
- package/lib/UseCases/setupStandardAppObjects.d.ts +2 -0
- package/lib/UseCases/setupStandardAppObjects.js +10 -0
- package/lib/ValueObjects/Quaternion.d.ts +1 -0
- package/lib/ValueObjects/Quaternion.js +21 -1
- package/lib/index.d.ts +3 -0
- package/lib/index.js +4 -1
- package/package.json +1 -1
- package/lib/Entities/FocusCamera.d.ts +0 -70
- package/lib/Entities/FocusCamera.js +0 -272
- package/lib/Entities/MemoizedBoolean.d.ts +0 -8
- package/lib/Entities/MemoizedBoolean.js +0 -22
- package/lib/Entities/MemoizedNumber.d.ts +0 -8
- package/lib/Entities/MemoizedNumber.js +0 -22
- package/lib/Entities/MemoizedQuaternion.d.ts +0 -9
- package/lib/Entities/MemoizedQuaternion.js +0 -23
- package/lib/Entities/MemoizedString.d.ts +0 -8
- package/lib/Entities/MemoizedString.js +0 -22
- package/lib/Entities/MemoizedVector2.d.ts +0 -9
- package/lib/Entities/MemoizedVector2.js +0 -23
- package/lib/Entities/MemoizedVector3.d.ts +0 -9
- package/lib/Entities/MemoizedVector3.js +0 -23
- package/lib/Entities/MeshModel.d.ts +0 -68
- package/lib/Entities/MeshModel.js +0 -174
- package/lib/Entities/ModelObject.d.ts +0 -10
- package/lib/Entities/ModelObject.js +0 -42
- package/lib/PresentationManagers/FocusCameraPM.d.ts +0 -15
- package/lib/PresentationManagers/FocusCameraPM.js +0 -31
- package/lib/PresentationManagers/FocusCameraPosRotPM.d.ts +0 -13
- package/lib/PresentationManagers/FocusCameraPosRotPM.js +0 -28
- package/lib/PresentationManagers/SceneModel/SceneMeshOverlayPM.d.ts +0 -15
- package/lib/PresentationManagers/SceneModel/SceneMeshOverlayPM.js +0 -34
- package/lib/UseCases/FocusCamera/BumpDollyFocusCamera.d.ts +0 -17
- package/lib/UseCases/FocusCamera/BumpDollyFocusCamera.js +0 -64
- package/lib/UseCases/FocusCamera/LerpFocusCamera.d.ts +0 -36
- package/lib/UseCases/FocusCamera/LerpFocusCamera.js +0 -71
- package/lib/UseCases/FocusCamera/PinchDollyFocusCamera.d.ts +0 -11
- package/lib/UseCases/FocusCamera/PinchDollyFocusCamera.js +0 -36
- package/lib/UseCases/FocusCamera/PixelDollyFocusCamera.d.ts +0 -11
- package/lib/UseCases/FocusCamera/PixelDollyFocusCamera.js +0 -36
- package/lib/UseCases/FocusCamera/PixelOrbitFocusCamera.d.ts +0 -11
- package/lib/UseCases/FocusCamera/PixelOrbitFocusCamera.js +0 -26
- package/lib/UseCases/FocusCamera/PixelPlanePanFocusCamera.d.ts +0 -11
- package/lib/UseCases/FocusCamera/PixelPlanePanFocusCamera.js +0 -33
- package/lib/UseCases/FocusCamera/SerializeFocusCamera.d.ts +0 -22
- package/lib/UseCases/FocusCamera/SerializeFocusCamera.js +0 -81
- package/lib/UseCases/FocusCamera/index.d.ts +0 -7
- package/lib/UseCases/SceneModel/SerializeActiveModel.d.ts +0 -18
- package/lib/UseCases/SceneModel/SerializeActiveModel.js +0 -74
- package/lib/UseCases/SceneModel/SetMeshesEnabledHook.d.ts +0 -7
- package/lib/UseCases/SceneModel/SetMeshesEnabledHook.js +0 -22
- package/lib/UseCases/SceneModel/SetSceneModelMeshOverlayColor.d.ts +0 -2
- package/lib/UseCases/SceneModel/SetSceneModelMeshOverlayColor.js +0 -13
- package/lib/UseCases/SceneObjects/PeelSceneObject.d.ts +0 -18
- package/lib/UseCases/SceneObjects/PeelSceneObject.js +0 -61
- package/lib/UseCases/SceneObjects/index.d.ts +0 -1
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ChannelModelRepo = void 0;
|
|
4
|
+
const AppObject_1 = require("../../../AppObject");
|
|
5
|
+
const Entities_1 = require("../../../Entities");
|
|
6
|
+
const ChannelModel_1 = require("./ChannelModel");
|
|
7
|
+
class ChannelModelRepo extends AppObject_1.AppObjectEntityRepo {
|
|
8
|
+
constructor(appObject) {
|
|
9
|
+
super(appObject, ChannelModelRepo.type);
|
|
10
|
+
this.memoizedIsLoading = new Entities_1.MemoizedBoolean(false, this.notifyOnChange);
|
|
11
|
+
}
|
|
12
|
+
static get(appObjects) {
|
|
13
|
+
const repo = appObjects.getAllComponents(ChannelModelRepo.type);
|
|
14
|
+
if (repo.length === 0) {
|
|
15
|
+
console.warn("[ChannelModelRepo] Unable to find a repo. Add one on Mount");
|
|
16
|
+
return undefined;
|
|
17
|
+
}
|
|
18
|
+
else if (repo.length > 1) {
|
|
19
|
+
console.warn("[ChannelModelRepo]Multiple Repos have been found. There should only be one. Using the first one");
|
|
20
|
+
}
|
|
21
|
+
return repo[0];
|
|
22
|
+
}
|
|
23
|
+
static addToAO(appObj) {
|
|
24
|
+
return new ChannelModelRepo(appObj);
|
|
25
|
+
}
|
|
26
|
+
get isLoadingChannelModel() {
|
|
27
|
+
return this.memoizedIsLoading.val;
|
|
28
|
+
}
|
|
29
|
+
set isLoadingChannelModel(val) {
|
|
30
|
+
this.memoizedIsLoading.val = val;
|
|
31
|
+
}
|
|
32
|
+
makeIfMissing(appObject) {
|
|
33
|
+
const existing = this.getForAppObject(appObject.id);
|
|
34
|
+
if (existing) {
|
|
35
|
+
return existing;
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
const newEntity = new ChannelModel_1.ChannelModel(appObject);
|
|
39
|
+
this.add(newEntity);
|
|
40
|
+
return newEntity;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.ChannelModelRepo = ChannelModelRepo;
|
|
45
|
+
ChannelModelRepo.type = "CHANNEL_MODEL_REPO";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./Entities/ChannelModel"), exports);
|
|
14
|
+
__exportStar(require("./Entities/ChannelModelRepo"), exports);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AppObject, AppObjectEntity } from "../../../AppObject";
|
|
2
|
+
export declare class Hideable extends AppObjectEntity {
|
|
3
|
+
static readonly type = "HIDEABLE";
|
|
4
|
+
static addIfMissing(appObj: AppObject): Hideable;
|
|
5
|
+
static get(appObj: AppObject): Hideable | undefined;
|
|
6
|
+
private memoizedIsHidden;
|
|
7
|
+
get isHidden(): boolean;
|
|
8
|
+
set isHidden(val: boolean);
|
|
9
|
+
constructor(appObject: AppObject);
|
|
10
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Hideable = void 0;
|
|
4
|
+
const AppObject_1 = require("../../../AppObject");
|
|
5
|
+
const Entities_1 = require("../../../Entities");
|
|
6
|
+
class Hideable extends AppObject_1.AppObjectEntity {
|
|
7
|
+
constructor(appObject) {
|
|
8
|
+
super(appObject, Hideable.type);
|
|
9
|
+
this.memoizedIsHidden = new Entities_1.MemoizedBoolean(false, this.notifyOnChange);
|
|
10
|
+
}
|
|
11
|
+
static addIfMissing(appObj) {
|
|
12
|
+
const existing = appObj.getComponent(this.type);
|
|
13
|
+
if (existing) {
|
|
14
|
+
return existing;
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
return new Hideable(appObj);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
static get(appObj) {
|
|
21
|
+
return appObj.getComponent(this.type);
|
|
22
|
+
}
|
|
23
|
+
get isHidden() {
|
|
24
|
+
return this.memoizedIsHidden.val;
|
|
25
|
+
}
|
|
26
|
+
set isHidden(val) {
|
|
27
|
+
this.memoizedIsHidden.val = val;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.Hideable = Hideable;
|
|
31
|
+
Hideable.type = "HIDEABLE";
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AppObject } from "../../../AppObject/AppObject";
|
|
2
|
+
import { AppObjectPM } from "../../../AppObject/AppObjectPM";
|
|
3
|
+
import { AppObjectRepo } from "../../../AppObject/AppObjectRepo";
|
|
4
|
+
export declare class IsHiddenPM extends AppObjectPM<boolean> {
|
|
5
|
+
static readonly type = "IsHiddenPM";
|
|
6
|
+
private hideable?;
|
|
7
|
+
onIsHiddenChange: () => void;
|
|
8
|
+
dispose: () => void;
|
|
9
|
+
vmsAreEqual(a: boolean, b: boolean): boolean;
|
|
10
|
+
constructor(appObject: AppObject);
|
|
11
|
+
static getForID(appObjID: string, appObjects: AppObjectRepo): IsHiddenPM | undefined;
|
|
12
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IsHiddenPM = void 0;
|
|
4
|
+
const AppObjectPM_1 = require("../../../AppObject/AppObjectPM");
|
|
5
|
+
const Hideable_1 = require("../Entities/Hideable");
|
|
6
|
+
class IsHiddenPM extends AppObjectPM_1.AppObjectPM {
|
|
7
|
+
constructor(appObject) {
|
|
8
|
+
super(appObject, IsHiddenPM.type);
|
|
9
|
+
this.onIsHiddenChange = () => {
|
|
10
|
+
if (!this.hideable)
|
|
11
|
+
return;
|
|
12
|
+
this.doUpdateView(this.hideable.isHidden);
|
|
13
|
+
};
|
|
14
|
+
this.dispose = () => {
|
|
15
|
+
var _a, _b;
|
|
16
|
+
(_a = this.hideable) === null || _a === void 0 ? void 0 : _a.removeChangeObserver(this.onIsHiddenChange);
|
|
17
|
+
(_b = this.hideable) === null || _b === void 0 ? void 0 : _b.removeOnDisposeObserver(this.dispose);
|
|
18
|
+
};
|
|
19
|
+
this.hideable = Hideable_1.Hideable.get(appObject);
|
|
20
|
+
if (!this.hideable) {
|
|
21
|
+
console.warn("[CanBeStuckPM] Unable to find Transform3D Entity");
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
this.hideable.addChangeObserver(this.onIsHiddenChange);
|
|
26
|
+
this.hideable.addOnDisposeObserver(() => this.dispose());
|
|
27
|
+
this.onIsHiddenChange();
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
vmsAreEqual(a, b) {
|
|
31
|
+
return a === b;
|
|
32
|
+
}
|
|
33
|
+
static getForID(appObjID, appObjects) {
|
|
34
|
+
const appObj = appObjects.get(appObjID);
|
|
35
|
+
if (appObj === undefined) {
|
|
36
|
+
return undefined;
|
|
37
|
+
}
|
|
38
|
+
return appObj.getComponent(IsHiddenPM.type);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.IsHiddenPM = IsHiddenPM;
|
|
42
|
+
IsHiddenPM.type = "IsHiddenPM";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./Entities/Hideable"), exports);
|
|
14
|
+
__exportStar(require("./PresentationManagers/IsHiddenPM"), exports);
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { AppObject, AppObjectEntity } from "../../../AppObject";
|
|
2
|
+
export declare class Label extends AppObjectEntity {
|
|
3
|
+
static maxLabelLength: number;
|
|
4
|
+
static readonly type = "LABEL";
|
|
5
|
+
static addIfMissing(appObj: AppObject): Label;
|
|
6
|
+
static get(appObj: AppObject): Label | undefined;
|
|
7
|
+
private memoizedDefault;
|
|
8
|
+
get default(): string;
|
|
9
|
+
set default(val: string);
|
|
10
|
+
private memoizedCustom;
|
|
11
|
+
get custom(): string;
|
|
12
|
+
set custom(val: string);
|
|
13
|
+
get display(): string;
|
|
14
|
+
get hasCustomLabel(): boolean;
|
|
15
|
+
get labelValidationMessage(): string | null;
|
|
16
|
+
constructor(appObject: AppObject);
|
|
17
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Label = void 0;
|
|
4
|
+
const AppObject_1 = require("../../../AppObject");
|
|
5
|
+
const Entities_1 = require("../../../Entities");
|
|
6
|
+
class Label extends AppObject_1.AppObjectEntity {
|
|
7
|
+
constructor(appObject) {
|
|
8
|
+
super(appObject, Label.type);
|
|
9
|
+
this.memoizedDefault = new Entities_1.MemoizedString("", this.notifyOnChange);
|
|
10
|
+
this.memoizedCustom = new Entities_1.MemoizedString("", this.notifyOnChange);
|
|
11
|
+
}
|
|
12
|
+
static addIfMissing(appObj) {
|
|
13
|
+
const existing = appObj.getComponent(this.type);
|
|
14
|
+
if (existing) {
|
|
15
|
+
return existing;
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
return new Label(appObj);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
static get(appObj) {
|
|
22
|
+
return appObj.getComponent(this.type);
|
|
23
|
+
}
|
|
24
|
+
get default() {
|
|
25
|
+
return this.memoizedDefault.val;
|
|
26
|
+
}
|
|
27
|
+
set default(val) {
|
|
28
|
+
this.memoizedDefault.val = val;
|
|
29
|
+
}
|
|
30
|
+
get custom() {
|
|
31
|
+
return this.memoizedCustom.val;
|
|
32
|
+
}
|
|
33
|
+
set custom(val) {
|
|
34
|
+
this.memoizedCustom.val = val;
|
|
35
|
+
}
|
|
36
|
+
get display() {
|
|
37
|
+
if (this.memoizedCustom.val) {
|
|
38
|
+
return this.memoizedCustom.val;
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
return this.memoizedDefault.val;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
get hasCustomLabel() {
|
|
45
|
+
return this.memoizedCustom.val ? true : false;
|
|
46
|
+
}
|
|
47
|
+
get labelValidationMessage() {
|
|
48
|
+
if (this.memoizedCustom.val.length > Label.maxLabelLength) {
|
|
49
|
+
return `Label is limited to ${Label.maxLabelLength} characters.`;
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
exports.Label = Label;
|
|
57
|
+
Label.maxLabelLength = 40;
|
|
58
|
+
Label.type = "LABEL";
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { AppObject, AppObjectPM } from "../../../AppObject";
|
|
2
|
+
import { AppObjectRepo } from "../../../AppObject/AppObjectRepo";
|
|
3
|
+
export interface LabelVM {
|
|
4
|
+
customLabel: string;
|
|
5
|
+
defaultLabel: string;
|
|
6
|
+
labelValidation: string | null;
|
|
7
|
+
hasCustomLabel: boolean;
|
|
8
|
+
displayLabel: string;
|
|
9
|
+
}
|
|
10
|
+
export declare class LabelPM extends AppObjectPM<LabelVM> {
|
|
11
|
+
static readonly type = "LabelPM";
|
|
12
|
+
private label?;
|
|
13
|
+
vmsAreEqual(a: LabelVM, b: LabelVM): boolean;
|
|
14
|
+
onLabelChange: () => void;
|
|
15
|
+
dispose: () => void;
|
|
16
|
+
constructor(appObject: AppObject);
|
|
17
|
+
static defaultVM: LabelVM;
|
|
18
|
+
static getForID(appObjID: string, appObjects: AppObjectRepo): LabelPM | undefined;
|
|
19
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LabelPM = void 0;
|
|
4
|
+
const AppObject_1 = require("../../../AppObject");
|
|
5
|
+
const Label_1 = require("../Entities/Label");
|
|
6
|
+
class LabelPM extends AppObject_1.AppObjectPM {
|
|
7
|
+
constructor(appObject) {
|
|
8
|
+
super(appObject, LabelPM.type);
|
|
9
|
+
this.onLabelChange = () => {
|
|
10
|
+
if (!this.label)
|
|
11
|
+
return;
|
|
12
|
+
const { custom: customLabel, display: displayLabel, hasCustomLabel, labelValidationMessage: labelValidation, default: defaultLabel } = this.label;
|
|
13
|
+
const vm = {
|
|
14
|
+
customLabel,
|
|
15
|
+
displayLabel,
|
|
16
|
+
hasCustomLabel,
|
|
17
|
+
labelValidation,
|
|
18
|
+
defaultLabel
|
|
19
|
+
};
|
|
20
|
+
this.doUpdateView(vm);
|
|
21
|
+
};
|
|
22
|
+
this.dispose = () => {
|
|
23
|
+
var _a, _b;
|
|
24
|
+
super.dispose();
|
|
25
|
+
(_a = this.label) === null || _a === void 0 ? void 0 : _a.removeChangeObserver(this.onLabelChange);
|
|
26
|
+
(_b = this.label) === null || _b === void 0 ? void 0 : _b.removeOnDisposeObserver(this.dispose);
|
|
27
|
+
};
|
|
28
|
+
this.label = Label_1.Label.get(appObject);
|
|
29
|
+
if (this.label) {
|
|
30
|
+
this.label.addChangeObserver(this.onLabelChange);
|
|
31
|
+
this.label.addOnDisposeObserver(() => this.dispose());
|
|
32
|
+
this.onLabelChange();
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
console.warn("[LabelPM] App Object does not have a Label Entity");
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
vmsAreEqual(a, b) {
|
|
39
|
+
if (a.customLabel !== b.customLabel)
|
|
40
|
+
return false;
|
|
41
|
+
if (a.defaultLabel !== b.defaultLabel)
|
|
42
|
+
return false;
|
|
43
|
+
// Note the rest of the VM is derived from these two values
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
static getForID(appObjID, appObjects) {
|
|
47
|
+
const appObj = appObjects.get(appObjID);
|
|
48
|
+
if (appObj === undefined) {
|
|
49
|
+
return undefined;
|
|
50
|
+
}
|
|
51
|
+
return appObj.getComponent(LabelPM.type);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
exports.LabelPM = LabelPM;
|
|
55
|
+
LabelPM.type = "LabelPM";
|
|
56
|
+
LabelPM.defaultVM = {
|
|
57
|
+
customLabel: "",
|
|
58
|
+
defaultLabel: "",
|
|
59
|
+
displayLabel: "",
|
|
60
|
+
hasCustomLabel: false,
|
|
61
|
+
labelValidation: null
|
|
62
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./Entities/Label"), exports);
|
|
14
|
+
__exportStar(require("./PresentationManagers/LabelPM"), exports);
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { AppObject, AppObjectEntity } from "../../../AppObject";
|
|
2
|
+
import { Quaternion, Vector3 } from "../../../ValueObjects";
|
|
3
|
+
export interface SubMesh {
|
|
4
|
+
meshPath: string;
|
|
5
|
+
neutralPosition: Vector3;
|
|
6
|
+
neutralRotation: Quaternion;
|
|
7
|
+
neutralScale: Vector3;
|
|
8
|
+
meshObject?: unknown;
|
|
9
|
+
}
|
|
10
|
+
export declare class Mesh extends AppObjectEntity {
|
|
11
|
+
static readonly type = "MESH";
|
|
12
|
+
static addIfMissing(appObj: AppObject): Mesh;
|
|
13
|
+
static get(appObj: AppObject): Mesh | undefined;
|
|
14
|
+
private subMeshLookup;
|
|
15
|
+
get subMeshes(): SubMesh[];
|
|
16
|
+
addSubMesh(subMesh: SubMesh): void;
|
|
17
|
+
getSubMeshForPath(path: string): SubMesh | undefined;
|
|
18
|
+
hasMeshPath: (path: string) => boolean;
|
|
19
|
+
removeMeshPath(path: string): void;
|
|
20
|
+
constructor(appObject: AppObject);
|
|
21
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Mesh = void 0;
|
|
4
|
+
const AppObject_1 = require("../../../AppObject");
|
|
5
|
+
class Mesh extends AppObject_1.AppObjectEntity {
|
|
6
|
+
constructor(appObject) {
|
|
7
|
+
super(appObject, Mesh.type);
|
|
8
|
+
this.subMeshLookup = new Map();
|
|
9
|
+
this.hasMeshPath = (path) => {
|
|
10
|
+
return this.subMeshLookup.has(path);
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
static addIfMissing(appObj) {
|
|
14
|
+
const existing = appObj.getComponent(this.type);
|
|
15
|
+
if (existing) {
|
|
16
|
+
return existing;
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
return new Mesh(appObj);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
static get(appObj) {
|
|
23
|
+
return appObj.getComponent(this.type);
|
|
24
|
+
}
|
|
25
|
+
get subMeshes() {
|
|
26
|
+
return Array.from(this.subMeshLookup.values());
|
|
27
|
+
}
|
|
28
|
+
addSubMesh(subMesh) {
|
|
29
|
+
if (this.subMeshLookup.has(subMesh.meshPath))
|
|
30
|
+
return;
|
|
31
|
+
this.subMeshLookup.set(subMesh.meshPath, subMesh);
|
|
32
|
+
this.notifyOnChange();
|
|
33
|
+
}
|
|
34
|
+
getSubMeshForPath(path) {
|
|
35
|
+
return this.subMeshLookup.get(path);
|
|
36
|
+
}
|
|
37
|
+
removeMeshPath(path) {
|
|
38
|
+
if (!this.subMeshLookup.has(path))
|
|
39
|
+
return;
|
|
40
|
+
this.subMeshLookup.delete(path);
|
|
41
|
+
this.notifyOnChange();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.Mesh = Mesh;
|
|
45
|
+
Mesh.type = "MESH";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./Entities/Mesh";
|
|
@@ -10,4 +10,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
10
10
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
11
|
};
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
__exportStar(require("./
|
|
13
|
+
__exportStar(require("./Entities/Mesh"), exports);
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { AppObject, AppObjectEntity } from "../../../AppObject";
|
|
2
|
+
import { Color } from "../../../ValueObjects";
|
|
3
|
+
export declare enum OverlayColorEmums {
|
|
4
|
+
GREEN = "Green",
|
|
5
|
+
PINK = "Pink",
|
|
6
|
+
YELLOW = "Yellow",
|
|
7
|
+
RED = "Red",
|
|
8
|
+
BLUE = "Blue",
|
|
9
|
+
WHITE = "White",
|
|
10
|
+
PURPLE = "Purple",
|
|
11
|
+
BLACK = "Black",
|
|
12
|
+
ORANGE = "Orange",
|
|
13
|
+
NONE = "None"
|
|
14
|
+
}
|
|
15
|
+
export declare class OverlayColor extends AppObjectEntity {
|
|
16
|
+
static readonly type = "OVERLAY_COLOR";
|
|
17
|
+
static enumToColorLookup: Map<OverlayColorEmums, Color>;
|
|
18
|
+
static overlayColorEnumToColor(colorEnum: OverlayColorEmums): Color | undefined;
|
|
19
|
+
static addIfMissing(appObj: AppObject): OverlayColor;
|
|
20
|
+
static get(appObj: AppObject): OverlayColor | undefined;
|
|
21
|
+
private memoizedColor;
|
|
22
|
+
get overlayColor(): OverlayColorEmums;
|
|
23
|
+
set overlayColor(val: OverlayColorEmums);
|
|
24
|
+
constructor(appObject: AppObject);
|
|
25
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OverlayColor = exports.OverlayColorEmums = void 0;
|
|
4
|
+
const AppObject_1 = require("../../../AppObject");
|
|
5
|
+
const Entities_1 = require("../../../Entities");
|
|
6
|
+
const ValueObjects_1 = require("../../../ValueObjects");
|
|
7
|
+
var OverlayColorEmums;
|
|
8
|
+
(function (OverlayColorEmums) {
|
|
9
|
+
OverlayColorEmums["GREEN"] = "Green";
|
|
10
|
+
OverlayColorEmums["PINK"] = "Pink";
|
|
11
|
+
OverlayColorEmums["YELLOW"] = "Yellow";
|
|
12
|
+
OverlayColorEmums["RED"] = "Red";
|
|
13
|
+
OverlayColorEmums["BLUE"] = "Blue";
|
|
14
|
+
OverlayColorEmums["WHITE"] = "White";
|
|
15
|
+
OverlayColorEmums["PURPLE"] = "Purple";
|
|
16
|
+
OverlayColorEmums["BLACK"] = "Black";
|
|
17
|
+
OverlayColorEmums["ORANGE"] = "Orange";
|
|
18
|
+
OverlayColorEmums["NONE"] = "None";
|
|
19
|
+
})(OverlayColorEmums = exports.OverlayColorEmums || (exports.OverlayColorEmums = {}));
|
|
20
|
+
class OverlayColor extends AppObject_1.AppObjectEntity {
|
|
21
|
+
constructor(appObject) {
|
|
22
|
+
super(appObject, OverlayColor.type);
|
|
23
|
+
this.memoizedColor = new Entities_1.MemoizedString(OverlayColorEmums.NONE, this.notifyOnChange);
|
|
24
|
+
}
|
|
25
|
+
static overlayColorEnumToColor(colorEnum) {
|
|
26
|
+
return this.enumToColorLookup.get(colorEnum);
|
|
27
|
+
}
|
|
28
|
+
static addIfMissing(appObj) {
|
|
29
|
+
const existing = appObj.getComponent(this.type);
|
|
30
|
+
if (existing) {
|
|
31
|
+
return existing;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
return new OverlayColor(appObj);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
static get(appObj) {
|
|
38
|
+
return appObj.getComponent(this.type);
|
|
39
|
+
}
|
|
40
|
+
get overlayColor() {
|
|
41
|
+
return this.memoizedColor.val;
|
|
42
|
+
}
|
|
43
|
+
set overlayColor(val) {
|
|
44
|
+
this.memoizedColor.val = val;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
exports.OverlayColor = OverlayColor;
|
|
48
|
+
OverlayColor.type = "OVERLAY_COLOR";
|
|
49
|
+
OverlayColor.enumToColorLookup = new Map([
|
|
50
|
+
[OverlayColorEmums.GREEN, ValueObjects_1.Color.Hex("#008000")],
|
|
51
|
+
[OverlayColorEmums.PINK, ValueObjects_1.Color.Hex("#FFC0CB")],
|
|
52
|
+
[OverlayColorEmums.YELLOW, ValueObjects_1.Color.Hex("#FFFF00")],
|
|
53
|
+
[OverlayColorEmums.RED, ValueObjects_1.Color.Hex("#FF0000")],
|
|
54
|
+
[OverlayColorEmums.BLUE, ValueObjects_1.Color.Hex("#0000FF")],
|
|
55
|
+
[OverlayColorEmums.WHITE, ValueObjects_1.Color.Hex("#FFFFFF")],
|
|
56
|
+
[OverlayColorEmums.PURPLE, ValueObjects_1.Color.Hex("#800080")],
|
|
57
|
+
[OverlayColorEmums.BLACK, ValueObjects_1.Color.Hex("#000000")],
|
|
58
|
+
[OverlayColorEmums.ORANGE, ValueObjects_1.Color.Hex("#FFA500")]
|
|
59
|
+
]);
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { AppObject } from "../../../AppObject/AppObject";
|
|
2
|
+
import { AppObjectPM } from "../../../AppObject/AppObjectPM";
|
|
3
|
+
import { AppObjectRepo } from "../../../AppObject/AppObjectRepo";
|
|
4
|
+
import { OverlayColorEmums } from "../Entities/OverlayColor";
|
|
5
|
+
export declare class OverlayColorPM extends AppObjectPM<OverlayColorEmums> {
|
|
6
|
+
static readonly type = "OverlayColorPM";
|
|
7
|
+
private overlayColor?;
|
|
8
|
+
onColorChange: () => void;
|
|
9
|
+
vmsAreEqual(a: OverlayColorEmums, b: OverlayColorEmums): boolean;
|
|
10
|
+
dispose: () => void;
|
|
11
|
+
constructor(appObject: AppObject);
|
|
12
|
+
static getForID(appObjID: string, appObjects: AppObjectRepo): OverlayColorPM | undefined;
|
|
13
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OverlayColorPM = void 0;
|
|
4
|
+
const AppObjectPM_1 = require("../../../AppObject/AppObjectPM");
|
|
5
|
+
const OverlayColor_1 = require("../Entities/OverlayColor");
|
|
6
|
+
class OverlayColorPM extends AppObjectPM_1.AppObjectPM {
|
|
7
|
+
constructor(appObject) {
|
|
8
|
+
super(appObject, OverlayColorPM.type);
|
|
9
|
+
this.onColorChange = () => {
|
|
10
|
+
if (!this.overlayColor)
|
|
11
|
+
return;
|
|
12
|
+
this.doUpdateView(this.overlayColor.overlayColor);
|
|
13
|
+
};
|
|
14
|
+
this.dispose = () => {
|
|
15
|
+
var _a, _b;
|
|
16
|
+
(_a = this.overlayColor) === null || _a === void 0 ? void 0 : _a.removeChangeObserver(this.onColorChange);
|
|
17
|
+
(_b = this.overlayColor) === null || _b === void 0 ? void 0 : _b.removeOnDisposeObserver(this.dispose);
|
|
18
|
+
};
|
|
19
|
+
this.overlayColor = OverlayColor_1.OverlayColor.get(appObject);
|
|
20
|
+
if (!this.overlayColor) {
|
|
21
|
+
console.warn("[OverlayColorPM] Unable to find OverlayColor Entity");
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
this.overlayColor.addChangeObserver(this.onColorChange);
|
|
26
|
+
this.overlayColor.addOnDisposeObserver(() => this.dispose());
|
|
27
|
+
this.onColorChange();
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
vmsAreEqual(a, b) {
|
|
31
|
+
return a === b;
|
|
32
|
+
}
|
|
33
|
+
static getForID(appObjID, appObjects) {
|
|
34
|
+
const appObj = appObjects.get(appObjID);
|
|
35
|
+
if (appObj === undefined) {
|
|
36
|
+
return undefined;
|
|
37
|
+
}
|
|
38
|
+
return appObj.getComponent(OverlayColorPM.type);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.OverlayColorPM = OverlayColorPM;
|
|
42
|
+
OverlayColorPM.type = "OverlayColorPM";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./Entities/OverlayColor"), exports);
|
|
14
|
+
__exportStar(require("./PresentationManagers/OverlayColorPM"), exports);
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { AppObject, AppObjectEntity } from "../../../AppObject";
|
|
2
|
+
import { EaseFn } from "../../../Entities";
|
|
3
|
+
import { Matrix, Quaternion, Vector3 } from "../../../ValueObjects";
|
|
4
|
+
export declare class Transform3D extends AppObjectEntity {
|
|
5
|
+
static readonly type = "TRANSFORM_3D";
|
|
6
|
+
static addIfMissing(appObj: AppObject): Transform3D;
|
|
7
|
+
static get(appObj: AppObject): Transform3D | undefined;
|
|
8
|
+
private _transformationMatrix;
|
|
9
|
+
get localMatrix(): Matrix;
|
|
10
|
+
set localMatrix(val: Matrix);
|
|
11
|
+
get worldMatrix(): Matrix;
|
|
12
|
+
get localPosition(): Vector3;
|
|
13
|
+
set localPosition(val: Vector3);
|
|
14
|
+
get worldPosition(): Vector3;
|
|
15
|
+
set worldPosition(val: Vector3);
|
|
16
|
+
get localRotation(): Quaternion;
|
|
17
|
+
set localRotation(val: Quaternion);
|
|
18
|
+
get worldRotation(): Quaternion;
|
|
19
|
+
set worldRotation(val: Quaternion);
|
|
20
|
+
get localScale(): Vector3;
|
|
21
|
+
set localScale(val: Vector3);
|
|
22
|
+
get worldScale(): Vector3;
|
|
23
|
+
set worldScale(val: Vector3);
|
|
24
|
+
private _parent?;
|
|
25
|
+
get parent(): Transform3D | undefined;
|
|
26
|
+
set parent(val: Transform3D | undefined);
|
|
27
|
+
localPointToWorld: (point: Vector3) => Vector3;
|
|
28
|
+
worldPointToLocal: (point: Vector3) => Vector3;
|
|
29
|
+
localDirectionToWorld: (point: Vector3) => Vector3;
|
|
30
|
+
worldDirectionToLocal: (point: Vector3) => Vector3;
|
|
31
|
+
private interval?;
|
|
32
|
+
private chrono;
|
|
33
|
+
private lerpDuration;
|
|
34
|
+
private lerpEase;
|
|
35
|
+
private tickInterval;
|
|
36
|
+
private lerpPos?;
|
|
37
|
+
private lerpQuat?;
|
|
38
|
+
private lerpScale?;
|
|
39
|
+
private onLerpCompletedCallback?;
|
|
40
|
+
lerp: (duration: number, ease: EaseFn, desiredPosition?: Vector3 | undefined, desiredRotation?: Quaternion | undefined, desiredScale?: Vector3 | undefined, onCompletedCallback?: (() => void) | undefined) => void;
|
|
41
|
+
private tickLerp;
|
|
42
|
+
cancelLerp: () => void;
|
|
43
|
+
constructor(appObject: AppObject);
|
|
44
|
+
}
|