@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
|
@@ -1,64 +1,23 @@
|
|
|
1
|
-
import { Vector3, Vector3DTO } from "../ValueObjects";
|
|
2
1
|
import { ObservableEntity } from "./ObservableEntity";
|
|
3
|
-
import { SceneObject } from "./SceneObject";
|
|
4
|
-
export declare enum Color {
|
|
5
|
-
GREEN = "Green",
|
|
6
|
-
PINK = "Pink",
|
|
7
|
-
YELLOW = "Yellow",
|
|
8
|
-
RED = "Red",
|
|
9
|
-
BLUE = "Blue",
|
|
10
|
-
WHITE = "White",
|
|
11
|
-
PURPLE = "Purple",
|
|
12
|
-
BLACK = "Black",
|
|
13
|
-
ORANGE = "Orange"
|
|
14
|
-
}
|
|
15
|
-
export interface SceneModelMeshStateDTO {
|
|
16
|
-
id: string;
|
|
17
|
-
shown: boolean;
|
|
18
|
-
position: Vector3DTO;
|
|
19
|
-
overlayColor: Color | undefined;
|
|
20
|
-
}
|
|
21
2
|
export declare abstract class SceneModelMesh extends ObservableEntity {
|
|
22
3
|
abstract readonly id: string;
|
|
23
4
|
abstract label: string;
|
|
24
5
|
abstract meshPaths: string[];
|
|
25
|
-
abstract sceneObject: SceneObject | undefined;
|
|
26
|
-
abstract shown: boolean;
|
|
27
|
-
abstract position: Vector3;
|
|
28
|
-
abstract overlayColor: Color | undefined;
|
|
29
|
-
abstract get canBeStuck(): boolean;
|
|
30
|
-
abstract stick(durationMS: number, easeFn: (val: number) => number, onStickComplete?: () => void): void;
|
|
31
|
-
abstract moveTo(position: Vector3, durationMS: number, easeFn: (val: number) => number, onStickComplete?: () => void): void;
|
|
32
6
|
abstract addMeshPath(path: string): void;
|
|
33
7
|
abstract hasMeshPath(path: string): boolean;
|
|
34
8
|
abstract removeMeshPath(path: string): void;
|
|
35
9
|
abstract toData(): SceneModelObjectDTO;
|
|
36
10
|
abstract applyData(data: SceneModelObjectDTO): void;
|
|
37
|
-
abstract getState(): SceneModelMeshStateDTO | null;
|
|
38
11
|
}
|
|
39
12
|
export declare function makeSceneModelMesh(id: string): SceneModelMeshImp;
|
|
40
13
|
declare class SceneModelMeshImp extends SceneModelMesh {
|
|
41
14
|
readonly id: string;
|
|
42
|
-
private _sceneObject;
|
|
43
|
-
get sceneObject(): SceneObject | undefined;
|
|
44
|
-
set sceneObject(so: SceneObject | undefined);
|
|
45
|
-
get position(): Vector3;
|
|
46
|
-
set position(p: Vector3);
|
|
47
|
-
private _overlayColor;
|
|
48
|
-
get overlayColor(): Color | undefined;
|
|
49
|
-
set overlayColor(overlayColor: Color | undefined);
|
|
50
|
-
get canBeStuck(): boolean;
|
|
51
|
-
moveTo(position: Vector3, durationMS: number, easeFn: (val: number) => number, onMoveComplete?: () => void): void;
|
|
52
|
-
stick: (durationMS: number, easeFn: (val: number) => number, onStickComplete?: (() => void) | undefined) => void;
|
|
53
|
-
get shown(): boolean;
|
|
54
|
-
set shown(s: boolean);
|
|
55
|
-
private _label;
|
|
56
|
-
get label(): string;
|
|
57
|
-
set label(label: string);
|
|
58
15
|
private _meshPaths;
|
|
59
16
|
get meshPaths(): string[];
|
|
60
17
|
set meshPaths(paths: string[]);
|
|
61
|
-
|
|
18
|
+
private memoizedLabel;
|
|
19
|
+
get label(): string;
|
|
20
|
+
set label(val: string);
|
|
62
21
|
addMeshPath: (path: string) => void;
|
|
63
22
|
hasMeshPath: (path: string) => boolean;
|
|
64
23
|
removeMeshPath: (path: string) => void;
|
|
@@ -1,21 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.makeSceneModelMesh = exports.SceneModelMesh =
|
|
4
|
-
const ValueObjects_1 = require("../ValueObjects");
|
|
3
|
+
exports.makeSceneModelMesh = exports.SceneModelMesh = void 0;
|
|
5
4
|
const MemoizedString_1 = require("./Memoized/MemoizedString");
|
|
6
5
|
const ObservableEntity_1 = require("./ObservableEntity");
|
|
7
|
-
var Color;
|
|
8
|
-
(function (Color) {
|
|
9
|
-
Color["GREEN"] = "Green";
|
|
10
|
-
Color["PINK"] = "Pink";
|
|
11
|
-
Color["YELLOW"] = "Yellow";
|
|
12
|
-
Color["RED"] = "Red";
|
|
13
|
-
Color["BLUE"] = "Blue";
|
|
14
|
-
Color["WHITE"] = "White";
|
|
15
|
-
Color["PURPLE"] = "Purple";
|
|
16
|
-
Color["BLACK"] = "Black";
|
|
17
|
-
Color["ORANGE"] = "Orange";
|
|
18
|
-
})(Color = exports.Color || (exports.Color = {}));
|
|
19
6
|
class SceneModelMesh extends ObservableEntity_1.ObservableEntity {
|
|
20
7
|
}
|
|
21
8
|
exports.SceneModelMesh = SceneModelMesh;
|
|
@@ -26,12 +13,8 @@ exports.makeSceneModelMesh = makeSceneModelMesh;
|
|
|
26
13
|
class SceneModelMeshImp extends SceneModelMesh {
|
|
27
14
|
constructor(id) {
|
|
28
15
|
super();
|
|
29
|
-
this._overlayColor = undefined;
|
|
30
|
-
this.stick = (durationMS, easeFn, onStickComplete) => {
|
|
31
|
-
this.moveTo(ValueObjects_1.Vector3.Zero(), durationMS, easeFn, onStickComplete);
|
|
32
|
-
};
|
|
33
|
-
this._label = new MemoizedString_1.MemoizedString("", this.notify);
|
|
34
16
|
this._meshPaths = [];
|
|
17
|
+
this.memoizedLabel = new MemoizedString_1.MemoizedString("", this.notify);
|
|
35
18
|
this.addMeshPath = (path) => {
|
|
36
19
|
if (this._meshPaths.includes(path))
|
|
37
20
|
return;
|
|
@@ -63,89 +46,6 @@ class SceneModelMeshImp extends SceneModelMesh {
|
|
|
63
46
|
};
|
|
64
47
|
this.id = id;
|
|
65
48
|
}
|
|
66
|
-
get sceneObject() {
|
|
67
|
-
return this._sceneObject;
|
|
68
|
-
}
|
|
69
|
-
set sceneObject(so) {
|
|
70
|
-
if (this._sceneObject) {
|
|
71
|
-
this._sceneObject.removeObserver(this.notify);
|
|
72
|
-
}
|
|
73
|
-
this._sceneObject = so;
|
|
74
|
-
if (this._sceneObject) {
|
|
75
|
-
this._sceneObject.addObserver(this.notify);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
get position() {
|
|
79
|
-
if (!this._sceneObject) {
|
|
80
|
-
console.warn("Scene Mesh doea not have a scene object");
|
|
81
|
-
return ValueObjects_1.Vector3.Zero();
|
|
82
|
-
}
|
|
83
|
-
else {
|
|
84
|
-
return this._sceneObject.transform.localPosition;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
set position(p) {
|
|
88
|
-
if (!this._sceneObject) {
|
|
89
|
-
console.warn("Scene Mesh doea not have a scene object");
|
|
90
|
-
return;
|
|
91
|
-
}
|
|
92
|
-
this._sceneObject.transform.localPosition = p;
|
|
93
|
-
}
|
|
94
|
-
get overlayColor() {
|
|
95
|
-
return this._overlayColor;
|
|
96
|
-
}
|
|
97
|
-
set overlayColor(overlayColor) {
|
|
98
|
-
if (this._overlayColor !== overlayColor) {
|
|
99
|
-
this._overlayColor = overlayColor;
|
|
100
|
-
this.notify();
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
get canBeStuck() {
|
|
104
|
-
if (!this._sceneObject) {
|
|
105
|
-
console.warn("Scene Mesh doea not have a scene object");
|
|
106
|
-
return false;
|
|
107
|
-
}
|
|
108
|
-
if (ValueObjects_1.Vector3.Equal(this._sceneObject.transform.localPosition, ValueObjects_1.Vector3.Zero())) {
|
|
109
|
-
return false;
|
|
110
|
-
}
|
|
111
|
-
else {
|
|
112
|
-
return true;
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
moveTo(position, durationMS, easeFn, onMoveComplete) {
|
|
116
|
-
if (!this._sceneObject) {
|
|
117
|
-
console.warn("Scene Mesh doea not have a scene object");
|
|
118
|
-
return;
|
|
119
|
-
}
|
|
120
|
-
if (ValueObjects_1.Vector3.Equal(position, this.position)) {
|
|
121
|
-
if (onMoveComplete)
|
|
122
|
-
onMoveComplete();
|
|
123
|
-
return;
|
|
124
|
-
}
|
|
125
|
-
this._sceneObject.transform.lerp(durationMS, easeFn, position, undefined, undefined, onMoveComplete);
|
|
126
|
-
}
|
|
127
|
-
get shown() {
|
|
128
|
-
if (!this._sceneObject) {
|
|
129
|
-
console.warn("Scene Mesh doea not have a scene object");
|
|
130
|
-
return false;
|
|
131
|
-
}
|
|
132
|
-
else {
|
|
133
|
-
return this._sceneObject.shown;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
set shown(s) {
|
|
137
|
-
if (!this._sceneObject) {
|
|
138
|
-
console.warn("Scene Mesh doea not have a scene object");
|
|
139
|
-
return;
|
|
140
|
-
}
|
|
141
|
-
this._sceneObject.shown = s;
|
|
142
|
-
}
|
|
143
|
-
get label() {
|
|
144
|
-
return this._label.val;
|
|
145
|
-
}
|
|
146
|
-
set label(label) {
|
|
147
|
-
this._label.val = label;
|
|
148
|
-
}
|
|
149
49
|
get meshPaths() {
|
|
150
50
|
return [...this._meshPaths];
|
|
151
51
|
}
|
|
@@ -166,17 +66,10 @@ class SceneModelMeshImp extends SceneModelMesh {
|
|
|
166
66
|
this._meshPaths = paths;
|
|
167
67
|
this.notify();
|
|
168
68
|
}
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
return {
|
|
175
|
-
id: this.id,
|
|
176
|
-
position: this.position.dto,
|
|
177
|
-
shown: this.shown,
|
|
178
|
-
overlayColor: this.overlayColor,
|
|
179
|
-
};
|
|
180
|
-
}
|
|
69
|
+
get label() {
|
|
70
|
+
return this.memoizedLabel.val;
|
|
71
|
+
}
|
|
72
|
+
set label(val) {
|
|
73
|
+
this.memoizedLabel.val = val;
|
|
181
74
|
}
|
|
182
75
|
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
export interface ChannelModelDataMeshDTOv1 {
|
|
2
|
+
version: number;
|
|
3
|
+
id: string;
|
|
4
|
+
meshPaths: string[];
|
|
5
|
+
label: string;
|
|
6
|
+
}
|
|
7
|
+
export interface ChannelModelDataMeshDTOv0 {
|
|
8
|
+
id: string;
|
|
9
|
+
meshPaths: string[];
|
|
10
|
+
label: string;
|
|
11
|
+
}
|
|
12
|
+
export declare type ChannelModelDTO = ChannelModelDTOv0 | ChannelModelDTOv1;
|
|
13
|
+
export interface ChannelModelDTOv0 {
|
|
14
|
+
version: number;
|
|
15
|
+
objects: ChannelModelDataMeshDTOv0[];
|
|
16
|
+
name: string;
|
|
17
|
+
description: string;
|
|
18
|
+
bounds_min: {
|
|
19
|
+
x: number;
|
|
20
|
+
y: number;
|
|
21
|
+
z: number;
|
|
22
|
+
};
|
|
23
|
+
bounds_max: {
|
|
24
|
+
x: number;
|
|
25
|
+
y: number;
|
|
26
|
+
z: number;
|
|
27
|
+
};
|
|
28
|
+
defaultPosition: {
|
|
29
|
+
x: number;
|
|
30
|
+
y: number;
|
|
31
|
+
z: number;
|
|
32
|
+
};
|
|
33
|
+
defaultRotation: {
|
|
34
|
+
x: number;
|
|
35
|
+
y: number;
|
|
36
|
+
z: number;
|
|
37
|
+
w: number;
|
|
38
|
+
};
|
|
39
|
+
defaultScale: number;
|
|
40
|
+
}
|
|
41
|
+
export interface ChannelModelDTOv1 {
|
|
42
|
+
version: number;
|
|
43
|
+
objects: ChannelModelDataMeshDTOv1[];
|
|
44
|
+
name: string;
|
|
45
|
+
bounds_min: {
|
|
46
|
+
x: number;
|
|
47
|
+
y: number;
|
|
48
|
+
z: number;
|
|
49
|
+
};
|
|
50
|
+
bounds_max: {
|
|
51
|
+
x: number;
|
|
52
|
+
y: number;
|
|
53
|
+
z: number;
|
|
54
|
+
};
|
|
55
|
+
defaultPosition: {
|
|
56
|
+
x: number;
|
|
57
|
+
y: number;
|
|
58
|
+
z: number;
|
|
59
|
+
};
|
|
60
|
+
defaultRotation: {
|
|
61
|
+
x: number;
|
|
62
|
+
y: number;
|
|
63
|
+
z: number;
|
|
64
|
+
w: number;
|
|
65
|
+
};
|
|
66
|
+
defaultScale: number;
|
|
67
|
+
}
|
|
68
|
+
export declare function convertChannelModelDataV0toV1(v0: ChannelModelDTOv0): ChannelModelDTOv1;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.convertChannelModelDataV0toV1 = void 0;
|
|
4
|
+
function convertChannelModelDataV0toV1(v0) {
|
|
5
|
+
const { objects, name, bounds_max, bounds_min, defaultPosition, defaultRotation, defaultScale } = v0;
|
|
6
|
+
const objectsV2 = objects.map(obj => {
|
|
7
|
+
const { id, label, meshPaths } = obj;
|
|
8
|
+
return {
|
|
9
|
+
version: 1,
|
|
10
|
+
id, label, meshPaths
|
|
11
|
+
};
|
|
12
|
+
});
|
|
13
|
+
return {
|
|
14
|
+
version: 1,
|
|
15
|
+
objects: objectsV2,
|
|
16
|
+
name,
|
|
17
|
+
bounds_max,
|
|
18
|
+
bounds_min, defaultPosition, defaultRotation, defaultScale
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
exports.convertChannelModelDataV0toV1 = convertChannelModelDataV0toV1;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare type EaseFn = (p: number) => number;
|
|
@@ -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("./EaseFn"), exports);
|
|
14
|
+
__exportStar(require("./ChannelModelData"), exports);
|
|
@@ -12,6 +12,3 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
__exportStar(require("./modelDataLoader"), exports);
|
|
14
14
|
__exportStar(require("./loadNewModel"), exports);
|
|
15
|
-
__exportStar(require("./SerializeActiveModel"), exports);
|
|
16
|
-
__exportStar(require("./SetMeshesEnabledHook"), exports);
|
|
17
|
-
__exportStar(require("./SetSceneModelMeshOverlayColor"), exports);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { AppDispatcher, SceneModel,
|
|
2
|
-
export declare function makeLoadNewModel(sceneModelRepo: SceneModelRepo, sceneObjectRepo: SceneObjectsRepo, sceneRoot: SceneRoot, appDispatcher: AppDispatcher): (modelID: string
|
|
1
|
+
import { AppDispatcher, SceneModel, SceneModelRepo, SceneObjectsRepo, SceneRoot } from "../../Entities";
|
|
2
|
+
export declare function makeLoadNewModel(sceneModelRepo: SceneModelRepo, sceneObjectRepo: SceneObjectsRepo, sceneRoot: SceneRoot, appDispatcher: AppDispatcher): (modelID: string) => Promise<SceneModel>;
|
|
@@ -11,9 +11,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.makeLoadNewModel = void 0;
|
|
13
13
|
const Entities_1 = require("../../Entities");
|
|
14
|
-
const ValueObjects_1 = require("../../ValueObjects");
|
|
15
14
|
function makeLoadNewModel(sceneModelRepo, sceneObjectRepo, sceneRoot, appDispatcher) {
|
|
16
|
-
return function loadNewModel(modelID
|
|
15
|
+
return function loadNewModel(modelID) {
|
|
17
16
|
return __awaiter(this, void 0, void 0, function* () {
|
|
18
17
|
let sceneModel = sceneModelRepo.get(modelID);
|
|
19
18
|
if (sceneModel === undefined) {
|
|
@@ -39,21 +38,20 @@ function makeLoadNewModel(sceneModelRepo, sceneObjectRepo, sceneRoot, appDispatc
|
|
|
39
38
|
const dataDTO = yield sceneModelRepo.dataLoader(modelID);
|
|
40
39
|
sceneModel.applyData(dataDTO);
|
|
41
40
|
sceneModel.getAllMeshes().forEach((meshObject) => {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
so.transform.
|
|
56
|
-
so.transform.localScale = ValueObjects_1.Vector3.One();
|
|
41
|
+
// let so = sceneObjectRepo.get(meshObject.id);
|
|
42
|
+
// if (!so) {
|
|
43
|
+
// so = makeSceneObject(meshObject.id);
|
|
44
|
+
// sceneObjectRepo.add(meshObject.id, so);
|
|
45
|
+
// }
|
|
46
|
+
// so.transform.parent = sceneRoot.sceneObject?.transform;
|
|
47
|
+
// meshObject.sceneObject = so;
|
|
48
|
+
// const initialState = initialStateLookup.get(meshObject.id);
|
|
49
|
+
// meshObject.position = initialState
|
|
50
|
+
// ? Vector3.FromDTO(initialState.position)
|
|
51
|
+
// : Vector3.Zero();
|
|
52
|
+
// meshObject.shown = initialState ? initialState.shown : true;
|
|
53
|
+
// so.transform.localRotation = Quaternion.Identity();
|
|
54
|
+
// so.transform.localScale = Vector3.One();
|
|
57
55
|
});
|
|
58
56
|
yield sceneModelRepo.modelLoader(modelID);
|
|
59
57
|
sceneModel.state = Entities_1.SceneModelState.READY;
|
package/lib/UseCases/index.d.ts
CHANGED
|
@@ -2,8 +2,8 @@ export * from "./setDevicePreview";
|
|
|
2
2
|
export * from "./Handlers";
|
|
3
3
|
export * from "./QuestionChallenge";
|
|
4
4
|
export * from "./SceneModel";
|
|
5
|
-
export * from "./SceneObjects";
|
|
6
5
|
export * from "./LerpVector3";
|
|
7
6
|
export * from "./SceneRoot";
|
|
8
7
|
export * from "./HoverLabels/trySetHoverLabel";
|
|
9
8
|
export * from "./HoverLabels/SerializeAllowHoverLabel";
|
|
9
|
+
export * from "./setupStandardAppObjects";
|
package/lib/UseCases/index.js
CHANGED
|
@@ -14,8 +14,8 @@ __exportStar(require("./setDevicePreview"), exports);
|
|
|
14
14
|
__exportStar(require("./Handlers"), exports);
|
|
15
15
|
__exportStar(require("./QuestionChallenge"), exports);
|
|
16
16
|
__exportStar(require("./SceneModel"), exports);
|
|
17
|
-
__exportStar(require("./SceneObjects"), exports);
|
|
18
17
|
__exportStar(require("./LerpVector3"), exports);
|
|
19
18
|
__exportStar(require("./SceneRoot"), exports);
|
|
20
19
|
__exportStar(require("./HoverLabels/trySetHoverLabel"), exports);
|
|
21
20
|
__exportStar(require("./HoverLabels/SerializeAllowHoverLabel"), exports);
|
|
21
|
+
__exportStar(require("./setupStandardAppObjects"), exports);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setupStandardAppObjects = void 0;
|
|
4
|
+
const ChannelModel_1 = require("../AppObjectComponents/ChannelModel");
|
|
5
|
+
function setupStandardAppObjects(appObjects) {
|
|
6
|
+
const appObj = appObjects.getOrCreate("StandardAppObjects");
|
|
7
|
+
ChannelModel_1.ChannelModelRepo.addToAO(appObj);
|
|
8
|
+
return appObj;
|
|
9
|
+
}
|
|
10
|
+
exports.setupStandardAppObjects = setupStandardAppObjects;
|
|
@@ -54,6 +54,7 @@ export declare class Quaternion {
|
|
|
54
54
|
* @returns The resulting Quaterion
|
|
55
55
|
*/
|
|
56
56
|
static FromAngleAxis(axis: Vector3, angle: Angle): Quaternion;
|
|
57
|
+
static FromDirectionVector(direction: Vector3): Quaternion;
|
|
57
58
|
/**
|
|
58
59
|
* Froms up a Quaternion from the Yaw-Pitch-Roll (Tait-Bryan) convetion
|
|
59
60
|
* @param yaw defines the rotation around the y axis
|
|
@@ -4,7 +4,6 @@ exports.Quaternion = void 0;
|
|
|
4
4
|
const Angle_1 = require("./Angle");
|
|
5
5
|
const Matrix_1 = require("./Matrix");
|
|
6
6
|
const Vector3_1 = require("./Vector3");
|
|
7
|
-
;
|
|
8
7
|
class Quaternion {
|
|
9
8
|
constructor(x, y, z, w) {
|
|
10
9
|
this.x = x;
|
|
@@ -100,6 +99,27 @@ class Quaternion {
|
|
|
100
99
|
const z = axisUnit.z * sin;
|
|
101
100
|
return new Quaternion(x, y, z, w);
|
|
102
101
|
}
|
|
102
|
+
static FromDirectionVector(direction) {
|
|
103
|
+
if (direction.magnitued === 0) {
|
|
104
|
+
return Quaternion.Identity();
|
|
105
|
+
}
|
|
106
|
+
const dirUnit = direction.unit;
|
|
107
|
+
if (dirUnit.x === 0 && dirUnit.z === 0) {
|
|
108
|
+
if (dirUnit.y > 0) {
|
|
109
|
+
return Quaternion.FromYawPitchRoll(Angle_1.Angle.FromDegrees(0), Angle_1.Angle.FromDegrees(-90), Angle_1.Angle.FromDegrees(0));
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
return Quaternion.FromYawPitchRoll(Angle_1.Angle.FromDegrees(0), Angle_1.Angle.FromDegrees(90), Angle_1.Angle.FromDegrees(0));
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
const yawRadians = -Math.atan2(dirUnit.z, dirUnit.x) + Math.PI / 2;
|
|
116
|
+
const len = Math.sqrt(dirUnit.x * dirUnit.x + dirUnit.z * dirUnit.z);
|
|
117
|
+
const pitchRadians = -Math.atan2(dirUnit.y, len);
|
|
118
|
+
const yaw = Angle_1.Angle.FromRadians(yawRadians);
|
|
119
|
+
const pitch = Angle_1.Angle.FromRadians(pitchRadians);
|
|
120
|
+
const roll = Angle_1.Angle.FromRadians(0);
|
|
121
|
+
return Quaternion.FromYawPitchRoll(yaw, pitch, roll);
|
|
122
|
+
}
|
|
103
123
|
/**
|
|
104
124
|
* Froms up a Quaternion from the Yaw-Pitch-Roll (Tait-Bryan) convetion
|
|
105
125
|
* @param yaw defines the rotation around the y axis
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
|
@@ -10,7 +10,7 @@ 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
|
-
exports.AppValueObjects = exports.AppEntities = exports.AppUCs = exports.AppPMs = void 0;
|
|
13
|
+
exports.AOComponents = exports.AppValueObjects = exports.AppEntities = exports.AppUCs = exports.AppPMs = void 0;
|
|
14
14
|
const AppPMs = require("./PresentationManagers");
|
|
15
15
|
exports.AppPMs = AppPMs;
|
|
16
16
|
const AppUCs = require("./UseCases");
|
|
@@ -20,3 +20,6 @@ exports.AppEntities = AppEntities;
|
|
|
20
20
|
const AppValueObjects = require("./ValueObjects");
|
|
21
21
|
exports.AppValueObjects = AppValueObjects;
|
|
22
22
|
__exportStar(require("./Utilities"), exports);
|
|
23
|
+
const AOComponents = require("./AppObjectComponents");
|
|
24
|
+
exports.AOComponents = AOComponents;
|
|
25
|
+
__exportStar(require("./AppObject"), exports);
|
package/package.json
CHANGED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { Vector3 } from "../ValueObjects";
|
|
2
|
-
export declare type OnFocusCameraChange = () => void;
|
|
3
|
-
export interface FocusCameraLerper {
|
|
4
|
-
cancelLerp: () => void;
|
|
5
|
-
}
|
|
6
|
-
export interface FocusCameraData {
|
|
7
|
-
defaultAlpha?: number;
|
|
8
|
-
defaultBeta?: number;
|
|
9
|
-
defaultRadius?: number;
|
|
10
|
-
defaultTarget?: {
|
|
11
|
-
x: number;
|
|
12
|
-
y: number;
|
|
13
|
-
z: number;
|
|
14
|
-
};
|
|
15
|
-
nearClip?: number;
|
|
16
|
-
farClip?: number;
|
|
17
|
-
alphaLimit?: {
|
|
18
|
-
min: number;
|
|
19
|
-
max: number;
|
|
20
|
-
};
|
|
21
|
-
betaLimit?: {
|
|
22
|
-
min: number;
|
|
23
|
-
max: number;
|
|
24
|
-
};
|
|
25
|
-
radiusLimit?: {
|
|
26
|
-
min: number;
|
|
27
|
-
max: number;
|
|
28
|
-
};
|
|
29
|
-
targetLimit?: {
|
|
30
|
-
min: {
|
|
31
|
-
x: number;
|
|
32
|
-
y: number;
|
|
33
|
-
z: number;
|
|
34
|
-
};
|
|
35
|
-
max: {
|
|
36
|
-
x: number;
|
|
37
|
-
y: number;
|
|
38
|
-
z: number;
|
|
39
|
-
};
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
export interface FocusCamera {
|
|
43
|
-
alpha: number;
|
|
44
|
-
beta: number;
|
|
45
|
-
radius: number;
|
|
46
|
-
target: Vector3;
|
|
47
|
-
direction: Vector3;
|
|
48
|
-
cameraPosition: Vector3;
|
|
49
|
-
nearClip: number;
|
|
50
|
-
farClip: number;
|
|
51
|
-
defaultAlpha: number;
|
|
52
|
-
defaultBeta: number;
|
|
53
|
-
defaultRadius: number;
|
|
54
|
-
defaultTarget: Vector3;
|
|
55
|
-
setAlphaLimits: (min: number, max: number) => void;
|
|
56
|
-
clearAlphaLimits: () => void;
|
|
57
|
-
setBetaLimits: (min: number, max: number) => void;
|
|
58
|
-
clearBetaLimits: () => void;
|
|
59
|
-
setRadiusLimits: (min: number, max: number) => void;
|
|
60
|
-
clearRadiusLimits: () => void;
|
|
61
|
-
setTargetLimits: (min: Vector3, max: Vector3) => void;
|
|
62
|
-
clearTargetLimits: () => void;
|
|
63
|
-
registerLerp: (lerper: FocusCameraLerper) => void;
|
|
64
|
-
lerpCompleted: () => void;
|
|
65
|
-
cancelLerp: () => void;
|
|
66
|
-
applyData: (data: FocusCameraData) => void;
|
|
67
|
-
addObserver: (observer: OnFocusCameraChange) => void;
|
|
68
|
-
removeObserver: (observer: OnFocusCameraChange) => void;
|
|
69
|
-
}
|
|
70
|
-
export declare function makeFocusCamera(): FocusCamera;
|