@jdultra/threedtiles 5.1.1 → 5.1.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jdultra/threedtiles",
3
- "version": "5.1.1",
3
+ "version": "5.1.2",
4
4
  "description": "An OGC 3DTiles viewer for Three.js",
5
5
  "main": "tileset.js",
6
6
  "scripts": {
@@ -8,11 +8,7 @@ const dracoLoader = new DRACOLoader();
8
8
  const tempMatrix = new THREE.Matrix4();
9
9
  dracoLoader.setDecoderPath('https://www.gstatic.com/draco/versioned/decoders/1.4.3/');
10
10
  gltfLoader.setDRACOLoader(dracoLoader);
11
- const zUpToYUp = new THREE.Matrix4();
12
- zUpToYUp.set(1,0,0,0,
13
- 0,0,-1,0,
14
- 0,1,0,0,
15
- 0,0,0,1);
11
+
16
12
  //const legacyGLTFLoader = new LegacyGLTFLoader();
17
13
 
18
14
  function parseB3DM(arrayBuffer, meshCallback) {
@@ -73,7 +69,6 @@ function parseB3DM(arrayBuffer, meshCallback) {
73
69
 
74
70
  model.scene.traverse((o) => {
75
71
  if (o.isMesh) {
76
- o.applyMatrix4(zUpToYUp);
77
72
  if (!!meshCallback) {
78
73
  meshCallback(o);
79
74
  }
package/src/index.js CHANGED
@@ -133,7 +133,7 @@ function initTileset(scene, gem) {
133
133
  //url: "https://sampledata.luciad.com/data/ogc3dtiles/LucerneAirborneMesh/tileset.json",
134
134
  url: "https://sampleservices.luciad.com/ogc/3dtiles/marseille-mesh/tileset.json",
135
135
  //url: "https://storage.googleapis.com/ogc-3d-tiles/baltimore/tileset.json",
136
- //url: "http://localhost:8082/tileset.json",
136
+ //url: "https://storage.googleapis.com/ogc-3d-tiles/berlinTileset/tileset.json",
137
137
  geometricErrorMultiplier: gem,
138
138
  loadOutsideView: false,
139
139
  tileLoader: tileLoader,
@@ -141,13 +141,13 @@ function initTileset(scene, gem) {
141
141
  static: false,
142
142
  centerModel:true,
143
143
  renderer: renderer,
144
- onLoadCallback: (tile)=>{
144
+ /* onLoadCallback: (tile)=>{
145
145
  if (!!tile.json.boundingVolume.region) {
146
146
  const halfHeight = (tile.json.boundingVolume.region[5] - tile.json.boundingVolume.region[4]) * 0.5;
147
147
  ogc3DTile.translateOnAxis(new THREE.Vector3(0, 1, 0), halfHeight);
148
148
  //ogc3DTile.updateWorldMatrix(true, true);
149
149
  }
150
- }
150
+ } */
151
151
 
152
152
  });
153
153
  setIntervalAsync(function () {
@@ -11,6 +11,11 @@ const tempVec2 = new THREE.Vector3(0, 0, 0);
11
11
  const upVector = new THREE.Vector3(0, 1, 0);
12
12
  const rendererSize = new THREE.Vector2();
13
13
  const tempQuaternion = new THREE.Quaternion();
14
+ const zUpToYUp = new THREE.Matrix4();
15
+ zUpToYUp.set(1,0,0,0,
16
+ 0,0,-1,0,
17
+ 0,1,0,0,
18
+ 0,0,0,1);
14
19
 
15
20
  class OGC3DTile extends THREE.Object3D {
16
21
 
@@ -215,10 +220,14 @@ class OGC3DTile extends THREE.Object3D {
215
220
  if (!!url) {
216
221
  if (url.includes(".b3dm")) {
217
222
  self.contentURL = url;
223
+ const rotateToYUp = !!self.json.boundingVolume.region;
218
224
  self.tileLoader.get(self.abortController, this.uuid, url, mesh => {
219
225
  if (!!self.deleted) return;
220
226
  mesh.traverse((o) => {
221
227
  if (o.isMesh) {
228
+ if(rotateToYUp){
229
+ o.applyMatrix4(zUpToYUp);
230
+ }
222
231
  o.layers.disable(0);
223
232
  if (self.occlusionCullingService) {
224
233
  const position = o.geometry.attributes.position;