diff --git a/packages/viewer-sandbox/src/main.ts b/packages/viewer-sandbox/src/main.ts index 3faa7805d..b53a1eedb 100644 --- a/packages/viewer-sandbox/src/main.ts +++ b/packages/viewer-sandbox/src/main.ts @@ -19,7 +19,7 @@ const sandbox = new Sandbox(viewer) sandbox.makeGenericUI() sandbox.makeSceneUI() // Load demo object -sandbox.loadUrl('https://latest.speckle.dev/streams/3ed8357f29/commits/b21fb0dcf7?c=%5B76.08416,-35.25872,38.49991,56.56326,-4.19138,5.61052,0,1%5D') +sandbox.loadUrl('https://latest.speckle.dev/streams/921741b30b/commits/c5acd4ff91?c=%5B147162.48107,6396783.94314,18.1266,147140.22466,6396758.05514,9.41576,0,1%5D') viewer.on('load-progress', (a: { progress: number; id: string; url: string }) => { if (a.progress >= 1) { diff --git a/packages/viewer/src/modules/converter/Converter.ts b/packages/viewer/src/modules/converter/Converter.ts index 7e247b0a6..e27049eb8 100644 --- a/packages/viewer/src/modules/converter/Converter.ts +++ b/packages/viewer/src/modules/converter/Converter.ts @@ -669,9 +669,6 @@ export default class Coverter { for (let i = 0; i < obj.segments.length; i++) { let element = obj.segments[i] let conv - if (this.getSpeckleType(element) == 'Arc') { - console.log('arc') - } if (this.directConverterExists(element)) conv = await this.convertToGeometryData(element, scale) else if ((element = this.getDisplayValue(element)) !== undefined) diff --git a/packages/viewer/src/modules/converter/Geometry.ts b/packages/viewer/src/modules/converter/Geometry.ts index 87976a340..aa45cbae8 100644 --- a/packages/viewer/src/modules/converter/Geometry.ts +++ b/packages/viewer/src/modules/converter/Geometry.ts @@ -98,15 +98,10 @@ export class Geometry { } static makeLineGeometry_TRIANGLE(geometryData: GeometryData) { - try { - const geometry = new LineGeometry() - geometry.setPositions(geometryData.attributes.POSITION) - if (geometryData.attributes.COLOR) - geometry.setColors(geometryData.attributes.COLOR) - return geometry - } catch (e) { - console.log('plm') - } + const geometry = new LineGeometry() + geometry.setPositions(geometryData.attributes.POSITION) + if (geometryData.attributes.COLOR) geometry.setColors(geometryData.attributes.COLOR) + return geometry } static mergeGeometryAttribute( @@ -179,30 +174,31 @@ export class Geometry { } } + geometries.forEach((geometry) => { + for (let k in geometry.attributes) { + delete geometry.attributes[k] + } + }) + return mergedGeometry } public static transformGeometryData(geometryData: GeometryData, m: Matrix4) { - try { - if (!geometryData.attributes.POSITION) return + if (!geometryData.attributes.POSITION) return - const e = m.elements + const e = m.elements - for (var k = 0; k < geometryData.attributes.POSITION.length; k += 3) { - const x = geometryData.attributes.POSITION[k], - y = geometryData.attributes.POSITION[k + 1], - z = geometryData.attributes.POSITION[k + 2] - const w = 1 / (e[3] * x + e[7] * y + e[11] * z + e[15]) + for (var k = 0; k < geometryData.attributes.POSITION.length; k += 3) { + const x = geometryData.attributes.POSITION[k], + y = geometryData.attributes.POSITION[k + 1], + z = geometryData.attributes.POSITION[k + 2] + const w = 1 / (e[3] * x + e[7] * y + e[11] * z + e[15]) - geometryData.attributes.POSITION[k] = - (e[0] * x + e[4] * y + e[8] * z + e[12]) * w - geometryData.attributes.POSITION[k + 1] = - (e[1] * x + e[5] * y + e[9] * z + e[13]) * w - geometryData.attributes.POSITION[k + 2] = - (e[2] * x + e[6] * y + e[10] * z + e[14]) * w - } - } catch (e) { - console.log('plm') + geometryData.attributes.POSITION[k] = (e[0] * x + e[4] * y + e[8] * z + e[12]) * w + geometryData.attributes.POSITION[k + 1] = + (e[1] * x + e[5] * y + e[9] * z + e[13]) * w + geometryData.attributes.POSITION[k + 2] = + (e[2] * x + e[6] * y + e[10] * z + e[14]) * w } }