three-stdlib
Version:
stand-alone library of threejs examples
1 lines • 3.71 kB
Source Map (JSON)
{"version":3,"file":"LineGeometry.cjs","sources":["../../src/lines/LineGeometry.js"],"sourcesContent":["import { LineSegmentsGeometry } from '../lines/LineSegmentsGeometry'\n\nclass LineGeometry extends LineSegmentsGeometry {\n constructor() {\n super()\n\n this.isLineGeometry = true\n\n this.type = 'LineGeometry'\n }\n\n setPositions(array) {\n // converts [ x1, y1, z1, x2, y2, z2, ... ] to pairs format\n\n const length = array.length - 3\n const points = new Float32Array(2 * length)\n\n for (let i = 0; i < length; i += 3) {\n points[2 * i] = array[i]\n points[2 * i + 1] = array[i + 1]\n points[2 * i + 2] = array[i + 2]\n\n points[2 * i + 3] = array[i + 3]\n points[2 * i + 4] = array[i + 4]\n points[2 * i + 5] = array[i + 5]\n }\n\n super.setPositions(points)\n\n return this\n }\n\n setColors(array, itemSize = 3) {\n // converts [ r1, g1, b1, (a1), r2, g2, b2, (a2), ... ] to pairs format\n\n const length = array.length - itemSize\n const colors = new Float32Array(2 * length)\n\n if (itemSize === 3) {\n for (let i = 0; i < length; i += itemSize) {\n colors[2 * i] = array[i]\n colors[2 * i + 1] = array[i + 1]\n colors[2 * i + 2] = array[i + 2]\n\n colors[2 * i + 3] = array[i + 3]\n colors[2 * i + 4] = array[i + 4]\n colors[2 * i + 5] = array[i + 5]\n }\n } else {\n for (let i = 0; i < length; i += itemSize) {\n colors[2 * i] = array[i]\n colors[2 * i + 1] = array[i + 1]\n colors[2 * i + 2] = array[i + 2]\n colors[2 * i + 3] = array[i + 3]\n\n colors[2 * i + 4] = array[i + 4]\n colors[2 * i + 5] = array[i + 5]\n colors[2 * i + 6] = array[i + 6]\n colors[2 * i + 7] = array[i + 7]\n }\n }\n\n super.setColors(colors, itemSize)\n\n return this\n }\n\n fromLine(line) {\n const geometry = line.geometry\n\n this.setPositions(geometry.attributes.position.array) // assumes non-indexed\n\n // set colors, maybe\n\n return this\n }\n}\n\nexport { LineGeometry }\n"],"names":["LineSegmentsGeometry"],"mappings":";;;AAEA,MAAM,qBAAqBA,qBAAAA,qBAAqB;AAAA,EAC9C,cAAc;AACZ,UAAO;AAEP,SAAK,iBAAiB;AAEtB,SAAK,OAAO;AAAA,EACb;AAAA,EAED,aAAa,OAAO;AAGlB,UAAM,SAAS,MAAM,SAAS;AAC9B,UAAM,SAAS,IAAI,aAAa,IAAI,MAAM;AAE1C,aAAS,IAAI,GAAG,IAAI,QAAQ,KAAK,GAAG;AAClC,aAAO,IAAI,CAAC,IAAI,MAAM,CAAC;AACvB,aAAO,IAAI,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC;AAC/B,aAAO,IAAI,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC;AAE/B,aAAO,IAAI,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC;AAC/B,aAAO,IAAI,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC;AAC/B,aAAO,IAAI,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC;AAAA,IAChC;AAED,UAAM,aAAa,MAAM;AAEzB,WAAO;AAAA,EACR;AAAA,EAED,UAAU,OAAO,WAAW,GAAG;AAG7B,UAAM,SAAS,MAAM,SAAS;AAC9B,UAAM,SAAS,IAAI,aAAa,IAAI,MAAM;AAE1C,QAAI,aAAa,GAAG;AAClB,eAAS,IAAI,GAAG,IAAI,QAAQ,KAAK,UAAU;AACzC,eAAO,IAAI,CAAC,IAAI,MAAM,CAAC;AACvB,eAAO,IAAI,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC;AAC/B,eAAO,IAAI,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC;AAE/B,eAAO,IAAI,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC;AAC/B,eAAO,IAAI,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC;AAC/B,eAAO,IAAI,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC;AAAA,MAChC;AAAA,IACP,OAAW;AACL,eAAS,IAAI,GAAG,IAAI,QAAQ,KAAK,UAAU;AACzC,eAAO,IAAI,CAAC,IAAI,MAAM,CAAC;AACvB,eAAO,IAAI,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC;AAC/B,eAAO,IAAI,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC;AAC/B,eAAO,IAAI,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC;AAE/B,eAAO,IAAI,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC;AAC/B,eAAO,IAAI,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC;AAC/B,eAAO,IAAI,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC;AAC/B,eAAO,IAAI,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC;AAAA,MAChC;AAAA,IACF;AAED,UAAM,UAAU,QAAQ,QAAQ;AAEhC,WAAO;AAAA,EACR;AAAA,EAED,SAAS,MAAM;AACb,UAAM,WAAW,KAAK;AAEtB,SAAK,aAAa,SAAS,WAAW,SAAS,KAAK;AAIpD,WAAO;AAAA,EACR;AACH;;"}