UNPKG

cione-comp-lib

Version:

`$ yarn add cione-comp-lib` 或者 `$ npm i cione-comp-lib -S`

46 lines (45 loc) 1.59 kB
import Geometry from "../../../../claygl/src/Geometry.mjs"; import "../../../../echarts/lib/echarts.mjs"; var LinesGeometry = Geometry.extend( function() { return { dynamic: true, attributes: { position: new Geometry.Attribute("position", "float", 3, "POSITION") } }; }, { resetOffset: function() { this._vertexOffset = 0; this._faceOffset = 0; }, setLineCount: function(nLine) { var attributes = this.attributes; var nVertex = 4 * nLine; var nTriangle = 2 * nLine; if (this.vertexCount !== nVertex) { attributes.position.init(nVertex); } if (this.triangleCount !== nTriangle) { if (nTriangle === 0) { this.indices = null; } else { this.indices = this.vertexCount > 65535 ? new Uint32Array(nTriangle * 3) : new Uint16Array(nTriangle * 3); } } }, addLine: function(p) { var vertexOffset = this._vertexOffset; this.attributes.position.set(vertexOffset, [p[0], p[1], 1]); this.attributes.position.set(vertexOffset + 1, [p[0], p[1], -1]); this.attributes.position.set(vertexOffset + 2, [p[0], p[1], 2]); this.attributes.position.set(vertexOffset + 3, [p[0], p[1], -2]); this.setTriangleIndices(this._faceOffset++, [vertexOffset, vertexOffset + 1, vertexOffset + 2]); this.setTriangleIndices(this._faceOffset++, [vertexOffset + 1, vertexOffset + 2, vertexOffset + 3]); this._vertexOffset += 4; } } ); var Line2DGeometry = LinesGeometry; export { Line2DGeometry as default };