1 line
14 KiB
Plaintext
1 line
14 KiB
Plaintext
{"version":3,"file":"createPlaneGeometry.js","sources":["../../../../Source/Core/PlaneGeometry.js","../../../../Source/WorkersES6/createPlaneGeometry.js"],"sourcesContent":["import BoundingSphere from \"./BoundingSphere.js\";\nimport Cartesian3 from \"./Cartesian3.js\";\nimport Check from \"./Check.js\";\nimport ComponentDatatype from \"./ComponentDatatype.js\";\nimport defaultValue from \"./defaultValue.js\";\nimport defined from \"./defined.js\";\nimport Geometry from \"./Geometry.js\";\nimport GeometryAttribute from \"./GeometryAttribute.js\";\nimport GeometryAttributes from \"./GeometryAttributes.js\";\nimport PrimitiveType from \"./PrimitiveType.js\";\nimport VertexFormat from \"./VertexFormat.js\";\n\n/**\n * Describes geometry representing a plane centered at the origin, with a unit width and length.\n *\n * @alias PlaneGeometry\n * @constructor\n *\n * @param {Object} [options] Object with the following properties:\n * @param {VertexFormat} [options.vertexFormat=VertexFormat.DEFAULT] The vertex attributes to be computed.\n *\n * @example\n * const planeGeometry = new Cesium.PlaneGeometry({\n * vertexFormat : Cesium.VertexFormat.POSITION_ONLY\n * });\n */\nfunction PlaneGeometry(options) {\n options = defaultValue(options, defaultValue.EMPTY_OBJECT);\n\n const vertexFormat = defaultValue(options.vertexFormat, VertexFormat.DEFAULT);\n\n this._vertexFormat = vertexFormat;\n this._workerName = \"createPlaneGeometry\";\n}\n\n/**\n * The number of elements used to pack the object into an array.\n * @type {Number}\n */\nPlaneGeometry.packedLength = VertexFormat.packedLength;\n\n/**\n * Stores the provided instance into the provided array.\n *\n * @param {PlaneGeometry} value The value to pack.\n * @param {Number[]} array The array to pack into.\n * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.\n *\n * @returns {Number[]} The array that was packed into\n */\nPlaneGeometry.pack = function (value, array, startingIndex) {\n //>>includeStart('debug', pragmas.debug);\n Check.typeOf.object(\"value\", value);\n Check.defined(\"array\", array);\n //>>includeEnd('debug');\n\n startingIndex = defaultValue(startingIndex, 0);\n\n VertexFormat.pack(value._vertexFormat, array, startingIndex);\n\n return array;\n};\n\nconst scratchVertexFormat = new VertexFormat();\nconst scratchOptions = {\n vertexFormat: scratchVertexFormat,\n};\n\n/**\n * Retrieves an instance from a packed array.\n *\n * @param {Number[]} array The packed array.\n * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.\n * @param {PlaneGeometry} [result] The object into which to store the result.\n * @returns {PlaneGeometry} The modified result parameter or a new PlaneGeometry instance if one was not provided.\n */\nPlaneGeometry.unpack = function (array, startingIndex, result) {\n //>>includeStart('debug', pragmas.debug);\n Check.defined(\"array\", array);\n //>>includeEnd('debug');\n\n startingIndex = defaultValue(startingIndex, 0);\n\n const vertexFormat = VertexFormat.unpack(\n array,\n startingIndex,\n scratchVertexFormat\n );\n\n if (!defined(result)) {\n return new PlaneGeometry(scratchOptions);\n }\n\n result._vertexFormat = VertexFormat.clone(vertexFormat, result._vertexFormat);\n\n return result;\n};\n\nconst min = new Cartesian3(-0.5, -0.5, 0.0);\nconst max = new Cartesian3(0.5, 0.5, 0.0);\n\n/**\n * Computes the geometric representation of a plane, including its vertices, indices, and a bounding sphere.\n *\n * @param {PlaneGeometry} planeGeometry A description of the plane.\n * @returns {Geometry|undefined} The computed vertices and indices.\n */\nPlaneGeometry.createGeometry = function (planeGeometry) {\n const vertexFormat = planeGeometry._vertexFormat;\n\n const attributes = new GeometryAttributes();\n let indices;\n let positions;\n\n if (vertexFormat.position) {\n // 4 corner points. Duplicated 3 times each for each incident edge/face.\n positions = new Float64Array(4 * 3);\n\n // +z face\n positions[0] = min.x;\n positions[1] = min.y;\n positions[2] = 0.0;\n positions[3] = max.x;\n positions[4] = min.y;\n positions[5] = 0.0;\n positions[6] = max.x;\n positions[7] = max.y;\n positions[8] = 0.0;\n positions[9] = min.x;\n positions[10] = max.y;\n positions[11] = 0.0;\n\n attributes.position = new GeometryAttribute({\n componentDatatype: ComponentDatatype.DOUBLE,\n componentsPerAttribute: 3,\n values: positions,\n });\n\n if (vertexFormat.normal) {\n const normals = new Float32Array(4 * 3);\n\n // +z face\n normals[0] = 0.0;\n normals[1] = 0.0;\n normals[2] = 1.0;\n normals[3] = 0.0;\n normals[4] = 0.0;\n normals[5] = 1.0;\n normals[6] = 0.0;\n normals[7] = 0.0;\n normals[8] = 1.0;\n normals[9] = 0.0;\n normals[10] = 0.0;\n normals[11] = 1.0;\n\n attributes.normal = new GeometryAttribute({\n componentDatatype: ComponentDatatype.FLOAT,\n componentsPerAttribute: 3,\n values: normals,\n });\n }\n\n if (vertexFormat.st) {\n const texCoords = new Float32Array(4 * 2);\n\n // +z face\n texCoords[0] = 0.0;\n texCoords[1] = 0.0;\n texCoords[2] = 1.0;\n texCoords[3] = 0.0;\n texCoords[4] = 1.0;\n texCoords[5] = 1.0;\n texCoords[6] = 0.0;\n texCoords[7] = 1.0;\n\n attributes.st = new GeometryAttribute({\n componentDatatype: ComponentDatatype.FLOAT,\n componentsPerAttribute: 2,\n values: texCoords,\n });\n }\n\n if (vertexFormat.tangent) {\n const tangents = new Float32Array(4 * 3);\n\n // +z face\n tangents[0] = 1.0;\n tangents[1] = 0.0;\n tangents[2] = 0.0;\n tangents[3] = 1.0;\n tangents[4] = 0.0;\n tangents[5] = 0.0;\n tangents[6] = 1.0;\n tangents[7] = 0.0;\n tangents[8] = 0.0;\n tangents[9] = 1.0;\n tangents[10] = 0.0;\n tangents[11] = 0.0;\n\n attributes.tangent = new GeometryAttribute({\n componentDatatype: ComponentDatatype.FLOAT,\n componentsPerAttribute: 3,\n values: tangents,\n });\n }\n\n if (vertexFormat.bitangent) {\n const bitangents = new Float32Array(4 * 3);\n\n // +z face\n bitangents[0] = 0.0;\n bitangents[1] = 1.0;\n bitangents[2] = 0.0;\n bitangents[3] = 0.0;\n bitangents[4] = 1.0;\n bitangents[5] = 0.0;\n bitangents[6] = 0.0;\n bitangents[7] = 1.0;\n bitangents[8] = 0.0;\n bitangents[9] = 0.0;\n bitangents[10] = 1.0;\n bitangents[11] = 0.0;\n\n attributes.bitangent = new GeometryAttribute({\n componentDatatype: ComponentDatatype.FLOAT,\n componentsPerAttribute: 3,\n values: bitangents,\n });\n }\n\n // 2 triangles\n indices = new Uint16Array(2 * 3);\n\n // +z face\n indices[0] = 0;\n indices[1] = 1;\n indices[2] = 2;\n indices[3] = 0;\n indices[4] = 2;\n indices[5] = 3;\n }\n\n return new Geometry({\n attributes: attributes,\n indices: indices,\n primitiveType: PrimitiveType.TRIANGLES,\n boundingSphere: new BoundingSphere(Cartesian3.ZERO, Math.sqrt(2.0)),\n });\n};\nexport default PlaneGeometry;\n","import defined from \"../Core/defined.js\";\nimport PlaneGeometry from \"../Core/PlaneGeometry.js\";\n\nfunction createPlaneGeometry(planeGeometry, offset) {\n if (defined(offset)) {\n planeGeometry = PlaneGeometry.unpack(planeGeometry, offset);\n }\n return PlaneGeometry.createGeometry(planeGeometry);\n}\nexport default createPlaneGeometry;\n"],"names":["defaultValue","VertexFormat","Check","defined","Cartesian3","GeometryAttributes","GeometryAttribute","ComponentDatatype","Geometry","PrimitiveType","BoundingSphere"],"mappings":"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"} |