@combeenation/3d-viewer 4.0.0-alpha5 → 4.0.0-alpha6
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/dist/lib-cjs/api/classes/element.js +227 -181
- package/dist/lib-cjs/api/classes/element.js.map +1 -1
- package/dist/lib-cjs/api/classes/parameter.d.ts +4 -0
- package/dist/lib-cjs/api/classes/parameter.js +6 -0
- package/dist/lib-cjs/api/classes/parameter.js.map +1 -1
- package/dist/lib-cjs/api/classes/variant.d.ts +8 -0
- package/dist/lib-cjs/api/classes/variant.js +181 -39
- package/dist/lib-cjs/api/classes/variant.js.map +1 -1
- package/dist/lib-cjs/api/classes/variantInstance.d.ts +5 -0
- package/dist/lib-cjs/api/classes/variantInstance.js +10 -0
- package/dist/lib-cjs/api/classes/variantInstance.js.map +1 -1
- package/dist/lib-cjs/api/classes/viewerLight.d.ts +1 -0
- package/dist/lib-cjs/api/classes/viewerLight.js +72 -45
- package/dist/lib-cjs/api/classes/viewerLight.js.map +1 -1
- package/dist/lib-cjs/api/util/babylonHelper.d.ts +6 -1
- package/dist/lib-cjs/api/util/babylonHelper.js +13 -1
- package/dist/lib-cjs/api/util/babylonHelper.js.map +1 -1
- package/package.json +1 -1
- package/src/api/classes/element.ts +18 -13
- package/src/api/classes/parameter.ts +7 -0
- package/src/api/classes/variant.ts +50 -26
- package/src/api/classes/variantInstance.ts +8 -0
- package/src/api/classes/viewerLight.ts +25 -17
- package/src/api/util/babylonHelper.ts +13 -0
- package/src/dev.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viewerLight.js","sourceRoot":"","sources":["../../../../src/api/classes/viewerLight.ts"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"viewerLight.js","sourceRoot":"","sources":["../../../../src/api/classes/viewerLight.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,11 @@ import { TransformNode } from '@babylonjs/core/Meshes/transformNode';
|
|
|
7
7
|
import { Node } from '@babylonjs/core/node';
|
|
8
8
|
import { Scene } from '@babylonjs/core/scene';
|
|
9
9
|
import { DottedPath } from '../classes/dottedPath';
|
|
10
|
+
/**
|
|
11
|
+
* @param node
|
|
12
|
+
* @return Node
|
|
13
|
+
*/
|
|
14
|
+
declare const getRootNode: (node: Node) => Node;
|
|
10
15
|
/**
|
|
11
16
|
* @param nodes
|
|
12
17
|
* @param predicate
|
|
@@ -152,4 +157,4 @@ declare const removeFromShadowGenerator: (generator: ShadowGenerator, node: Tran
|
|
|
152
157
|
* @param canvas
|
|
153
158
|
*/
|
|
154
159
|
declare const getClientRectFromMesh: (mesh: AbstractMesh, scene: Scene, canvas: HTMLCanvasElement) => ClientRect;
|
|
155
|
-
export { mapToDottedNodes, getDottedPathForNode, cloneTransformNode, cloneNodeWithParents, cloneTransformNodeMaterial, injectNodeMetadata, assertTransformNode, activateTransformNode, deactivateTransformNode, enableNodeWithParents, disableNodeWithParents, setMaterial, setSourceNodeMaterial, setMaterialColor, setMaterialTexture, setMaterialMetallness, setMaterialRoughness, addToHighlightLayer, removeFromHighlightLayer, setReceiveShadows, addToShadowGenerator, removeFromShadowGenerator, getClientRectFromMesh };
|
|
160
|
+
export { getRootNode, mapToDottedNodes, getDottedPathForNode, cloneTransformNode, cloneNodeWithParents, cloneTransformNodeMaterial, injectNodeMetadata, assertTransformNode, activateTransformNode, deactivateTransformNode, enableNodeWithParents, disableNodeWithParents, setMaterial, setSourceNodeMaterial, setMaterialColor, setMaterialTexture, setMaterialMetallness, setMaterialRoughness, addToHighlightLayer, removeFromHighlightLayer, setReceiveShadows, addToShadowGenerator, removeFromShadowGenerator, getClientRectFromMesh };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getClientRectFromMesh = exports.removeFromShadowGenerator = exports.addToShadowGenerator = exports.setReceiveShadows = exports.removeFromHighlightLayer = exports.addToHighlightLayer = exports.setMaterialRoughness = exports.setMaterialMetallness = exports.setMaterialTexture = exports.setMaterialColor = exports.setSourceNodeMaterial = exports.setMaterial = exports.disableNodeWithParents = exports.enableNodeWithParents = exports.deactivateTransformNode = exports.activateTransformNode = exports.assertTransformNode = exports.injectNodeMetadata = exports.cloneTransformNodeMaterial = exports.cloneNodeWithParents = exports.cloneTransformNode = exports.getDottedPathForNode = exports.mapToDottedNodes = void 0;
|
|
3
|
+
exports.getClientRectFromMesh = exports.removeFromShadowGenerator = exports.addToShadowGenerator = exports.setReceiveShadows = exports.removeFromHighlightLayer = exports.addToHighlightLayer = exports.setMaterialRoughness = exports.setMaterialMetallness = exports.setMaterialTexture = exports.setMaterialColor = exports.setSourceNodeMaterial = exports.setMaterial = exports.disableNodeWithParents = exports.enableNodeWithParents = exports.deactivateTransformNode = exports.activateTransformNode = exports.assertTransformNode = exports.injectNodeMetadata = exports.cloneTransformNodeMaterial = exports.cloneNodeWithParents = exports.cloneTransformNode = exports.getDottedPathForNode = exports.mapToDottedNodes = exports.getRootNode = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var light_1 = require("@babylonjs/core/Lights/light");
|
|
6
6
|
var math_vector_1 = require("@babylonjs/core/Maths/math.vector");
|
|
@@ -9,6 +9,18 @@ var instancedMesh_1 = require("@babylonjs/core/Meshes/instancedMesh");
|
|
|
9
9
|
var transformNode_1 = require("@babylonjs/core/Meshes/transformNode");
|
|
10
10
|
var lodash_es_1 = require("lodash-es");
|
|
11
11
|
var dottedPath_1 = require("../classes/dottedPath");
|
|
12
|
+
/**
|
|
13
|
+
* @param node
|
|
14
|
+
* @return Node
|
|
15
|
+
*/
|
|
16
|
+
var getRootNode = function (node) {
|
|
17
|
+
var _node = node;
|
|
18
|
+
while (_node.parent) {
|
|
19
|
+
_node = _node.parent;
|
|
20
|
+
}
|
|
21
|
+
return _node;
|
|
22
|
+
};
|
|
23
|
+
exports.getRootNode = getRootNode;
|
|
12
24
|
/**
|
|
13
25
|
* @param nodes
|
|
14
26
|
* @param predicate
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"babylonHelper.js","sourceRoot":"","sources":["../../../../src/api/util/babylonHelper.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"babylonHelper.js","sourceRoot":"","sources":["../../../../src/api/util/babylonHelper.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -10,7 +10,6 @@ import { AbstractMesh } from '@babylonjs/core/Meshes/abstractMesh';
|
|
|
10
10
|
import { InstancedMesh } from '@babylonjs/core/Meshes/instancedMesh';
|
|
11
11
|
import { Mesh } from '@babylonjs/core/Meshes/mesh';
|
|
12
12
|
import { TransformNode } from '@babylonjs/core/Meshes/transformNode';
|
|
13
|
-
import { VariantParameterizable } from './../classes/variantParameterizable';
|
|
14
13
|
import { get, isArray, isNumber, isPlainObject, merge, union } from 'lodash-es';
|
|
15
14
|
import {
|
|
16
15
|
activateTransformNode as activate,
|
|
@@ -33,6 +32,7 @@ import {
|
|
|
33
32
|
setReceiveShadows
|
|
34
33
|
} from '../util/babylonHelper';
|
|
35
34
|
import { createImageBitmapFromImgSrc, createImageBitmapFromSvg } from '../util/resourceHelper';
|
|
35
|
+
import { VariantParameterizable } from './../classes/variantParameterizable';
|
|
36
36
|
import { DottedPath } from './dottedPath';
|
|
37
37
|
import { Parameter } from './parameter';
|
|
38
38
|
import { Variant } from './variant';
|
|
@@ -165,6 +165,7 @@ export class Element extends VariantParameterizable {
|
|
|
165
165
|
* Gets a node by its {@link DottedPath}.
|
|
166
166
|
*/
|
|
167
167
|
public getNode( dottedPath: DottedPathArgument ): TransformNode {
|
|
168
|
+
// TODO: fix, currently broken
|
|
168
169
|
const _dottedPath = DottedPath.create( dottedPath );
|
|
169
170
|
const node = this._dottedNodes.get( _dottedPath );
|
|
170
171
|
if( !node ) {
|
|
@@ -321,7 +322,7 @@ export class Element extends VariantParameterizable {
|
|
|
321
322
|
*/
|
|
322
323
|
protected addParameterObservers(): Element {
|
|
323
324
|
this._parameterObservers.set( Parameter.VISIBLE, [
|
|
324
|
-
( element: Element, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
325
|
+
async ( element: Element, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
325
326
|
let visible;
|
|
326
327
|
try {
|
|
327
328
|
visible = Parameter.parseBoolean( newValue );
|
|
@@ -342,13 +343,13 @@ export class Element extends VariantParameterizable {
|
|
|
342
343
|
}
|
|
343
344
|
] );
|
|
344
345
|
this._parameterObservers.set( Parameter.SCALING, [
|
|
345
|
-
( element: Element, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
346
|
+
async ( element: Element, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
346
347
|
// we have to deal just with root nodes here due to relative impacts in a node tree
|
|
347
348
|
element.nodes.forEach( node => node.scaling = Parameter.parseScaling( newValue ) );
|
|
348
349
|
}
|
|
349
350
|
] );
|
|
350
351
|
this._parameterObservers.set( Parameter.MATERIAL, [
|
|
351
|
-
( element: Element, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
352
|
+
async ( element: Element, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
352
353
|
const material = element.variant.getMaterial( newValue.toString() );
|
|
353
354
|
element.nodes.forEach( node => {
|
|
354
355
|
assertTransformNode(node, (node: AbstractMesh) => {
|
|
@@ -363,7 +364,7 @@ export class Element extends VariantParameterizable {
|
|
|
363
364
|
}
|
|
364
365
|
] );
|
|
365
366
|
this._parameterObservers.set( Parameter.MATERIAL_COLOR, [
|
|
366
|
-
( element: Element, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
367
|
+
async ( element: Element, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
367
368
|
const color = Parameter.parseColor( newValue );
|
|
368
369
|
element.nodes.forEach( node => {
|
|
369
370
|
assertTransformNode(node, (node: AbstractMesh) => {
|
|
@@ -385,7 +386,7 @@ export class Element extends VariantParameterizable {
|
|
|
385
386
|
}
|
|
386
387
|
] );
|
|
387
388
|
this._parameterObservers.set( Parameter.MATERIAL_METALLNESS, [
|
|
388
|
-
( element: Element, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
389
|
+
async ( element: Element, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
389
390
|
const metallness = Parameter.parseNumber( newValue );
|
|
390
391
|
element.nodes.forEach( node => {
|
|
391
392
|
assertTransformNode(node, (node: AbstractMesh) => {
|
|
@@ -407,7 +408,7 @@ export class Element extends VariantParameterizable {
|
|
|
407
408
|
}
|
|
408
409
|
] );
|
|
409
410
|
this._parameterObservers.set( Parameter.MATERIAL_ROUGHNESS, [
|
|
410
|
-
( element: Element, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
411
|
+
async ( element: Element, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
411
412
|
const roughness = Parameter.parseNumber( newValue );
|
|
412
413
|
element.nodes.forEach( node => {
|
|
413
414
|
assertTransformNode(node, (node: AbstractMesh) => {
|
|
@@ -429,7 +430,7 @@ export class Element extends VariantParameterizable {
|
|
|
429
430
|
}
|
|
430
431
|
] );
|
|
431
432
|
this._parameterObservers.set( Parameter.HIGHLIGHT_COLOR, [
|
|
432
|
-
( element: Element, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
433
|
+
async ( element: Element, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
433
434
|
// trigger Parameter.HIGHLIGHTED observers
|
|
434
435
|
this._parameterObservers.get( Parameter.HIGHLIGHTED )?.forEach( observer => {
|
|
435
436
|
observer( element, !!element.highlighted, !!element.highlighted );
|
|
@@ -437,7 +438,7 @@ export class Element extends VariantParameterizable {
|
|
|
437
438
|
}
|
|
438
439
|
] );
|
|
439
440
|
this._parameterObservers.set( Parameter.HIGHLIGHT_ENABLED, [
|
|
440
|
-
( element: Element, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
441
|
+
async ( element: Element, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
441
442
|
let curr;
|
|
442
443
|
try {
|
|
443
444
|
curr = Parameter.parseBoolean( newValue );
|
|
@@ -461,7 +462,7 @@ export class Element extends VariantParameterizable {
|
|
|
461
462
|
}
|
|
462
463
|
] );
|
|
463
464
|
this._parameterObservers.set( Parameter.HIGHLIGHTED, [
|
|
464
|
-
( element: Element, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
465
|
+
async ( element: Element, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
465
466
|
if( !element.inheritedParameters[Parameter.HIGHLIGHT_ENABLED] ) {
|
|
466
467
|
return;
|
|
467
468
|
}
|
|
@@ -503,7 +504,7 @@ export class Element extends VariantParameterizable {
|
|
|
503
504
|
}
|
|
504
505
|
] );
|
|
505
506
|
this._parameterObservers.set( Parameter.POSITION, [
|
|
506
|
-
( element: Element, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
507
|
+
async ( element: Element, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
507
508
|
// we have to deal just with root nodes here due to relative impacts in a node tree
|
|
508
509
|
element.nodes.forEach( node => {
|
|
509
510
|
// remember absolute position and reset it before translating
|
|
@@ -520,7 +521,7 @@ export class Element extends VariantParameterizable {
|
|
|
520
521
|
}
|
|
521
522
|
] );
|
|
522
523
|
this._parameterObservers.set( Parameter.ROTATION, [
|
|
523
|
-
( element: Element, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
524
|
+
async ( element: Element, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
524
525
|
// we have to deal just with root nodes here due to relative impacts in a node tree
|
|
525
526
|
element.nodes.forEach( node => {
|
|
526
527
|
// remember absolute rotation and reset it before translating
|
|
@@ -564,12 +565,16 @@ export class Element extends VariantParameterizable {
|
|
|
564
565
|
// cleanup all shadow generators
|
|
565
566
|
await this.castShadowValueHandler( lightCsl, removeFromShadowGenerator );
|
|
566
567
|
if( element.castShadow === true ) {
|
|
568
|
+
// if newValue is undefined or '' then set newValue to lightCsl (use all lights)
|
|
569
|
+
if( !newValue ) {
|
|
570
|
+
newValue = lightCsl;
|
|
571
|
+
}
|
|
567
572
|
await this.castShadowValueHandler( newValue, addToShadowGenerator );
|
|
568
573
|
}
|
|
569
574
|
}
|
|
570
575
|
] );
|
|
571
576
|
this._parameterObservers.set( Parameter.RECEIVE_SHADOWS, [
|
|
572
|
-
( element: Element, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
577
|
+
async ( element: Element, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
573
578
|
element.nodes.forEach( node => setReceiveShadows( node, Parameter.parseBoolean( newValue ) ) );
|
|
574
579
|
}
|
|
575
580
|
] );
|
|
@@ -318,6 +318,13 @@ export class Parameter {
|
|
|
318
318
|
}
|
|
319
319
|
}
|
|
320
320
|
|
|
321
|
+
/**
|
|
322
|
+
* Stringifies a Vector3 to format `(x,y,z)`.
|
|
323
|
+
*/
|
|
324
|
+
public static stringifyVector( value: Vector3 ): string {
|
|
325
|
+
return `(${value.x},${value.y},${value.z})`;
|
|
326
|
+
}
|
|
327
|
+
|
|
321
328
|
/**
|
|
322
329
|
* Parses a string of format `'(x,y,z)'` with angular degrees to a `Vector3` with rotation information in radians.
|
|
323
330
|
*/
|
|
@@ -664,73 +664,97 @@ export class Variant extends Parameterizable {
|
|
|
664
664
|
return await parameterizable.commitParameters( _parameters );
|
|
665
665
|
}
|
|
666
666
|
|
|
667
|
+
/**
|
|
668
|
+
* Commits given {@link Parameter} to the {@link Variant}'s {@link Element}s.
|
|
669
|
+
*/
|
|
670
|
+
protected async commitParameterToElements( parameter: string, value: ParameterValue ) {
|
|
671
|
+
const promises = [];
|
|
672
|
+
for( const element of this.elements ) {
|
|
673
|
+
promises.push( element.commitParameter( parameter, value ) );
|
|
674
|
+
}
|
|
675
|
+
await Promise.all( promises );
|
|
676
|
+
}
|
|
677
|
+
|
|
678
|
+
/**
|
|
679
|
+
* Commits given {@link Parameter} to the {@link Variant}'s {@link Element}s.
|
|
680
|
+
*/
|
|
681
|
+
protected async commitParameterToViewerLights( parameter: string, value: ParameterValue ) {
|
|
682
|
+
const promises = [];
|
|
683
|
+
for( const viewerLight of this.viewerLights ) {
|
|
684
|
+
promises.push( viewerLight.commitParameter( parameter, value ) );
|
|
685
|
+
}
|
|
686
|
+
await Promise.all( promises );
|
|
687
|
+
}
|
|
688
|
+
|
|
667
689
|
/**
|
|
668
690
|
* Adds the default {@link ParameterObserver}s which are called every time {@link commitParameters} is called.
|
|
669
691
|
*/
|
|
670
692
|
protected addParameterObservers(): Variant {
|
|
671
693
|
this._parameterObservers.set( Parameter.VISIBLE, [
|
|
672
|
-
( variant: Variant, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
673
|
-
variant.
|
|
694
|
+
async ( variant: Variant, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
695
|
+
await variant.commitParameterToElements( Parameter.VISIBLE, newValue );
|
|
674
696
|
}
|
|
675
697
|
] );
|
|
676
698
|
this._parameterObservers.set( Parameter.SCALING, [
|
|
677
|
-
( variant: Variant, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
678
|
-
variant.
|
|
699
|
+
async ( variant: Variant, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
700
|
+
await variant.commitParameterToElements( Parameter.SCALING, newValue );
|
|
679
701
|
}
|
|
680
702
|
] );
|
|
681
703
|
this._parameterObservers.set( Parameter.MATERIAL, [
|
|
682
|
-
( variant: Variant, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
683
|
-
variant.
|
|
704
|
+
async ( variant: Variant, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
705
|
+
await variant.commitParameterToElements( Parameter.MATERIAL, newValue );
|
|
684
706
|
}
|
|
685
707
|
] );
|
|
686
708
|
this._parameterObservers.set( Parameter.MATERIAL_COLOR, [
|
|
687
|
-
( variant: Variant, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
688
|
-
variant.
|
|
709
|
+
async ( variant: Variant, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
710
|
+
await variant.commitParameterToElements( Parameter.MATERIAL_COLOR, newValue );
|
|
689
711
|
}
|
|
690
712
|
] );
|
|
691
713
|
this._parameterObservers.set( Parameter.MATERIAL_METALLNESS, [
|
|
692
|
-
( variant: Variant, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
693
|
-
variant.
|
|
714
|
+
async ( variant: Variant, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
715
|
+
await variant.commitParameterToElements( Parameter.MATERIAL_METALLNESS, newValue );
|
|
694
716
|
}
|
|
695
717
|
] );
|
|
696
718
|
this._parameterObservers.set( Parameter.MATERIAL_ROUGHNESS, [
|
|
697
|
-
( variant: Variant, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
698
|
-
variant.
|
|
719
|
+
async ( variant: Variant, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
720
|
+
await variant.commitParameterToElements( Parameter.MATERIAL_ROUGHNESS, newValue );
|
|
699
721
|
}
|
|
700
722
|
] );
|
|
701
723
|
this._parameterObservers.set( Parameter.HIGHLIGHT_COLOR, [
|
|
702
|
-
( variant: Variant, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
703
|
-
variant.
|
|
724
|
+
async ( variant: Variant, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
725
|
+
await variant.commitParameterToElements( Parameter.HIGHLIGHT_COLOR, newValue );
|
|
704
726
|
}
|
|
705
727
|
] );
|
|
706
728
|
this._parameterObservers.set( Parameter.HIGHLIGHTED, [
|
|
707
|
-
( variant: Variant, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
708
|
-
variant.
|
|
729
|
+
async ( variant: Variant, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
730
|
+
await variant.commitParameterToElements( Parameter.HIGHLIGHTED, newValue );
|
|
709
731
|
}
|
|
710
732
|
] );
|
|
711
733
|
this._parameterObservers.set( Parameter.POSITION, [
|
|
712
|
-
( variant: Variant, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
713
|
-
variant.
|
|
734
|
+
async ( variant: Variant, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
735
|
+
await variant.commitParameterToElements( Parameter.POSITION, newValue );
|
|
736
|
+
await variant.commitParameterToViewerLights( Parameter.POSITION, newValue );
|
|
714
737
|
}
|
|
715
738
|
] );
|
|
716
739
|
this._parameterObservers.set( Parameter.ROTATION, [
|
|
717
|
-
( variant: Variant, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
718
|
-
variant.
|
|
740
|
+
async ( variant: Variant, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
741
|
+
await variant.commitParameterToElements( Parameter.ROTATION, newValue );
|
|
742
|
+
await variant.commitParameterToViewerLights( Parameter.ROTATION, newValue );
|
|
719
743
|
}
|
|
720
744
|
] );
|
|
721
745
|
this._parameterObservers.set( Parameter.CAST_SHADOW, [
|
|
722
|
-
( variant: Variant, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
723
|
-
variant.
|
|
746
|
+
async ( variant: Variant, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
747
|
+
await variant.commitParameterToElements( Parameter.CAST_SHADOW, newValue );
|
|
724
748
|
}
|
|
725
749
|
] );
|
|
726
750
|
this._parameterObservers.set( Parameter.CAST_SHADOW_FROM_LIGHTS, [
|
|
727
|
-
( variant: Variant, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
728
|
-
variant.
|
|
751
|
+
async ( variant: Variant, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
752
|
+
await variant.commitParameterToElements( Parameter.CAST_SHADOW_FROM_LIGHTS, newValue );
|
|
729
753
|
}
|
|
730
754
|
] );
|
|
731
755
|
this._parameterObservers.set( Parameter.RECEIVE_SHADOWS, [
|
|
732
|
-
( variant: Variant, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
733
|
-
variant.
|
|
756
|
+
async ( variant: Variant, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
757
|
+
await variant.commitParameterToElements( Parameter.RECEIVE_SHADOWS, newValue );
|
|
734
758
|
}
|
|
735
759
|
] );
|
|
736
760
|
return this;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Mesh } from '@babylonjs/core/Meshes/mesh';
|
|
2
2
|
import { Element } from './element';
|
|
3
|
+
import { ViewerLight } from './viewerLight';
|
|
3
4
|
import { EventBroadcaster } from './eventBroadcaster';
|
|
4
5
|
import { ParameterObservable } from './parameterObservable';
|
|
5
6
|
import { Variant } from './variant';
|
|
@@ -50,6 +51,13 @@ export class VariantInstance extends EventBroadcaster {
|
|
|
50
51
|
return this.variant.getElement( dottedPath );
|
|
51
52
|
}
|
|
52
53
|
|
|
54
|
+
/**
|
|
55
|
+
* A proxy for {@link Variant.getViewerLight}.
|
|
56
|
+
*/
|
|
57
|
+
public async getViewerLight( dottedPath: DottedPathArgument ): Promise<ViewerLight> {
|
|
58
|
+
return this.variant.getViewerLight( dottedPath );
|
|
59
|
+
}
|
|
60
|
+
|
|
53
61
|
/**
|
|
54
62
|
* A proxy for {@link Variant.getNode}.
|
|
55
63
|
*/
|
|
@@ -1,9 +1,17 @@
|
|
|
1
|
+
import { PointLight } from '@babylonjs/core';
|
|
2
|
+
import { HemisphericLight } from '@babylonjs/core/Lights/hemisphericLight';
|
|
1
3
|
import { Light } from '@babylonjs/core/Lights/light';
|
|
2
4
|
import { ShadowLight } from '@babylonjs/core/Lights/shadowLight';
|
|
3
5
|
import { ShadowGenerator } from '@babylonjs/core/Lights/Shadows/shadowGenerator';
|
|
4
6
|
import '@babylonjs/core/Lights/Shadows/shadowGeneratorSceneComponent';
|
|
5
|
-
import
|
|
7
|
+
import '@babylonjs/loaders/glTF/2.0/Extensions/KHR_lights_punctual';
|
|
6
8
|
import { get, isEmpty, isString, set } from 'lodash-es';
|
|
9
|
+
import {
|
|
10
|
+
cloneNodeWithParents,
|
|
11
|
+
disableNodeWithParents,
|
|
12
|
+
enableNodeWithParents,
|
|
13
|
+
getRootNode
|
|
14
|
+
} from './../util/babylonHelper';
|
|
7
15
|
import { DottedPath } from './dottedPath';
|
|
8
16
|
import { Parameter } from './parameter';
|
|
9
17
|
import { Variant } from './variant';
|
|
@@ -80,7 +88,7 @@ export class ViewerLight extends VariantParameterizable {
|
|
|
80
88
|
* The type of the {@link ViewerLight}'s light.
|
|
81
89
|
*/
|
|
82
90
|
get type(): string {
|
|
83
|
-
return this.light.constructor.name.replace(/light/i, '').toLowerCase();
|
|
91
|
+
return this.light.constructor.name.replace( /light/i, '' ).toLowerCase();
|
|
84
92
|
}
|
|
85
93
|
|
|
86
94
|
/**
|
|
@@ -96,7 +104,7 @@ export class ViewerLight extends VariantParameterizable {
|
|
|
96
104
|
*/
|
|
97
105
|
protected addParameterObservers(): ViewerLight {
|
|
98
106
|
this._parameterObservers.set( Parameter.VISIBLE, [
|
|
99
|
-
( light: ViewerLight, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
107
|
+
async ( light: ViewerLight, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
100
108
|
let visible;
|
|
101
109
|
try {
|
|
102
110
|
visible = Parameter.parseBoolean( newValue );
|
|
@@ -111,47 +119,47 @@ export class ViewerLight extends VariantParameterizable {
|
|
|
111
119
|
}
|
|
112
120
|
] );
|
|
113
121
|
this._parameterObservers.set( Parameter.INTENSITY, [
|
|
114
|
-
( light: ViewerLight, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
115
|
-
|
|
116
|
-
set( light.light, 'intensity', Parameter.parseNumber( newValue ) );
|
|
117
|
-
}
|
|
122
|
+
async ( light: ViewerLight, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
123
|
+
set( light.light, 'intensity', Parameter.parseNumber( newValue ) );
|
|
118
124
|
}
|
|
119
125
|
] );
|
|
120
126
|
this._parameterObservers.set( Parameter.POSITION, [
|
|
121
|
-
( light: ViewerLight, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
}
|
|
127
|
+
async ( light: ViewerLight, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
128
|
+
const rootNode = getRootNode( light.light );
|
|
129
|
+
set( rootNode, 'position', Parameter.parseVector( newValue ) );
|
|
125
130
|
}
|
|
126
131
|
] );
|
|
127
132
|
this._parameterObservers.set( Parameter.DIRECTION, [
|
|
128
|
-
( light: ViewerLight, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
129
|
-
if(
|
|
133
|
+
async ( light: ViewerLight, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
134
|
+
if(
|
|
135
|
+
(light.light instanceof ShadowLight && !(light.light instanceof PointLight))
|
|
136
|
+
|| light.light instanceof HemisphericLight
|
|
137
|
+
) {
|
|
130
138
|
set( light.light, 'direction', Parameter.parseVector( newValue ) );
|
|
131
139
|
}
|
|
132
140
|
}
|
|
133
141
|
] );
|
|
134
142
|
this._parameterObservers.set( Parameter.ANGLE, [
|
|
135
|
-
( light: ViewerLight, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
143
|
+
async ( light: ViewerLight, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
136
144
|
if( light.light.getClassName() === 'SpotLight' ) {
|
|
137
145
|
set( light.light, 'angle', Parameter.parseNumber( newValue ) );
|
|
138
146
|
}
|
|
139
147
|
}
|
|
140
148
|
] );
|
|
141
149
|
this._parameterObservers.set( Parameter.EXPONENT, [
|
|
142
|
-
( light: ViewerLight, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
150
|
+
async ( light: ViewerLight, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
143
151
|
if( light.light.getClassName() === 'SpotLight' ) {
|
|
144
152
|
set( light.light, 'exponent', Parameter.parseNumber( newValue ) );
|
|
145
153
|
}
|
|
146
154
|
}
|
|
147
155
|
] );
|
|
148
156
|
this._parameterObservers.set( Parameter.DIFFUSE, [
|
|
149
|
-
( light: ViewerLight, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
157
|
+
async ( light: ViewerLight, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
150
158
|
set( light.light, 'diffuse', Parameter.parseColor( newValue ) );
|
|
151
159
|
}
|
|
152
160
|
] );
|
|
153
161
|
this._parameterObservers.set( Parameter.SPECULAR, [
|
|
154
|
-
( light: ViewerLight, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
162
|
+
async ( light: ViewerLight, oldValue: ParameterValue, newValue: ParameterValue ) => {
|
|
155
163
|
set( light.light, 'specular', Parameter.parseColor( newValue ) );
|
|
156
164
|
}
|
|
157
165
|
] );
|
|
@@ -15,6 +15,18 @@ import { Scene } from '@babylonjs/core/scene';
|
|
|
15
15
|
import { cloneDeep, merge } from 'lodash-es';
|
|
16
16
|
import { DottedPath } from '../classes/dottedPath';
|
|
17
17
|
|
|
18
|
+
/**
|
|
19
|
+
* @param node
|
|
20
|
+
* @return Node
|
|
21
|
+
*/
|
|
22
|
+
const getRootNode = function( node: Node ): Node {
|
|
23
|
+
let _node = node;
|
|
24
|
+
while( _node.parent ) {
|
|
25
|
+
_node = _node.parent;
|
|
26
|
+
}
|
|
27
|
+
return _node;
|
|
28
|
+
}
|
|
29
|
+
|
|
18
30
|
/**
|
|
19
31
|
* @param nodes
|
|
20
32
|
* @param predicate
|
|
@@ -458,6 +470,7 @@ const getClientRectFromMesh = function( mesh: AbstractMesh, scene: Scene, canvas
|
|
|
458
470
|
};
|
|
459
471
|
|
|
460
472
|
export {
|
|
473
|
+
getRootNode,
|
|
461
474
|
mapToDottedNodes,
|
|
462
475
|
getDottedPathForNode,
|
|
463
476
|
cloneTransformNode,
|