@combeenation/3d-viewer 15.0.0 → 15.1.0-beta1
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/buildinfo.json +1 -1
- package/dist/lib-cjs/commonjs.tsconfig.tsbuildinfo +1 -1
- package/dist/lib-cjs/index.d.ts +1 -1
- package/dist/lib-cjs/index.js +1 -1
- package/dist/lib-cjs/index.js.map +1 -1
- package/dist/lib-cjs/internal/cbn-custom-babylon-loader-plugin.js +0 -16
- package/dist/lib-cjs/internal/cbn-custom-babylon-loader-plugin.js.map +1 -1
- package/dist/lib-cjs/internal/cloning-helper.d.ts +4 -4
- package/dist/lib-cjs/internal/cloning-helper.js +22 -7
- package/dist/lib-cjs/internal/cloning-helper.js.map +1 -1
- package/dist/lib-cjs/manager/material-manager.d.ts +22 -1
- package/dist/lib-cjs/manager/material-manager.js +68 -0
- package/dist/lib-cjs/manager/material-manager.js.map +1 -1
- package/dist/lib-cjs/manager/model-manager.d.ts +4 -2
- package/dist/lib-cjs/manager/model-manager.js +7 -1
- package/dist/lib-cjs/manager/model-manager.js.map +1 -1
- package/dist/lib-cjs/manager/parameter-manager.d.ts +22 -8
- package/dist/lib-cjs/manager/parameter-manager.js +22 -4
- package/dist/lib-cjs/manager/parameter-manager.js.map +1 -1
- package/dist/lib-cjs/viewer-error.d.ts +2 -0
- package/dist/lib-cjs/viewer-error.js +2 -0
- package/dist/lib-cjs/viewer-error.js.map +1 -1
- package/package.json +11 -11
- package/src/index.ts +1 -1
- package/src/internal/cbn-custom-babylon-loader-plugin.ts +1 -20
- package/src/internal/cloning-helper.ts +29 -5
- package/src/manager/material-manager.ts +62 -0
- package/src/manager/model-manager.ts +11 -5
- package/src/manager/parameter-manager.ts +32 -10
- package/src/viewer-error.ts +2 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parameter-manager.js","sourceRoot":"","sources":["../../../src/manager/parameter-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parameter-manager.js","sourceRoot":"","sources":["../../../src/manager/parameter-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,8 @@ export declare const ViewerErrorIds: {
|
|
|
25
25
|
AssetLoadingFailed: string;
|
|
26
26
|
MaterialCouldNotBeParsed: string;
|
|
27
27
|
TextureCouldNotBeParsed: string;
|
|
28
|
+
MaterialAlreadyExists: string;
|
|
29
|
+
NotAClonedMaterial: string;
|
|
28
30
|
};
|
|
29
31
|
/** @internal */
|
|
30
32
|
export declare class ViewerError extends Error {
|
|
@@ -23,6 +23,8 @@ exports.ViewerErrorIds = {
|
|
|
23
23
|
AssetLoadingFailed: 'AssetLoadingFailed',
|
|
24
24
|
MaterialCouldNotBeParsed: 'MaterialCouldNotBeParsed',
|
|
25
25
|
TextureCouldNotBeParsed: 'TextureCouldNotBeParsed',
|
|
26
|
+
MaterialAlreadyExists: 'MaterialAlreadyExists',
|
|
27
|
+
NotAClonedMaterial: 'NotAClonedMaterial',
|
|
26
28
|
};
|
|
27
29
|
/** @internal */
|
|
28
30
|
class ViewerError extends Error {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viewer-error.js","sourceRoot":"","sources":["../../src/viewer-error.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAQH;;;;;;;;GAQG;AACU,QAAA,cAAc,GAAG;IAC5B,qBAAqB,EAAE,uBAAuB;IAC9C,kBAAkB,EAAE,oBAAoB;IACxC,kBAAkB,EAAE,oBAAoB;IACxC,gBAAgB,EAAE,kBAAkB;IACpC,kBAAkB,EAAE,oBAAoB;IACxC,wBAAwB,EAAE,0BAA0B;IACpD,uBAAuB,EAAE,yBAAyB;
|
|
1
|
+
{"version":3,"file":"viewer-error.js","sourceRoot":"","sources":["../../src/viewer-error.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAQH;;;;;;;;GAQG;AACU,QAAA,cAAc,GAAG;IAC5B,qBAAqB,EAAE,uBAAuB;IAC9C,kBAAkB,EAAE,oBAAoB;IACxC,kBAAkB,EAAE,oBAAoB;IACxC,gBAAgB,EAAE,kBAAkB;IACpC,kBAAkB,EAAE,oBAAoB;IACxC,wBAAwB,EAAE,0BAA0B;IACpD,uBAAuB,EAAE,yBAAyB;IAClD,qBAAqB,EAAE,uBAAuB;IAC9C,kBAAkB,EAAE,oBAAoB;CACzC,CAAC;AAEF,gBAAgB;AAChB,MAAa,WAAY,SAAQ,KAAK;IAGpC,YAAY,IAAqB;QAC/B,mHAAmH;QACnH,oDAAoD;QACpD,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC;IAC/B,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAC,mBAAmB,CAAC,OAAe;;QACxC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,sBAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEzD,SAAS;QACT,2CAA2C;QAC3C,uCAAuC;QACvC,kGAAkG;QAClG,wCAAwC;QACxC,2GAA2G;QAC3G,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,YAAY,GAAG,QAAQ,GAAG,eAAe,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnF,MAAM,EAAE,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,0CAAE,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,0CAAE,GAAG,KAAI,OAAO,CAAC;QAE3C,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;IACrB,CAAC;CACF;AApCD,kCAoCC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@combeenation/3d-viewer",
|
|
3
|
-
"version": "15.
|
|
3
|
+
"version": "15.1.0-beta1",
|
|
4
4
|
"description": "Combeenation 3D Viewer",
|
|
5
5
|
"homepage": "https://github.com/Combeenation/3d-viewer#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -46,9 +46,9 @@
|
|
|
46
46
|
},
|
|
47
47
|
"prettier": "@combeenation/prettier-config",
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@babylonjs/core": "7.
|
|
50
|
-
"@babylonjs/loaders": "7.
|
|
51
|
-
"@babylonjs/serializers": "7.
|
|
49
|
+
"@babylonjs/core": "7.30.1",
|
|
50
|
+
"@babylonjs/loaders": "7.30.1",
|
|
51
|
+
"@babylonjs/serializers": "7.30.1",
|
|
52
52
|
"eventemitter3": "4.0.7",
|
|
53
53
|
"is-svg": "^5.0.0",
|
|
54
54
|
"lodash-es": "4.17.21"
|
|
@@ -78,15 +78,15 @@
|
|
|
78
78
|
"webpack-merge": "5.8.0"
|
|
79
79
|
},
|
|
80
80
|
"optionalDependencies": {
|
|
81
|
-
"@babylonjs/gui": "7.
|
|
82
|
-
"@babylonjs/gui-editor": "7.
|
|
83
|
-
"@babylonjs/inspector": "7.
|
|
84
|
-
"@babylonjs/materials": "7.
|
|
85
|
-
"@babylonjs/node-editor": "7.
|
|
86
|
-
"@babylonjs/node-geometry-editor": "7.
|
|
81
|
+
"@babylonjs/gui": "7.30.1",
|
|
82
|
+
"@babylonjs/gui-editor": "7.30.1",
|
|
83
|
+
"@babylonjs/inspector": "7.30.1",
|
|
84
|
+
"@babylonjs/materials": "7.30.1",
|
|
85
|
+
"@babylonjs/node-editor": "7.30.1",
|
|
86
|
+
"@babylonjs/node-geometry-editor": "7.30.1"
|
|
87
87
|
},
|
|
88
88
|
"dependenciesComments": {
|
|
89
|
-
"@babylonjs": "Latest version 7.
|
|
89
|
+
"@babylonjs": "Latest version 7.30.1 is exposing the original gltf texture image name, which we need for texture image asset linking, see https://forum.babylonjs.com/t/gltfloader-option-to-keep-or-prefer-original-texture-or-image-name-as-name-of-loaded-texture/37307/9"
|
|
90
90
|
},
|
|
91
91
|
"optionalDependenciesComments": {
|
|
92
92
|
"@babylonjs": "Defining the inspector package (and it's dependencies) as optional is required to omit these packages in the production build of the CBN react-app (see CB-9269)"
|
package/src/index.ts
CHANGED
|
@@ -10,9 +10,9 @@ import '@babylonjs/serializers/glTF/2.0/Extensions';
|
|
|
10
10
|
// to make single imports from "@babylonjs/..."
|
|
11
11
|
// When using Babylon.js modules inside the viewer repo make sure to import from the viewer root as well.
|
|
12
12
|
// E.g. `import { BaseTexture, Material, Node } from '../index';`
|
|
13
|
-
export * from '@babylonjs/core/abstractScene';
|
|
14
13
|
export * from '@babylonjs/core/Animations';
|
|
15
14
|
export * from '@babylonjs/core/assetContainer';
|
|
15
|
+
export * from '@babylonjs/core/IAssetContainer';
|
|
16
16
|
export * from '@babylonjs/core/Buffers';
|
|
17
17
|
export * from '@babylonjs/core/Cameras/arcRotateCamera';
|
|
18
18
|
export * from '@babylonjs/core/Cameras/camera';
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { AssetContainer, ISceneLoaderPlugin, InstancedMesh,
|
|
2
|
-
import { cloneMorphTargetManager } from './cloning-helper';
|
|
1
|
+
import { AssetContainer, ISceneLoaderPlugin, InstancedMesh, SceneLoader } from '../index';
|
|
3
2
|
import { setInternalMetadataValue } from './metadata-helper';
|
|
4
3
|
import { deleteAllTags, getTags, setTagsAsString } from './tags-helper';
|
|
5
4
|
import { isArray, isString } from 'lodash-es';
|
|
@@ -37,7 +36,6 @@ export function registerCustomCbnBabylonLoaderPlugin(): void {
|
|
|
37
36
|
|
|
38
37
|
_addMissingMaterialMetadata(dataParsed, importedContainer);
|
|
39
38
|
_reconstructTagsForInstancedMeshes(dataParsed, importedContainer);
|
|
40
|
-
_unifyMorphTargetManagerIds(importedContainer, scene);
|
|
41
39
|
|
|
42
40
|
// restore existing morph target managers
|
|
43
41
|
scene.morphTargetManagers.push(...curMorphTargetManagers);
|
|
@@ -140,20 +138,3 @@ function _reconstructTagsForInstancedMeshes(dataParsed: unknown, container: Asse
|
|
|
140
138
|
}
|
|
141
139
|
});
|
|
142
140
|
}
|
|
143
|
-
|
|
144
|
-
/**
|
|
145
|
-
* Morph target managers from different assets may receive the same id, which leads to erroneous morph target
|
|
146
|
-
* assignments. We can't change the id, but we can create a clone which then creates a new unique id.
|
|
147
|
-
*/
|
|
148
|
-
function _unifyMorphTargetManagerIds(container: AssetContainer, scene: Scene): void {
|
|
149
|
-
[...container.morphTargetManagers].forEach(sourceMTM => {
|
|
150
|
-
const clonedMTM = cloneMorphTargetManager(sourceMTM, container);
|
|
151
|
-
|
|
152
|
-
// clone function adds morph target manager to scene right, which we don't want here as we are only loading the
|
|
153
|
-
// asset container
|
|
154
|
-
scene.removeMorphTargetManager(clonedMTM);
|
|
155
|
-
|
|
156
|
-
// original morph target manager with bad id is not needed anymore and can be disposed
|
|
157
|
-
sourceMTM.dispose();
|
|
158
|
-
});
|
|
159
|
-
}
|
|
@@ -2,6 +2,7 @@ import {
|
|
|
2
2
|
AbstractMesh,
|
|
3
3
|
AssetContainer,
|
|
4
4
|
InstancedMesh,
|
|
5
|
+
Material,
|
|
5
6
|
Mesh,
|
|
6
7
|
MorphTargetManager,
|
|
7
8
|
NodeNamingStrategy,
|
|
@@ -18,10 +19,10 @@ import {
|
|
|
18
19
|
} from './metadata-helper';
|
|
19
20
|
import { cloneTags, getTags, setTags } from './tags-helper';
|
|
20
21
|
|
|
21
|
-
const _defaultNodeNamingStrategy: NodeNamingStrategy = (node: TransformNode,
|
|
22
|
-
return `${node.name}.${
|
|
22
|
+
const _defaultNodeNamingStrategy: NodeNamingStrategy = (node: TransformNode, clonedObjectId: string): string => {
|
|
23
|
+
return `${node.name}.${clonedObjectId}`;
|
|
23
24
|
};
|
|
24
|
-
const _defaultTagNamingStrategy: TagNamingStrategy = (tag: string,
|
|
25
|
+
const _defaultTagNamingStrategy: TagNamingStrategy = (tag: string, clonedObjectId: string): string => {
|
|
25
26
|
// don't rename tags by default
|
|
26
27
|
return tag;
|
|
27
28
|
};
|
|
@@ -68,7 +69,7 @@ export function cloneModelAssetContainer(
|
|
|
68
69
|
// morph target manager is not cloned per default, therefore morph targets would affect original and cloned model at
|
|
69
70
|
// the same time, which we don't want
|
|
70
71
|
sourceAssetContainer.morphTargetManagers.forEach(sourceMTM => {
|
|
71
|
-
|
|
72
|
+
_cloneMorphTargetManager(sourceMTM, targetAssetContainer);
|
|
72
73
|
});
|
|
73
74
|
|
|
74
75
|
_clearCloningMetadata(sourceAssetContainer);
|
|
@@ -80,11 +81,34 @@ export function cloneModelAssetContainer(
|
|
|
80
81
|
return targetAssetContainer;
|
|
81
82
|
}
|
|
82
83
|
|
|
84
|
+
/**
|
|
85
|
+
* Clones the desired material.\
|
|
86
|
+
* This basically just calls the default `clone` function of Babylon.js and applies the tag mapping
|
|
87
|
+
*/
|
|
88
|
+
export function cloneMaterial(
|
|
89
|
+
material: Material,
|
|
90
|
+
newMaterialId: string,
|
|
91
|
+
tagNamingStrategy?: TagNamingStrategy
|
|
92
|
+
): Material {
|
|
93
|
+
tagNamingStrategy = tagNamingStrategy ?? _defaultTagNamingStrategy;
|
|
94
|
+
|
|
95
|
+
const clone = material.clone(newMaterialId);
|
|
96
|
+
if (!clone) {
|
|
97
|
+
throw new Error(`Cloning material "${material.id}" failed`);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
const sourceTags = getTags(material);
|
|
101
|
+
const mappedTags = sourceTags.map(tag => tagNamingStrategy!(tag, clone.id));
|
|
102
|
+
setTags(clone, mappedTags);
|
|
103
|
+
|
|
104
|
+
return clone;
|
|
105
|
+
}
|
|
106
|
+
|
|
83
107
|
/**
|
|
84
108
|
* Helper function for cloning a morph target manager and updating all the mesh assignments.
|
|
85
109
|
* Meshes need to be already available in the target asset container.
|
|
86
110
|
*/
|
|
87
|
-
|
|
111
|
+
function _cloneMorphTargetManager(
|
|
88
112
|
sourceMTM: MorphTargetManager,
|
|
89
113
|
targetAssetContainer: AssetContainer
|
|
90
114
|
): MorphTargetManager {
|
|
@@ -3,17 +3,23 @@ import {
|
|
|
3
3
|
BaseTexture,
|
|
4
4
|
Material,
|
|
5
5
|
StandardMaterial,
|
|
6
|
+
TagNamingStrategy,
|
|
6
7
|
Viewer,
|
|
7
8
|
ViewerError,
|
|
8
9
|
ViewerErrorIds,
|
|
9
10
|
ViewerEvent,
|
|
10
11
|
} from '../index';
|
|
12
|
+
import * as CloningHelper from '../internal/cloning-helper';
|
|
11
13
|
import {
|
|
12
14
|
clearInternalMetadataValue,
|
|
13
15
|
getInternalMetadataValue,
|
|
14
16
|
setInternalMetadataValue,
|
|
15
17
|
} from '../internal/metadata-helper';
|
|
16
18
|
|
|
19
|
+
export type MaterialCloneOptions = {
|
|
20
|
+
tagNamingStrategy?: TagNamingStrategy;
|
|
21
|
+
};
|
|
22
|
+
|
|
17
23
|
/**
|
|
18
24
|
* Manager for material related tasks
|
|
19
25
|
*/
|
|
@@ -24,6 +30,7 @@ export class MaterialManager {
|
|
|
24
30
|
*/
|
|
25
31
|
public static readonly CBN_FALLBACK_MATERIAL_NAME = '$fallback';
|
|
26
32
|
|
|
33
|
+
protected _clonedMaterials: { [name: string]: Material } = {};
|
|
27
34
|
protected _createMaterialPromises: { [materialId: string]: Promise<Material | null> } = {};
|
|
28
35
|
|
|
29
36
|
/** @internal */
|
|
@@ -89,6 +96,61 @@ export class MaterialManager {
|
|
|
89
96
|
return chosenMaterial as Material;
|
|
90
97
|
}
|
|
91
98
|
|
|
99
|
+
/**
|
|
100
|
+
* Creates a clone of a material.\
|
|
101
|
+
* The clones tags will be adjusted according to the "tagNamingStrategy" option.
|
|
102
|
+
* Predefined material parameters will be applied to the material right away.
|
|
103
|
+
*/
|
|
104
|
+
public async cloneMaterial(
|
|
105
|
+
materialId: string,
|
|
106
|
+
newMaterialId: string,
|
|
107
|
+
options?: MaterialCloneOptions
|
|
108
|
+
): Promise<Material> {
|
|
109
|
+
const existingMaterial = this._clonedMaterials[newMaterialId];
|
|
110
|
+
if (existingMaterial) {
|
|
111
|
+
throw new ViewerError({
|
|
112
|
+
id: ViewerErrorIds.MaterialAlreadyExists,
|
|
113
|
+
message: `Can't create clone as material "${newMaterialId}" already exists`,
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
const sourceMaterial = await this.getOrCreateMaterial(materialId);
|
|
118
|
+
const clonedMaterial = CloningHelper.cloneMaterial(sourceMaterial, newMaterialId, options?.tagNamingStrategy);
|
|
119
|
+
|
|
120
|
+
await this.viewer.parameterManager.applyParameterValuesToMaterial(clonedMaterial);
|
|
121
|
+
|
|
122
|
+
this._clonedMaterials[newMaterialId] = clonedMaterial;
|
|
123
|
+
|
|
124
|
+
return clonedMaterial;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* Removes a cloned material from the scene and from the internal material clone storage.\
|
|
129
|
+
* Also remove all parameter entries from this material.
|
|
130
|
+
*/
|
|
131
|
+
public deleteClonedMaterial(materialId: string): void {
|
|
132
|
+
const material = this._clonedMaterials[materialId];
|
|
133
|
+
if (!material) {
|
|
134
|
+
throw new ViewerError({
|
|
135
|
+
id: ViewerErrorIds.NotAClonedMaterial,
|
|
136
|
+
message: `Can't delete material "${materialId}" as there is no cloned material with that id`,
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
this.viewer.parameterManager.removeParameterEntriesOfMaterial(material);
|
|
141
|
+
|
|
142
|
+
material.dispose(true, true);
|
|
143
|
+
|
|
144
|
+
delete this._clonedMaterials[materialId];
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Removes all cloned materials from the scene and the internal material clone storage
|
|
149
|
+
*/
|
|
150
|
+
public deleteAllClonedMaterials(): void {
|
|
151
|
+
Object.keys(this._clonedMaterials).forEach(materialId => this.deleteClonedMaterial(materialId));
|
|
152
|
+
}
|
|
153
|
+
|
|
92
154
|
protected async _createMaterial(materialId: string, mesh?: AbstractMesh): Promise<Material> {
|
|
93
155
|
if (materialId === MaterialManager.CBN_FALLBACK_MATERIAL_NAME) {
|
|
94
156
|
const fallbackMaterial = new StandardMaterial(MaterialManager.CBN_FALLBACK_MATERIAL_NAME, this.viewer.scene);
|
|
@@ -61,9 +61,7 @@ export class ModelManager {
|
|
|
61
61
|
*/
|
|
62
62
|
public static readonly CBN_FALLBACK_MODEL_ASSET_NAME = '$fallback';
|
|
63
63
|
|
|
64
|
-
protected _modelAssets: {
|
|
65
|
-
[name: string]: Model;
|
|
66
|
-
} = {};
|
|
64
|
+
protected _modelAssets: { [name: string]: Model } = {};
|
|
67
65
|
protected _fallbackModelAsset: Model = {
|
|
68
66
|
name: ModelManager.CBN_FALLBACK_MODEL_ASSET_NAME,
|
|
69
67
|
url: '',
|
|
@@ -239,13 +237,14 @@ export class ModelManager {
|
|
|
239
237
|
*
|
|
240
238
|
* @param show show model immediately after cloning
|
|
241
239
|
* @param options additional options for the cloning procedure, like renaming algorithms
|
|
240
|
+
* @returns asset container for further processing of the clone
|
|
242
241
|
*/
|
|
243
242
|
public async cloneModel(
|
|
244
243
|
name: string,
|
|
245
244
|
newModelName: string,
|
|
246
245
|
show: boolean = true,
|
|
247
246
|
options?: ModelCloneOptions
|
|
248
|
-
): Promise<
|
|
247
|
+
): Promise<AssetContainer> {
|
|
249
248
|
const sourceModel = this._getModel(name);
|
|
250
249
|
if (!sourceModel) {
|
|
251
250
|
throw new ViewerError({
|
|
@@ -288,10 +287,13 @@ export class ModelManager {
|
|
|
288
287
|
if (show) {
|
|
289
288
|
await this._showModel(clonedModel);
|
|
290
289
|
}
|
|
290
|
+
|
|
291
|
+
return clonedModel.assetContainer;
|
|
291
292
|
}
|
|
292
293
|
|
|
293
294
|
/**
|
|
294
295
|
* Removes a cloned model from the scene and from the internal model storage.\
|
|
296
|
+
* Also removes parameter entries from all nodes of the model.\
|
|
295
297
|
* Deleted clones can not be shown again.
|
|
296
298
|
*/
|
|
297
299
|
public deleteClonedModel(name: string): void {
|
|
@@ -310,13 +312,17 @@ export class ModelManager {
|
|
|
310
312
|
});
|
|
311
313
|
}
|
|
312
314
|
|
|
315
|
+
// parameter entries of deleted model can get in the way when recreating a clone with the same node names
|
|
316
|
+
// that's why it's benefitial to wipe the parameter entries of the model as well after removing it
|
|
317
|
+
this.viewer.parameterManager.removeParameterEntriesOfModel(model.assetContainer);
|
|
318
|
+
|
|
313
319
|
model.assetContainer.dispose();
|
|
314
320
|
|
|
315
321
|
delete this._modelAssets[name];
|
|
316
322
|
}
|
|
317
323
|
|
|
318
324
|
/**
|
|
319
|
-
* Removes all cloned models from the scene and the internal model storage
|
|
325
|
+
* Removes all cloned models from the scene and the internal model storage
|
|
320
326
|
*/
|
|
321
327
|
public deleteAllClonedModels(): void {
|
|
322
328
|
const clonedModelNames = Object.values(this._modelAssets)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
AbstractMesh,
|
|
3
|
-
AbstractScene,
|
|
4
3
|
Color3,
|
|
4
|
+
IAssetContainer,
|
|
5
5
|
Material,
|
|
6
6
|
PBRMaterial,
|
|
7
7
|
StandardMaterial,
|
|
@@ -337,19 +337,31 @@ export class ParameterManager {
|
|
|
337
337
|
|
|
338
338
|
/**
|
|
339
339
|
* Applies all existing parameter entries to a certain "model", as defined in the {@link ModelManager}.\
|
|
340
|
-
* This can be
|
|
340
|
+
* This can be useful when updating the model before showing it in the scene.
|
|
341
341
|
*
|
|
342
342
|
* @internal
|
|
343
343
|
*/
|
|
344
|
-
public async applyAllParameterValuesToModel(model:
|
|
345
|
-
|
|
344
|
+
public async applyAllParameterValuesToModel(model: IAssetContainer): Promise<void> {
|
|
345
|
+
await this._applyParameterValues(this._parameterEntries, model);
|
|
346
|
+
}
|
|
346
347
|
|
|
347
|
-
|
|
348
|
+
/**
|
|
349
|
+
* Removes existing parameter entries of all nodes of a model.\
|
|
350
|
+
* This can be useful to clean up the parameter state when removing a (cloned) model.
|
|
351
|
+
*
|
|
352
|
+
* @internal
|
|
353
|
+
*/
|
|
354
|
+
public removeParameterEntriesOfModel(model: IAssetContainer): void {
|
|
355
|
+
const allNodeNames = [...model.meshes, ...model.transformNodes].map(node => node.name);
|
|
356
|
+
|
|
357
|
+
this._parameterEntries = this._parameterEntries.filter(
|
|
358
|
+
entry => !allNodeNames.includes(entry.subject.nodeName ?? '')
|
|
359
|
+
);
|
|
348
360
|
}
|
|
349
361
|
|
|
350
362
|
/**
|
|
351
363
|
* Applies all parameter values which are targeting a material.\
|
|
352
|
-
* This can be
|
|
364
|
+
* This can be useful when updating a material definition before creating it.
|
|
353
365
|
*
|
|
354
366
|
* @internal
|
|
355
367
|
*/
|
|
@@ -368,6 +380,16 @@ export class ParameterManager {
|
|
|
368
380
|
await this._applyParameterValues(parameterEntriesToApply);
|
|
369
381
|
}
|
|
370
382
|
|
|
383
|
+
/**
|
|
384
|
+
* Removes all parameter entries of a certain material.\
|
|
385
|
+
* This can be useful to clean up the parameter state when removing a (cloned) material.
|
|
386
|
+
*
|
|
387
|
+
* @internal
|
|
388
|
+
*/
|
|
389
|
+
public removeParameterEntriesOfMaterial(material: Material): void {
|
|
390
|
+
this._parameterEntries = this._parameterEntries.filter(entry => entry.subject.materialName !== material.id);
|
|
391
|
+
}
|
|
392
|
+
|
|
371
393
|
/**
|
|
372
394
|
* Applies subset of texture parameter values which are targeting a certain texture channel in a material.\
|
|
373
395
|
* This can be useful when updating texture settings (e.g. uScale) before the texture is actually created.
|
|
@@ -621,7 +643,7 @@ export class ParameterManager {
|
|
|
621
643
|
*/
|
|
622
644
|
protected async _applyParameterValues(
|
|
623
645
|
parameterEntries: ParameterEntry[],
|
|
624
|
-
assetContainer?:
|
|
646
|
+
assetContainer?: IAssetContainer
|
|
625
647
|
): Promise<void> {
|
|
626
648
|
const tagParamEntries = parameterEntries.filter(entry => isTagParameterSubject(entry.subject));
|
|
627
649
|
const nonTagParamEntries = parameterEntries.filter(entry => !isTagParameterSubject(entry.subject));
|
|
@@ -643,7 +665,7 @@ export class ParameterManager {
|
|
|
643
665
|
protected async _applyParameterValue(
|
|
644
666
|
subject: ParameterSubject,
|
|
645
667
|
parameterName: ParameterName,
|
|
646
|
-
assetContainer?:
|
|
668
|
+
assetContainer?: IAssetContainer
|
|
647
669
|
): Promise<void> {
|
|
648
670
|
const parameterEntry = this._getEntry(subject, parameterName);
|
|
649
671
|
const observer = this._parameterObserver[parameterName];
|
|
@@ -663,7 +685,7 @@ export class ParameterManager {
|
|
|
663
685
|
});
|
|
664
686
|
}
|
|
665
687
|
|
|
666
|
-
protected _getAffectedMaterials(subject: ParameterSubject, assetContainer?:
|
|
688
|
+
protected _getAffectedMaterials(subject: ParameterSubject, assetContainer?: IAssetContainer): Material[] {
|
|
667
689
|
assetContainer = assetContainer ?? this.viewer.scene;
|
|
668
690
|
let materials: Material[] = [];
|
|
669
691
|
|
|
@@ -680,7 +702,7 @@ export class ParameterManager {
|
|
|
680
702
|
return materials;
|
|
681
703
|
}
|
|
682
704
|
|
|
683
|
-
protected _getAffectedNodes(subject: ParameterSubject, assetContainer?:
|
|
705
|
+
protected _getAffectedNodes(subject: ParameterSubject, assetContainer?: IAssetContainer): TransformNode[] {
|
|
684
706
|
assetContainer = assetContainer ?? this.viewer.scene;
|
|
685
707
|
const allNodes = [...assetContainer.meshes, ...assetContainer.transformNodes];
|
|
686
708
|
let nodes: TransformNode[] = [];
|
package/src/viewer-error.ts
CHANGED
|
@@ -27,6 +27,8 @@ export const ViewerErrorIds = {
|
|
|
27
27
|
AssetLoadingFailed: 'AssetLoadingFailed',
|
|
28
28
|
MaterialCouldNotBeParsed: 'MaterialCouldNotBeParsed',
|
|
29
29
|
TextureCouldNotBeParsed: 'TextureCouldNotBeParsed',
|
|
30
|
+
MaterialAlreadyExists: 'MaterialAlreadyExists',
|
|
31
|
+
NotAClonedMaterial: 'NotAClonedMaterial',
|
|
30
32
|
};
|
|
31
33
|
|
|
32
34
|
/** @internal */
|