@xviewer.js/core 1.0.0-alpha.23 → 1.0.0-alpha.25
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/main.js +31 -17
- package/dist/main.js.map +1 -1
- package/dist/module.js +31 -17
- package/dist/module.js.map +1 -1
- package/package.json +1 -1
- package/types/Viewer.d.ts +8 -7
package/dist/module.js
CHANGED
|
@@ -4244,14 +4244,14 @@ class Viewer extends EventEmitter {
|
|
|
4244
4244
|
}
|
|
4245
4245
|
return shadow;
|
|
4246
4246
|
}
|
|
4247
|
-
static
|
|
4247
|
+
static compileMaterial(renderer, scene, camera, target) {
|
|
4248
4248
|
Viewer.fullscreenMesh.material = target;
|
|
4249
4249
|
renderer.compile(Viewer.fullscreenMesh, camera, scene);
|
|
4250
4250
|
}
|
|
4251
|
-
static
|
|
4251
|
+
static compileObject3D(renderer, scene, camera, target) {
|
|
4252
4252
|
renderer.compile(target, camera, scene);
|
|
4253
4253
|
}
|
|
4254
|
-
static
|
|
4254
|
+
static compileTexture(renderer, target) {
|
|
4255
4255
|
if (Array.isArray(target)) {
|
|
4256
4256
|
for (let v of target){
|
|
4257
4257
|
renderer.initTexture(v);
|
|
@@ -4267,7 +4267,7 @@ class Viewer extends EventEmitter {
|
|
|
4267
4267
|
renderer.render(Viewer.fullscreenMesh, Viewer.fullscreenCamera);
|
|
4268
4268
|
renderer.setRenderTarget(RT);
|
|
4269
4269
|
}
|
|
4270
|
-
static
|
|
4270
|
+
static createFullscreenTriangle() {
|
|
4271
4271
|
let geometry = new BufferGeometry();
|
|
4272
4272
|
geometry.setAttribute('position', new Float32BufferAttribute([
|
|
4273
4273
|
-1,
|
|
@@ -4290,10 +4290,24 @@ class Viewer extends EventEmitter {
|
|
|
4290
4290
|
], 2));
|
|
4291
4291
|
return geometry;
|
|
4292
4292
|
}
|
|
4293
|
-
static
|
|
4294
|
-
|
|
4293
|
+
static findChild(node, path) {
|
|
4294
|
+
let child = null;
|
|
4295
|
+
let parts = path.split("/");
|
|
4296
|
+
let children = node.children;
|
|
4297
|
+
for (let part of parts){
|
|
4298
|
+
child = children.find((v)=>v.name === part);
|
|
4299
|
+
if (child) {
|
|
4300
|
+
children = child.children;
|
|
4301
|
+
} else {
|
|
4302
|
+
return null;
|
|
4303
|
+
}
|
|
4304
|
+
}
|
|
4305
|
+
return child;
|
|
4306
|
+
}
|
|
4307
|
+
static getChildByName(node, name) {
|
|
4308
|
+
return Viewer.getObject(node, (v)=>v.name === name && v);
|
|
4295
4309
|
}
|
|
4296
|
-
static
|
|
4310
|
+
static getObject(node, filter) {
|
|
4297
4311
|
const queue = [
|
|
4298
4312
|
node
|
|
4299
4313
|
];
|
|
@@ -4306,7 +4320,7 @@ class Viewer extends EventEmitter {
|
|
|
4306
4320
|
object.children.forEach((v)=>queue.push(v));
|
|
4307
4321
|
}
|
|
4308
4322
|
}
|
|
4309
|
-
static
|
|
4323
|
+
static getObjects(node, filter) {
|
|
4310
4324
|
const queue = [
|
|
4311
4325
|
node
|
|
4312
4326
|
];
|
|
@@ -4515,7 +4529,7 @@ class Viewer extends EventEmitter {
|
|
|
4515
4529
|
this._tweenManager.killTweensOf(target);
|
|
4516
4530
|
}
|
|
4517
4531
|
traverseMaterials(callback) {
|
|
4518
|
-
Viewer.
|
|
4532
|
+
Viewer.getObjects(this._scene, (item)=>{
|
|
4519
4533
|
if (item.isMesh) {
|
|
4520
4534
|
if (Array.isArray(item.material)) item.material.forEach(callback);
|
|
4521
4535
|
else callback(item.material);
|
|
@@ -4649,28 +4663,28 @@ class Viewer extends EventEmitter {
|
|
|
4649
4663
|
compile(target) {
|
|
4650
4664
|
if (Array.isArray(target)) {
|
|
4651
4665
|
if (target.every((v)=>v.isMaterial)) {
|
|
4652
|
-
Viewer.
|
|
4666
|
+
Viewer.compileMaterial(this._renderer, this._scene, this._camera, target);
|
|
4653
4667
|
} else {
|
|
4654
4668
|
throw Error("Viewer.compile: unsuport material");
|
|
4655
4669
|
}
|
|
4656
4670
|
} else if (typeof target === "object") {
|
|
4657
4671
|
if (target.isMaterial) {
|
|
4658
|
-
Viewer.
|
|
4672
|
+
Viewer.compileMaterial(this._renderer, this._scene, this._camera, target);
|
|
4659
4673
|
} else if (target.isObject3D) {
|
|
4660
4674
|
if (target.meshData.materials) {
|
|
4661
|
-
Viewer.
|
|
4675
|
+
Viewer.compileMaterial(this._renderer, this._scene, this._camera, Object.values(target.meshData.materials));
|
|
4662
4676
|
}
|
|
4663
4677
|
if (target.meshData.textures) {
|
|
4664
|
-
Viewer.
|
|
4678
|
+
Viewer.compileTexture(this._renderer, Object.values(target.meshData.textures));
|
|
4665
4679
|
}
|
|
4666
4680
|
if (!target.meshData.meshes) {
|
|
4667
|
-
Viewer.
|
|
4681
|
+
Viewer.compileObject3D(this._renderer, this._scene, this._camera, target);
|
|
4668
4682
|
}
|
|
4669
4683
|
} else if (target.isTexture) {
|
|
4670
|
-
Viewer.
|
|
4684
|
+
Viewer.compileTexture(this._renderer, target);
|
|
4671
4685
|
}
|
|
4672
4686
|
} else {
|
|
4673
|
-
Viewer.
|
|
4687
|
+
Viewer.compileObject3D(this._renderer, this._scene, this._camera, this._scene);
|
|
4674
4688
|
}
|
|
4675
4689
|
}
|
|
4676
4690
|
constructor({ root, canvas, autoStart = true, autoResize = true, shadows = false, camera = {
|
|
@@ -4748,7 +4762,7 @@ Viewer._shadowCameraKeys = [
|
|
|
4748
4762
|
"near",
|
|
4749
4763
|
"far"
|
|
4750
4764
|
];
|
|
4751
|
-
Viewer.fullscreenMesh = new Mesh(Viewer.
|
|
4765
|
+
Viewer.fullscreenMesh = new Mesh(Viewer.createFullscreenTriangle());
|
|
4752
4766
|
Viewer.fullscreenCamera = new OrthographicCamera(-1, 1, 1, -1, 0, 1);
|
|
4753
4767
|
|
|
4754
4768
|
class MergeRefectPass {
|