@vived/app 2.48.1 → 2.50.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/Entities/Babylon.js +2 -2
- package/lib/Entities/BaseApp.js +1 -1
- package/lib/Entities/FramedScreen.js +1 -1
- package/lib/Entities/FramedScreenContainer.js +2 -2
- package/lib/Entities/HoverLabels.js +1 -1
- package/lib/Entities/Memoized/MemoizedAngle.d.ts +9 -0
- package/lib/Entities/Memoized/MemoizedAngle.js +22 -0
- package/lib/Entities/Memoized/MemoizedBoolean.d.ts +8 -0
- package/lib/Entities/Memoized/MemoizedBoolean.js +22 -0
- package/lib/Entities/Memoized/MemoizedColor.d.ts +9 -0
- package/lib/Entities/Memoized/MemoizedColor.js +23 -0
- package/lib/Entities/Memoized/MemoizedNumber.d.ts +8 -0
- package/lib/Entities/Memoized/MemoizedNumber.js +22 -0
- package/lib/Entities/Memoized/MemoizedQuaternion.d.ts +9 -0
- package/lib/Entities/Memoized/MemoizedQuaternion.js +23 -0
- package/lib/Entities/Memoized/MemoizedString.d.ts +8 -0
- package/lib/Entities/Memoized/MemoizedString.js +22 -0
- package/lib/Entities/Memoized/MemoizedVector2.d.ts +9 -0
- package/lib/Entities/Memoized/MemoizedVector2.js +23 -0
- package/lib/Entities/Memoized/MemoizedVector3.d.ts +9 -0
- package/lib/Entities/Memoized/MemoizedVector3.js +23 -0
- package/lib/Entities/MemoizedColor.d.ts +9 -0
- package/lib/Entities/MemoizedColor.js +23 -0
- package/lib/Entities/ModelMesh.d.ts +53 -0
- package/lib/Entities/ModelMesh.js +106 -0
- package/lib/Entities/SceneModel.js +4 -4
- package/lib/Entities/SceneModelMesh.js +1 -1
- package/lib/Entities/SceneModelObject.d.ts +40 -0
- package/lib/Entities/SceneModelObject.js +77 -0
- package/lib/Entities/SceneModelRepo.js +2 -2
- package/lib/Entities/SceneObject.js +2 -2
- package/lib/Entities/Tool.js +1 -1
- package/lib/Entities/index.d.ts +8 -6
- package/lib/Entities/index.js +8 -6
- package/lib/PresentationManagers/SceneModel/SceneModelPM.d.ts +15 -0
- package/lib/PresentationManagers/SceneModel/SceneModelPM.js +36 -0
- package/lib/PresentationManagers/SceneModel/index.d.ts +1 -0
- package/lib/{UseCases/FocusCamera → PresentationManagers/SceneModel}/index.js +1 -7
- package/lib/PresentationManagers/index.d.ts +1 -0
- package/lib/PresentationManagers/index.js +1 -0
- package/lib/UseCases/SceneModel/PeelSceneMeshBase.d.ts +20 -0
- package/lib/UseCases/SceneModel/PeelSceneMeshBase.js +66 -0
- package/lib/UseCases/SceneModel/setActiveSceneModel.d.ts +2 -0
- package/lib/UseCases/SceneModel/setActiveSceneModel.js +90 -0
- package/lib/UseCases/SceneModel/setupSceneModelFromData.d.ts +2 -0
- package/lib/UseCases/SceneModel/setupSceneModelFromData.js +72 -0
- package/lib/UseCases/SceneObject/PeelSceneObjectBase.d.ts +20 -0
- package/lib/UseCases/SceneObject/PeelSceneObjectBase.js +66 -0
- package/lib/UseCases/SceneObject/index.d.ts +1 -0
- package/lib/UseCases/SceneObject/index.js +13 -0
- package/lib/UseCases/SceneRoot/initializeSceneRoot.d.ts +2 -0
- package/lib/UseCases/SceneRoot/initializeSceneRoot.js +9 -0
- package/lib/ValueObjects/Color.d.ts +17 -0
- package/lib/ValueObjects/Color.js +31 -0
- package/package.json +1 -1
- package/lib/Entities/FocusCamera.d.ts +0 -70
- package/lib/Entities/FocusCamera.js +0 -272
- 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/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/Entities/Babylon.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.makeBabylon = void 0;
|
|
4
4
|
const ValueObjects_1 = require("../ValueObjects");
|
|
5
|
-
const MemoizedBoolean_1 = require("./MemoizedBoolean");
|
|
6
|
-
const MemoizedVector2_1 = require("./MemoizedVector2");
|
|
5
|
+
const MemoizedBoolean_1 = require("./Memoized/MemoizedBoolean");
|
|
6
|
+
const MemoizedVector2_1 = require("./Memoized/MemoizedVector2");
|
|
7
7
|
const ObserverList_1 = require("./ObserverList");
|
|
8
8
|
function makeBabylon() {
|
|
9
9
|
return new BabylonImp();
|
package/lib/Entities/BaseApp.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.makeBaseApp = exports.BaseApp = void 0;
|
|
4
|
-
const MemoizedBoolean_1 = require("./MemoizedBoolean");
|
|
4
|
+
const MemoizedBoolean_1 = require("./Memoized/MemoizedBoolean");
|
|
5
5
|
const ObservableEntity_1 = require("./ObservableEntity");
|
|
6
6
|
class BaseApp extends ObservableEntity_1.ObservableEntity {
|
|
7
7
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.makeFramedScreen = exports.FramedScreen = void 0;
|
|
4
4
|
const FramedScreenContainer_1 = require("./FramedScreenContainer");
|
|
5
|
-
const MemoizedNumber_1 = require("./MemoizedNumber");
|
|
5
|
+
const MemoizedNumber_1 = require("./Memoized/MemoizedNumber");
|
|
6
6
|
const ObservableEntity_1 = require("./ObservableEntity");
|
|
7
7
|
class FramedScreen extends ObservableEntity_1.ObservableEntity {
|
|
8
8
|
}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.makeFramedScreenContainer = exports.FramedScreenContainer = void 0;
|
|
4
4
|
const ValueObjects_1 = require("../ValueObjects");
|
|
5
|
-
const MemoizedBoolean_1 = require("./MemoizedBoolean");
|
|
6
|
-
const MemoizedVector2_1 = require("./MemoizedVector2");
|
|
5
|
+
const MemoizedBoolean_1 = require("./Memoized/MemoizedBoolean");
|
|
6
|
+
const MemoizedVector2_1 = require("./Memoized/MemoizedVector2");
|
|
7
7
|
const ObservableEntity_1 = require("./ObservableEntity");
|
|
8
8
|
class FramedScreenContainer extends ObservableEntity_1.ObservableEntity {
|
|
9
9
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.makeHoverLabels = exports.HoverLabels = void 0;
|
|
4
4
|
const ValueObjects_1 = require("../ValueObjects");
|
|
5
|
-
const MemoizedBoolean_1 = require("./MemoizedBoolean");
|
|
5
|
+
const MemoizedBoolean_1 = require("./Memoized/MemoizedBoolean");
|
|
6
6
|
const ObservableEntity_1 = require("./ObservableEntity");
|
|
7
7
|
class HoverLabels extends ObservableEntity_1.ObservableEntity {
|
|
8
8
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Angle } from "../../ValueObjects";
|
|
2
|
+
export declare class MemoizedAngle {
|
|
3
|
+
private _val;
|
|
4
|
+
get val(): Angle;
|
|
5
|
+
set val(b: Angle);
|
|
6
|
+
setValQuietly(val: Angle): void;
|
|
7
|
+
private onChangeCallback;
|
|
8
|
+
constructor(initialValue: Angle, onChangeCallback: () => void);
|
|
9
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MemoizedAngle = void 0;
|
|
4
|
+
class MemoizedAngle {
|
|
5
|
+
constructor(initialValue, onChangeCallback) {
|
|
6
|
+
this._val = initialValue;
|
|
7
|
+
this.onChangeCallback = onChangeCallback;
|
|
8
|
+
}
|
|
9
|
+
get val() {
|
|
10
|
+
return this._val;
|
|
11
|
+
}
|
|
12
|
+
set val(b) {
|
|
13
|
+
if (this._val.degrees === b.degrees)
|
|
14
|
+
return;
|
|
15
|
+
this._val = b;
|
|
16
|
+
this.onChangeCallback();
|
|
17
|
+
}
|
|
18
|
+
setValQuietly(val) {
|
|
19
|
+
this._val = val;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.MemoizedAngle = MemoizedAngle;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MemoizedBoolean = void 0;
|
|
4
|
+
class MemoizedBoolean {
|
|
5
|
+
constructor(initialValue, onChangeCallback) {
|
|
6
|
+
this._val = initialValue;
|
|
7
|
+
this.onChangeCallback = onChangeCallback;
|
|
8
|
+
}
|
|
9
|
+
get val() {
|
|
10
|
+
return this._val;
|
|
11
|
+
}
|
|
12
|
+
set val(b) {
|
|
13
|
+
if (this._val === b)
|
|
14
|
+
return;
|
|
15
|
+
this._val = b;
|
|
16
|
+
this.onChangeCallback();
|
|
17
|
+
}
|
|
18
|
+
setValQuietly(val) {
|
|
19
|
+
this._val = val;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.MemoizedBoolean = MemoizedBoolean;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Color } from "../../ValueObjects";
|
|
2
|
+
export declare class MemoizedColor {
|
|
3
|
+
private _val;
|
|
4
|
+
get val(): Color;
|
|
5
|
+
set val(v: Color);
|
|
6
|
+
setValQuietly(val: Color): void;
|
|
7
|
+
private onChangeCallback;
|
|
8
|
+
constructor(initialValue: Color, onChangeCallback: () => void);
|
|
9
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MemoizedColor = void 0;
|
|
4
|
+
const ValueObjects_1 = require("../../ValueObjects");
|
|
5
|
+
class MemoizedColor {
|
|
6
|
+
constructor(initialValue, onChangeCallback) {
|
|
7
|
+
this._val = initialValue;
|
|
8
|
+
this.onChangeCallback = onChangeCallback;
|
|
9
|
+
}
|
|
10
|
+
get val() {
|
|
11
|
+
return this._val;
|
|
12
|
+
}
|
|
13
|
+
set val(v) {
|
|
14
|
+
if (ValueObjects_1.Color.Equal(v, this._val))
|
|
15
|
+
return;
|
|
16
|
+
this._val = v;
|
|
17
|
+
this.onChangeCallback();
|
|
18
|
+
}
|
|
19
|
+
setValQuietly(val) {
|
|
20
|
+
this._val = val;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.MemoizedColor = MemoizedColor;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MemoizedNumber = void 0;
|
|
4
|
+
class MemoizedNumber {
|
|
5
|
+
constructor(initialValue, onChangeCallback) {
|
|
6
|
+
this._val = initialValue;
|
|
7
|
+
this.onChangeCallback = onChangeCallback;
|
|
8
|
+
}
|
|
9
|
+
get val() {
|
|
10
|
+
return this._val;
|
|
11
|
+
}
|
|
12
|
+
set val(b) {
|
|
13
|
+
if (this._val === b)
|
|
14
|
+
return;
|
|
15
|
+
this._val = b;
|
|
16
|
+
this.onChangeCallback();
|
|
17
|
+
}
|
|
18
|
+
setValQuietly(val) {
|
|
19
|
+
this._val = val;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.MemoizedNumber = MemoizedNumber;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Quaternion } from "../../ValueObjects";
|
|
2
|
+
export declare class MemoizedQuaternion {
|
|
3
|
+
private _val;
|
|
4
|
+
get val(): Quaternion;
|
|
5
|
+
set val(v: Quaternion);
|
|
6
|
+
setValQuietly(val: Quaternion): void;
|
|
7
|
+
private onChangeCallback;
|
|
8
|
+
constructor(initialValue: Quaternion, onChangeCallback: () => void);
|
|
9
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MemoizedQuaternion = void 0;
|
|
4
|
+
const ValueObjects_1 = require("../../ValueObjects");
|
|
5
|
+
class MemoizedQuaternion {
|
|
6
|
+
constructor(initialValue, onChangeCallback) {
|
|
7
|
+
this._val = initialValue;
|
|
8
|
+
this.onChangeCallback = onChangeCallback;
|
|
9
|
+
}
|
|
10
|
+
get val() {
|
|
11
|
+
return this._val;
|
|
12
|
+
}
|
|
13
|
+
set val(v) {
|
|
14
|
+
if (ValueObjects_1.Quaternion.Equal(v, this._val))
|
|
15
|
+
return;
|
|
16
|
+
this._val = v;
|
|
17
|
+
this.onChangeCallback();
|
|
18
|
+
}
|
|
19
|
+
setValQuietly(val) {
|
|
20
|
+
this._val = val;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.MemoizedQuaternion = MemoizedQuaternion;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MemoizedString = void 0;
|
|
4
|
+
class MemoizedString {
|
|
5
|
+
constructor(initialValue, onChangeCallback) {
|
|
6
|
+
this._val = initialValue;
|
|
7
|
+
this.onChangeCallback = onChangeCallback;
|
|
8
|
+
}
|
|
9
|
+
get val() {
|
|
10
|
+
return this._val;
|
|
11
|
+
}
|
|
12
|
+
set val(b) {
|
|
13
|
+
if (this._val === b)
|
|
14
|
+
return;
|
|
15
|
+
this._val = b;
|
|
16
|
+
this.onChangeCallback();
|
|
17
|
+
}
|
|
18
|
+
setValQuietly(val) {
|
|
19
|
+
this._val = val;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.MemoizedString = MemoizedString;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Vector2 } from "../../ValueObjects";
|
|
2
|
+
export declare class MemoizedVector2 {
|
|
3
|
+
private _val;
|
|
4
|
+
get val(): Vector2;
|
|
5
|
+
set val(v: Vector2);
|
|
6
|
+
setValQuietly(val: Vector2): void;
|
|
7
|
+
private onChangeCallback;
|
|
8
|
+
constructor(initialValue: Vector2, onChangeCallback: () => void);
|
|
9
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MemoizedVector2 = void 0;
|
|
4
|
+
const ValueObjects_1 = require("../../ValueObjects");
|
|
5
|
+
class MemoizedVector2 {
|
|
6
|
+
constructor(initialValue, onChangeCallback) {
|
|
7
|
+
this._val = initialValue;
|
|
8
|
+
this.onChangeCallback = onChangeCallback;
|
|
9
|
+
}
|
|
10
|
+
get val() {
|
|
11
|
+
return this._val;
|
|
12
|
+
}
|
|
13
|
+
set val(v) {
|
|
14
|
+
if (ValueObjects_1.Vector2.Equal(v, this._val))
|
|
15
|
+
return;
|
|
16
|
+
this._val = v;
|
|
17
|
+
this.onChangeCallback();
|
|
18
|
+
}
|
|
19
|
+
setValQuietly(val) {
|
|
20
|
+
this._val = val;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.MemoizedVector2 = MemoizedVector2;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Vector3 } from "../../ValueObjects";
|
|
2
|
+
export declare class MemoizedVector3 {
|
|
3
|
+
private _val;
|
|
4
|
+
get val(): Vector3;
|
|
5
|
+
set val(v: Vector3);
|
|
6
|
+
setValQuietly(val: Vector3): void;
|
|
7
|
+
private onChangeCallback;
|
|
8
|
+
constructor(initialValue: Vector3, onChangeCallback: () => void);
|
|
9
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MemoizedVector3 = void 0;
|
|
4
|
+
const ValueObjects_1 = require("../../ValueObjects");
|
|
5
|
+
class MemoizedVector3 {
|
|
6
|
+
constructor(initialValue, onChangeCallback) {
|
|
7
|
+
this._val = initialValue;
|
|
8
|
+
this.onChangeCallback = onChangeCallback;
|
|
9
|
+
}
|
|
10
|
+
get val() {
|
|
11
|
+
return this._val;
|
|
12
|
+
}
|
|
13
|
+
set val(v) {
|
|
14
|
+
if (ValueObjects_1.Vector3.Equal(v, this._val))
|
|
15
|
+
return;
|
|
16
|
+
this._val = v;
|
|
17
|
+
this.onChangeCallback();
|
|
18
|
+
}
|
|
19
|
+
setValQuietly(val) {
|
|
20
|
+
this._val = val;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.MemoizedVector3 = MemoizedVector3;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Color } from "../ValueObjects";
|
|
2
|
+
export declare class MemoizedColor {
|
|
3
|
+
private _val;
|
|
4
|
+
get val(): Color;
|
|
5
|
+
set val(v: Color);
|
|
6
|
+
setValQuietly(val: Color): void;
|
|
7
|
+
private onChangeCallback;
|
|
8
|
+
constructor(initialValue: Color, onChangeCallback: () => void);
|
|
9
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MemoizedColor = void 0;
|
|
4
|
+
const ValueObjects_1 = require("../ValueObjects");
|
|
5
|
+
class MemoizedColor {
|
|
6
|
+
constructor(initialValue, onChangeCallback) {
|
|
7
|
+
this._val = initialValue;
|
|
8
|
+
this.onChangeCallback = onChangeCallback;
|
|
9
|
+
}
|
|
10
|
+
get val() {
|
|
11
|
+
return this._val;
|
|
12
|
+
}
|
|
13
|
+
set val(v) {
|
|
14
|
+
if (ValueObjects_1.Color.Equal(v, this._val))
|
|
15
|
+
return;
|
|
16
|
+
this._val = v;
|
|
17
|
+
this.onChangeCallback();
|
|
18
|
+
}
|
|
19
|
+
setValQuietly(val) {
|
|
20
|
+
this._val = val;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.MemoizedColor = MemoizedColor;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Vector3 } from "../ValueObjects";
|
|
2
|
+
import { ObservableEntity } from "./ObservableEntity";
|
|
3
|
+
import { SceneObject } from "./SceneObject";
|
|
4
|
+
export declare abstract class ModelMesh extends ObservableEntity {
|
|
5
|
+
abstract readonly id: string;
|
|
6
|
+
abstract label: string;
|
|
7
|
+
abstract position: Vector3;
|
|
8
|
+
abstract get canBeStuck(): boolean;
|
|
9
|
+
abstract stick(durationMS: number, easeFn: (val: number) => number, onStickComplete?: () => void): void;
|
|
10
|
+
abstract shown: boolean;
|
|
11
|
+
abstract meshPaths: string[];
|
|
12
|
+
abstract addMeshPath(path: string): void;
|
|
13
|
+
abstract hasMeshPath(path: string): boolean;
|
|
14
|
+
abstract removeMeshPath(path: string): void;
|
|
15
|
+
abstract toData(): ModelMeshDTO;
|
|
16
|
+
abstract applyData(data: ModelMeshDTO): void;
|
|
17
|
+
abstract readonly sceneObject: SceneObject;
|
|
18
|
+
}
|
|
19
|
+
export declare function makeModelMesh(dto: ModelMeshDTO, sceneObject: SceneObject): ModelMeshImp;
|
|
20
|
+
declare class ModelMeshImp extends ModelMesh {
|
|
21
|
+
readonly id: string;
|
|
22
|
+
readonly sceneObject: SceneObject;
|
|
23
|
+
get label(): string;
|
|
24
|
+
set label(l: string);
|
|
25
|
+
get position(): Vector3;
|
|
26
|
+
set position(p: Vector3);
|
|
27
|
+
get shown(): boolean;
|
|
28
|
+
set shown(show: boolean);
|
|
29
|
+
get canBeStuck(): boolean;
|
|
30
|
+
stick: (durationMS: number, easeFn: (val: number) => number, onStickComplete?: (() => void) | undefined) => void;
|
|
31
|
+
private _meshPaths;
|
|
32
|
+
get meshPaths(): string[];
|
|
33
|
+
set meshPaths(paths: string[]);
|
|
34
|
+
addMeshPath: (path: string) => void;
|
|
35
|
+
hasMeshPath: (path: string) => boolean;
|
|
36
|
+
removeMeshPath: (path: string) => void;
|
|
37
|
+
toData: () => ModelMeshDTO;
|
|
38
|
+
applyData: (data: ModelMeshDTO) => void;
|
|
39
|
+
constructor(dto: ModelMeshDTO, sceneObject: SceneObject);
|
|
40
|
+
}
|
|
41
|
+
export declare type ModelMeshDTO = ModelMeshDTOv0 | ModelMeshDTOv1;
|
|
42
|
+
export interface ModelMeshDTOv1 {
|
|
43
|
+
version: number;
|
|
44
|
+
id: string;
|
|
45
|
+
meshPaths: string[];
|
|
46
|
+
label: string;
|
|
47
|
+
}
|
|
48
|
+
export interface ModelMeshDTOv0 {
|
|
49
|
+
id: string;
|
|
50
|
+
meshPaths: string[];
|
|
51
|
+
label: string;
|
|
52
|
+
}
|
|
53
|
+
export {};
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makeModelMesh = exports.ModelMesh = void 0;
|
|
4
|
+
const ValueObjects_1 = require("../ValueObjects");
|
|
5
|
+
const ObservableEntity_1 = require("./ObservableEntity");
|
|
6
|
+
class ModelMesh extends ObservableEntity_1.ObservableEntity {
|
|
7
|
+
}
|
|
8
|
+
exports.ModelMesh = ModelMesh;
|
|
9
|
+
function makeModelMesh(dto, sceneObject) {
|
|
10
|
+
return new ModelMeshImp(dto, sceneObject);
|
|
11
|
+
}
|
|
12
|
+
exports.makeModelMesh = makeModelMesh;
|
|
13
|
+
class ModelMeshImp extends ModelMesh {
|
|
14
|
+
constructor(dto, sceneObject) {
|
|
15
|
+
super();
|
|
16
|
+
this.stick = (durationMS, easeFn, onStickComplete) => {
|
|
17
|
+
if (!this.canBeStuck) {
|
|
18
|
+
if (onStickComplete)
|
|
19
|
+
onStickComplete();
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
this.sceneObject.transform.lerp(durationMS, easeFn, ValueObjects_1.Vector3.Zero(), undefined, undefined, onStickComplete);
|
|
23
|
+
};
|
|
24
|
+
this._meshPaths = [];
|
|
25
|
+
this.addMeshPath = (path) => {
|
|
26
|
+
if (this._meshPaths.includes(path))
|
|
27
|
+
return;
|
|
28
|
+
this._meshPaths.push(path);
|
|
29
|
+
this.notify();
|
|
30
|
+
};
|
|
31
|
+
this.hasMeshPath = (path) => {
|
|
32
|
+
return this._meshPaths.includes(path);
|
|
33
|
+
};
|
|
34
|
+
this.removeMeshPath = (path) => {
|
|
35
|
+
const index = this._meshPaths.indexOf(path);
|
|
36
|
+
if (index >= 0) {
|
|
37
|
+
this._meshPaths.splice(index, 1);
|
|
38
|
+
this.notify();
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
this.toData = () => {
|
|
42
|
+
const dto = {
|
|
43
|
+
version: 1,
|
|
44
|
+
id: this.id,
|
|
45
|
+
label: this.sceneObject.name,
|
|
46
|
+
meshPaths: [...this._meshPaths],
|
|
47
|
+
};
|
|
48
|
+
return dto;
|
|
49
|
+
};
|
|
50
|
+
this.applyData = (data) => {
|
|
51
|
+
this.sceneObject.name = data.label;
|
|
52
|
+
this.meshPaths = data.meshPaths;
|
|
53
|
+
};
|
|
54
|
+
this.id = dto.id;
|
|
55
|
+
this.sceneObject = sceneObject;
|
|
56
|
+
this.sceneObject.name = dto.label;
|
|
57
|
+
this.sceneObject.addObserver(this.notify);
|
|
58
|
+
this._meshPaths = [...dto.meshPaths];
|
|
59
|
+
}
|
|
60
|
+
get label() {
|
|
61
|
+
return this.sceneObject.name;
|
|
62
|
+
}
|
|
63
|
+
set label(l) {
|
|
64
|
+
this.sceneObject.name = l;
|
|
65
|
+
}
|
|
66
|
+
get position() {
|
|
67
|
+
return this.sceneObject.position;
|
|
68
|
+
}
|
|
69
|
+
set position(p) {
|
|
70
|
+
this.sceneObject.position = p;
|
|
71
|
+
}
|
|
72
|
+
get shown() {
|
|
73
|
+
return this.sceneObject.shown;
|
|
74
|
+
}
|
|
75
|
+
set shown(show) {
|
|
76
|
+
this.sceneObject.shown = show;
|
|
77
|
+
}
|
|
78
|
+
get canBeStuck() {
|
|
79
|
+
if (ValueObjects_1.Vector3.Equal(this.sceneObject.position, ValueObjects_1.Vector3.Zero())) {
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
return true;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
get meshPaths() {
|
|
87
|
+
return [...this._meshPaths];
|
|
88
|
+
}
|
|
89
|
+
set meshPaths(paths) {
|
|
90
|
+
let pathsHaveChanged = false;
|
|
91
|
+
if (paths.length !== this._meshPaths.length) {
|
|
92
|
+
pathsHaveChanged = true;
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
paths.forEach((path, i) => {
|
|
96
|
+
if (path !== this._meshPaths[i]) {
|
|
97
|
+
pathsHaveChanged = true;
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
if (!pathsHaveChanged)
|
|
102
|
+
return;
|
|
103
|
+
this._meshPaths = paths;
|
|
104
|
+
this.notify();
|
|
105
|
+
}
|
|
106
|
+
}
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.makeSceneModel = exports.SceneModel = exports.SceneModelState = void 0;
|
|
4
4
|
const ValueObjects_1 = require("../ValueObjects");
|
|
5
|
-
const MemoizedNumber_1 = require("./MemoizedNumber");
|
|
6
|
-
const MemoizedQuaternion_1 = require("./MemoizedQuaternion");
|
|
7
|
-
const MemoizedString_1 = require("./MemoizedString");
|
|
8
|
-
const MemoizedVector3_1 = require("./MemoizedVector3");
|
|
5
|
+
const MemoizedNumber_1 = require("./Memoized/MemoizedNumber");
|
|
6
|
+
const MemoizedQuaternion_1 = require("./Memoized/MemoizedQuaternion");
|
|
7
|
+
const MemoizedString_1 = require("./Memoized/MemoizedString");
|
|
8
|
+
const MemoizedVector3_1 = require("./Memoized/MemoizedVector3");
|
|
9
9
|
const ObservableEntity_1 = require("./ObservableEntity");
|
|
10
10
|
const SceneModelMesh_1 = require("./SceneModelMesh");
|
|
11
11
|
var SceneModelState;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.makeSceneModelMesh = exports.SceneModelMesh = void 0;
|
|
4
4
|
const ValueObjects_1 = require("../ValueObjects");
|
|
5
|
-
const MemoizedString_1 = require("./MemoizedString");
|
|
5
|
+
const MemoizedString_1 = require("./Memoized/MemoizedString");
|
|
6
6
|
const ObservableEntity_1 = require("./ObservableEntity");
|
|
7
7
|
class SceneModelMesh extends ObservableEntity_1.ObservableEntity {
|
|
8
8
|
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { ObservableEntity } from "./ObservableEntity";
|
|
2
|
+
export declare abstract class SceneModelObject extends ObservableEntity {
|
|
3
|
+
abstract readonly id: string;
|
|
4
|
+
abstract label: string;
|
|
5
|
+
abstract meshPaths: string[];
|
|
6
|
+
abstract addMeshPath(path: string): void;
|
|
7
|
+
abstract hasMeshPath(path: string): boolean;
|
|
8
|
+
abstract removeMeshPath(path: string): void;
|
|
9
|
+
abstract toData(): SceneModelObjectDTO;
|
|
10
|
+
abstract applyData(data: SceneModelObjectDTO): void;
|
|
11
|
+
}
|
|
12
|
+
export declare function makeSceneModelObject(dto: SceneModelObjectDTO): SceneObjectImp;
|
|
13
|
+
declare class SceneObjectImp extends SceneModelObject {
|
|
14
|
+
readonly id: string;
|
|
15
|
+
private _label;
|
|
16
|
+
get label(): string;
|
|
17
|
+
set label(label: string);
|
|
18
|
+
private _meshPaths;
|
|
19
|
+
get meshPaths(): string[];
|
|
20
|
+
set meshPaths(paths: string[]);
|
|
21
|
+
addMeshPath: (path: string) => void;
|
|
22
|
+
hasMeshPath: (path: string) => boolean;
|
|
23
|
+
removeMeshPath: (path: string) => void;
|
|
24
|
+
toData: () => SceneModelObjectDTO;
|
|
25
|
+
applyData: (data: SceneModelObjectDTO) => void;
|
|
26
|
+
constructor(dto: SceneModelObjectDTO);
|
|
27
|
+
}
|
|
28
|
+
export declare type SceneModelObjectDTO = SceneModelObjectDTOv0 | SceneModelObjectDTOv1;
|
|
29
|
+
export interface SceneModelObjectDTOv1 {
|
|
30
|
+
version: number;
|
|
31
|
+
id: string;
|
|
32
|
+
meshPaths: string[];
|
|
33
|
+
label: string;
|
|
34
|
+
}
|
|
35
|
+
export interface SceneModelObjectDTOv0 {
|
|
36
|
+
id: string;
|
|
37
|
+
meshPaths: string[];
|
|
38
|
+
label: string;
|
|
39
|
+
}
|
|
40
|
+
export {};
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makeSceneModelObject = exports.SceneModelObject = void 0;
|
|
4
|
+
const MemoizedString_1 = require("./MemoizedString");
|
|
5
|
+
const ObservableEntity_1 = require("./ObservableEntity");
|
|
6
|
+
class SceneModelObject extends ObservableEntity_1.ObservableEntity {
|
|
7
|
+
}
|
|
8
|
+
exports.SceneModelObject = SceneModelObject;
|
|
9
|
+
function makeSceneModelObject(dto) {
|
|
10
|
+
return new SceneObjectImp(dto);
|
|
11
|
+
}
|
|
12
|
+
exports.makeSceneModelObject = makeSceneModelObject;
|
|
13
|
+
class SceneObjectImp extends SceneModelObject {
|
|
14
|
+
constructor(dto) {
|
|
15
|
+
super();
|
|
16
|
+
this._label = new MemoizedString_1.MemoizedString("", this.notify);
|
|
17
|
+
this._meshPaths = [];
|
|
18
|
+
this.addMeshPath = (path) => {
|
|
19
|
+
if (this._meshPaths.includes(path))
|
|
20
|
+
return;
|
|
21
|
+
this._meshPaths.push(path);
|
|
22
|
+
this.notify();
|
|
23
|
+
};
|
|
24
|
+
this.hasMeshPath = (path) => {
|
|
25
|
+
return this._meshPaths.includes(path);
|
|
26
|
+
};
|
|
27
|
+
this.removeMeshPath = (path) => {
|
|
28
|
+
const index = this._meshPaths.indexOf(path);
|
|
29
|
+
if (index >= 0) {
|
|
30
|
+
this._meshPaths.splice(index, 1);
|
|
31
|
+
this.notify();
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
this.toData = () => {
|
|
35
|
+
const dto = {
|
|
36
|
+
version: 1,
|
|
37
|
+
id: this.id,
|
|
38
|
+
label: this.label,
|
|
39
|
+
meshPaths: [...this._meshPaths],
|
|
40
|
+
};
|
|
41
|
+
return dto;
|
|
42
|
+
};
|
|
43
|
+
this.applyData = (data) => {
|
|
44
|
+
this.label = data.label;
|
|
45
|
+
this.meshPaths = data.meshPaths;
|
|
46
|
+
};
|
|
47
|
+
this.id = dto.id;
|
|
48
|
+
this._label.setValQuietly(dto.label);
|
|
49
|
+
this._meshPaths = [...dto.meshPaths];
|
|
50
|
+
}
|
|
51
|
+
get label() {
|
|
52
|
+
return this._label.val;
|
|
53
|
+
}
|
|
54
|
+
set label(label) {
|
|
55
|
+
this._label.val = label;
|
|
56
|
+
}
|
|
57
|
+
get meshPaths() {
|
|
58
|
+
return [...this._meshPaths];
|
|
59
|
+
}
|
|
60
|
+
set meshPaths(paths) {
|
|
61
|
+
let pathsHaveChanged = false;
|
|
62
|
+
if (paths.length !== this._meshPaths.length) {
|
|
63
|
+
pathsHaveChanged = true;
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
paths.forEach((path, i) => {
|
|
67
|
+
if (path !== this._meshPaths[i]) {
|
|
68
|
+
pathsHaveChanged = true;
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
if (!pathsHaveChanged)
|
|
73
|
+
return;
|
|
74
|
+
this._meshPaths = paths;
|
|
75
|
+
this.notify();
|
|
76
|
+
}
|
|
77
|
+
}
|