qd-changjing/public/static/Build/CesiumUnminified/Workers/createPolygonOutlineGeometr...

1 line
42 KiB
Plaintext

{"version":3,"file":"createPolygonOutlineGeometry.js","sources":["../../../../Source/Core/PolygonOutlineGeometry.js","../../../../Source/WorkersES6/createPolygonOutlineGeometry.js"],"sourcesContent":["import ArcType from \"./ArcType.js\";\nimport arrayFill from \"./arrayFill.js\";\nimport BoundingSphere from \"./BoundingSphere.js\";\nimport Check from \"./Check.js\";\nimport ComponentDatatype from \"./ComponentDatatype.js\";\nimport defaultValue from \"./defaultValue.js\";\nimport defined from \"./defined.js\";\nimport DeveloperError from \"./DeveloperError.js\";\nimport Ellipsoid from \"./Ellipsoid.js\";\nimport EllipsoidTangentPlane from \"./EllipsoidTangentPlane.js\";\nimport Geometry from \"./Geometry.js\";\nimport GeometryAttribute from \"./GeometryAttribute.js\";\nimport GeometryAttributes from \"./GeometryAttributes.js\";\nimport GeometryInstance from \"./GeometryInstance.js\";\nimport GeometryOffsetAttribute from \"./GeometryOffsetAttribute.js\";\nimport GeometryPipeline from \"./GeometryPipeline.js\";\nimport IndexDatatype from \"./IndexDatatype.js\";\nimport CesiumMath from \"./Math.js\";\nimport PolygonGeometryLibrary from \"./PolygonGeometryLibrary.js\";\nimport PolygonPipeline from \"./PolygonPipeline.js\";\nimport PrimitiveType from \"./PrimitiveType.js\";\nimport WindingOrder from \"./WindingOrder.js\";\nconst createGeometryFromPositionsPositions = [];\nconst createGeometryFromPositionsSubdivided = [];\n\nfunction createGeometryFromPositions(\n ellipsoid,\n positions,\n minDistance,\n perPositionHeight,\n arcType\n) {\n const tangentPlane = EllipsoidTangentPlane.fromPoints(positions, ellipsoid);\n const positions2D = tangentPlane.projectPointsOntoPlane(\n positions,\n createGeometryFromPositionsPositions\n );\n\n const originalWindingOrder = PolygonPipeline.computeWindingOrder2D(\n positions2D\n );\n if (originalWindingOrder === WindingOrder.CLOCKWISE) {\n positions2D.reverse();\n positions = positions.slice().reverse();\n }\n\n let subdividedPositions;\n let i;\n\n let length = positions.length;\n let index = 0;\n\n if (!perPositionHeight) {\n let numVertices = 0;\n if (arcType === ArcType.GEODESIC) {\n for (i = 0; i < length; i++) {\n numVertices += PolygonGeometryLibrary.subdivideLineCount(\n positions[i],\n positions[(i + 1) % length],\n minDistance\n );\n }\n } else if (arcType === ArcType.RHUMB) {\n for (i = 0; i < length; i++) {\n numVertices += PolygonGeometryLibrary.subdivideRhumbLineCount(\n ellipsoid,\n positions[i],\n positions[(i + 1) % length],\n minDistance\n );\n }\n }\n subdividedPositions = new Float64Array(numVertices * 3);\n for (i = 0; i < length; i++) {\n let tempPositions;\n if (arcType === ArcType.GEODESIC) {\n tempPositions = PolygonGeometryLibrary.subdivideLine(\n positions[i],\n positions[(i + 1) % length],\n minDistance,\n createGeometryFromPositionsSubdivided\n );\n } else if (arcType === ArcType.RHUMB) {\n tempPositions = PolygonGeometryLibrary.subdivideRhumbLine(\n ellipsoid,\n positions[i],\n positions[(i + 1) % length],\n minDistance,\n createGeometryFromPositionsSubdivided\n );\n }\n const tempPositionsLength = tempPositions.length;\n for (let j = 0; j < tempPositionsLength; ++j) {\n subdividedPositions[index++] = tempPositions[j];\n }\n }\n } else {\n subdividedPositions = new Float64Array(length * 2 * 3);\n for (i = 0; i < length; i++) {\n const p0 = positions[i];\n const p1 = positions[(i + 1) % length];\n subdividedPositions[index++] = p0.x;\n subdividedPositions[index++] = p0.y;\n subdividedPositions[index++] = p0.z;\n subdividedPositions[index++] = p1.x;\n subdividedPositions[index++] = p1.y;\n subdividedPositions[index++] = p1.z;\n }\n }\n\n length = subdividedPositions.length / 3;\n const indicesSize = length * 2;\n const indices = IndexDatatype.createTypedArray(length, indicesSize);\n index = 0;\n for (i = 0; i < length - 1; i++) {\n indices[index++] = i;\n indices[index++] = i + 1;\n }\n indices[index++] = length - 1;\n indices[index++] = 0;\n\n return new GeometryInstance({\n geometry: new Geometry({\n attributes: new GeometryAttributes({\n position: new GeometryAttribute({\n componentDatatype: ComponentDatatype.DOUBLE,\n componentsPerAttribute: 3,\n values: subdividedPositions,\n }),\n }),\n indices: indices,\n primitiveType: PrimitiveType.LINES,\n }),\n });\n}\n\nfunction createGeometryFromPositionsExtruded(\n ellipsoid,\n positions,\n minDistance,\n perPositionHeight,\n arcType\n) {\n const tangentPlane = EllipsoidTangentPlane.fromPoints(positions, ellipsoid);\n const positions2D = tangentPlane.projectPointsOntoPlane(\n positions,\n createGeometryFromPositionsPositions\n );\n\n const originalWindingOrder = PolygonPipeline.computeWindingOrder2D(\n positions2D\n );\n if (originalWindingOrder === WindingOrder.CLOCKWISE) {\n positions2D.reverse();\n positions = positions.slice().reverse();\n }\n\n let subdividedPositions;\n let i;\n\n let length = positions.length;\n const corners = new Array(length);\n let index = 0;\n\n if (!perPositionHeight) {\n let numVertices = 0;\n if (arcType === ArcType.GEODESIC) {\n for (i = 0; i < length; i++) {\n numVertices += PolygonGeometryLibrary.subdivideLineCount(\n positions[i],\n positions[(i + 1) % length],\n minDistance\n );\n }\n } else if (arcType === ArcType.RHUMB) {\n for (i = 0; i < length; i++) {\n numVertices += PolygonGeometryLibrary.subdivideRhumbLineCount(\n ellipsoid,\n positions[i],\n positions[(i + 1) % length],\n minDistance\n );\n }\n }\n\n subdividedPositions = new Float64Array(numVertices * 3 * 2);\n for (i = 0; i < length; ++i) {\n corners[i] = index / 3;\n let tempPositions;\n if (arcType === ArcType.GEODESIC) {\n tempPositions = PolygonGeometryLibrary.subdivideLine(\n positions[i],\n positions[(i + 1) % length],\n minDistance,\n createGeometryFromPositionsSubdivided\n );\n } else if (arcType === ArcType.RHUMB) {\n tempPositions = PolygonGeometryLibrary.subdivideRhumbLine(\n ellipsoid,\n positions[i],\n positions[(i + 1) % length],\n minDistance,\n createGeometryFromPositionsSubdivided\n );\n }\n const tempPositionsLength = tempPositions.length;\n for (let j = 0; j < tempPositionsLength; ++j) {\n subdividedPositions[index++] = tempPositions[j];\n }\n }\n } else {\n subdividedPositions = new Float64Array(length * 2 * 3 * 2);\n for (i = 0; i < length; ++i) {\n corners[i] = index / 3;\n const p0 = positions[i];\n const p1 = positions[(i + 1) % length];\n\n subdividedPositions[index++] = p0.x;\n subdividedPositions[index++] = p0.y;\n subdividedPositions[index++] = p0.z;\n subdividedPositions[index++] = p1.x;\n subdividedPositions[index++] = p1.y;\n subdividedPositions[index++] = p1.z;\n }\n }\n\n length = subdividedPositions.length / (3 * 2);\n const cornersLength = corners.length;\n\n const indicesSize = (length * 2 + cornersLength) * 2;\n const indices = IndexDatatype.createTypedArray(\n length + cornersLength,\n indicesSize\n );\n\n index = 0;\n for (i = 0; i < length; ++i) {\n indices[index++] = i;\n indices[index++] = (i + 1) % length;\n indices[index++] = i + length;\n indices[index++] = ((i + 1) % length) + length;\n }\n\n for (i = 0; i < cornersLength; i++) {\n const corner = corners[i];\n indices[index++] = corner;\n indices[index++] = corner + length;\n }\n\n return new GeometryInstance({\n geometry: new Geometry({\n attributes: new GeometryAttributes({\n position: new GeometryAttribute({\n componentDatatype: ComponentDatatype.DOUBLE,\n componentsPerAttribute: 3,\n values: subdividedPositions,\n }),\n }),\n indices: indices,\n primitiveType: PrimitiveType.LINES,\n }),\n });\n}\n\n/**\n * A description of the outline of a polygon on the ellipsoid. The polygon is defined by a polygon hierarchy.\n *\n * @alias PolygonOutlineGeometry\n * @constructor\n *\n * @param {Object} options Object with the following properties:\n * @param {PolygonHierarchy} options.polygonHierarchy A polygon hierarchy that can include holes.\n * @param {Number} [options.height=0.0] The distance in meters between the polygon and the ellipsoid surface.\n * @param {Number} [options.extrudedHeight] The distance in meters between the polygon's extruded face and the ellipsoid surface.\n * @param {VertexFormat} [options.vertexFormat=VertexFormat.DEFAULT] The vertex attributes to be computed.\n * @param {Ellipsoid} [options.ellipsoid=Ellipsoid.WGS84] The ellipsoid to be used as a reference.\n * @param {Number} [options.granularity=CesiumMath.RADIANS_PER_DEGREE] The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer.\n * @param {Boolean} [options.perPositionHeight=false] Use the height of options.positions for each position instead of using options.height to determine the height.\n * @param {ArcType} [options.arcType=ArcType.GEODESIC] The type of path the outline must follow. Valid options are {@link ArcType.GEODESIC} and {@link ArcType.RHUMB}.\n *\n * @see PolygonOutlineGeometry#createGeometry\n * @see PolygonOutlineGeometry#fromPositions\n *\n * @example\n * // 1. create a polygon outline from points\n * const polygon = new Cesium.PolygonOutlineGeometry({\n * polygonHierarchy : new Cesium.PolygonHierarchy(\n * Cesium.Cartesian3.fromDegreesArray([\n * -72.0, 40.0,\n * -70.0, 35.0,\n * -75.0, 30.0,\n * -70.0, 30.0,\n * -68.0, 40.0\n * ])\n * )\n * });\n * const geometry = Cesium.PolygonOutlineGeometry.createGeometry(polygon);\n *\n * // 2. create a nested polygon with holes outline\n * const polygonWithHole = new Cesium.PolygonOutlineGeometry({\n * polygonHierarchy : new Cesium.PolygonHierarchy(\n * Cesium.Cartesian3.fromDegreesArray([\n * -109.0, 30.0,\n * -95.0, 30.0,\n * -95.0, 40.0,\n * -109.0, 40.0\n * ]),\n * [new Cesium.PolygonHierarchy(\n * Cesium.Cartesian3.fromDegreesArray([\n * -107.0, 31.0,\n * -107.0, 39.0,\n * -97.0, 39.0,\n * -97.0, 31.0\n * ]),\n * [new Cesium.PolygonHierarchy(\n * Cesium.Cartesian3.fromDegreesArray([\n * -105.0, 33.0,\n * -99.0, 33.0,\n * -99.0, 37.0,\n * -105.0, 37.0\n * ]),\n * [new Cesium.PolygonHierarchy(\n * Cesium.Cartesian3.fromDegreesArray([\n * -103.0, 34.0,\n * -101.0, 34.0,\n * -101.0, 36.0,\n * -103.0, 36.0\n * ])\n * )]\n * )]\n * )]\n * )\n * });\n * const geometry = Cesium.PolygonOutlineGeometry.createGeometry(polygonWithHole);\n *\n * // 3. create extruded polygon outline\n * const extrudedPolygon = new Cesium.PolygonOutlineGeometry({\n * polygonHierarchy : new Cesium.PolygonHierarchy(\n * Cesium.Cartesian3.fromDegreesArray([\n * -72.0, 40.0,\n * -70.0, 35.0,\n * -75.0, 30.0,\n * -70.0, 30.0,\n * -68.0, 40.0\n * ])\n * ),\n * extrudedHeight: 300000\n * });\n * const geometry = Cesium.PolygonOutlineGeometry.createGeometry(extrudedPolygon);\n */\nfunction PolygonOutlineGeometry(options) {\n //>>includeStart('debug', pragmas.debug);\n Check.typeOf.object(\"options\", options);\n Check.typeOf.object(\"options.polygonHierarchy\", options.polygonHierarchy);\n\n if (options.perPositionHeight && defined(options.height)) {\n throw new DeveloperError(\n \"Cannot use both options.perPositionHeight and options.height\"\n );\n }\n if (\n defined(options.arcType) &&\n options.arcType !== ArcType.GEODESIC &&\n options.arcType !== ArcType.RHUMB\n ) {\n throw new DeveloperError(\n \"Invalid arcType. Valid options are ArcType.GEODESIC and ArcType.RHUMB.\"\n );\n }\n //>>includeEnd('debug');\n\n const polygonHierarchy = options.polygonHierarchy;\n const ellipsoid = defaultValue(options.ellipsoid, Ellipsoid.WGS84);\n const granularity = defaultValue(\n options.granularity,\n CesiumMath.RADIANS_PER_DEGREE\n );\n const perPositionHeight = defaultValue(options.perPositionHeight, false);\n const perPositionHeightExtrude =\n perPositionHeight && defined(options.extrudedHeight);\n const arcType = defaultValue(options.arcType, ArcType.GEODESIC);\n\n let height = defaultValue(options.height, 0.0);\n let extrudedHeight = defaultValue(options.extrudedHeight, height);\n\n if (!perPositionHeightExtrude) {\n const h = Math.max(height, extrudedHeight);\n extrudedHeight = Math.min(height, extrudedHeight);\n height = h;\n }\n\n this._ellipsoid = Ellipsoid.clone(ellipsoid);\n this._granularity = granularity;\n this._height = height;\n this._extrudedHeight = extrudedHeight;\n this._arcType = arcType;\n this._polygonHierarchy = polygonHierarchy;\n this._perPositionHeight = perPositionHeight;\n this._perPositionHeightExtrude = perPositionHeightExtrude;\n this._offsetAttribute = options.offsetAttribute;\n this._workerName = \"createPolygonOutlineGeometry\";\n\n /**\n * The number of elements used to pack the object into an array.\n * @type {Number}\n */\n this.packedLength =\n PolygonGeometryLibrary.computeHierarchyPackedLength(polygonHierarchy) +\n Ellipsoid.packedLength +\n 8;\n}\n\n/**\n * Stores the provided instance into the provided array.\n *\n * @param {PolygonOutlineGeometry} 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 */\nPolygonOutlineGeometry.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 startingIndex = PolygonGeometryLibrary.packPolygonHierarchy(\n value._polygonHierarchy,\n array,\n startingIndex\n );\n\n Ellipsoid.pack(value._ellipsoid, array, startingIndex);\n startingIndex += Ellipsoid.packedLength;\n\n array[startingIndex++] = value._height;\n array[startingIndex++] = value._extrudedHeight;\n array[startingIndex++] = value._granularity;\n array[startingIndex++] = value._perPositionHeightExtrude ? 1.0 : 0.0;\n array[startingIndex++] = value._perPositionHeight ? 1.0 : 0.0;\n array[startingIndex++] = value._arcType;\n array[startingIndex++] = defaultValue(value._offsetAttribute, -1);\n array[startingIndex] = value.packedLength;\n\n return array;\n};\n\nconst scratchEllipsoid = Ellipsoid.clone(Ellipsoid.UNIT_SPHERE);\nconst dummyOptions = {\n polygonHierarchy: {},\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 {PolygonOutlineGeometry} [result] The object into which to store the result.\n * @returns {PolygonOutlineGeometry} The modified result parameter or a new PolygonOutlineGeometry instance if one was not provided.\n */\nPolygonOutlineGeometry.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 polygonHierarchy = PolygonGeometryLibrary.unpackPolygonHierarchy(\n array,\n startingIndex\n );\n startingIndex = polygonHierarchy.startingIndex;\n delete polygonHierarchy.startingIndex;\n\n const ellipsoid = Ellipsoid.unpack(array, startingIndex, scratchEllipsoid);\n startingIndex += Ellipsoid.packedLength;\n\n const height = array[startingIndex++];\n const extrudedHeight = array[startingIndex++];\n const granularity = array[startingIndex++];\n const perPositionHeightExtrude = array[startingIndex++] === 1.0;\n const perPositionHeight = array[startingIndex++] === 1.0;\n const arcType = array[startingIndex++];\n const offsetAttribute = array[startingIndex++];\n const packedLength = array[startingIndex];\n\n if (!defined(result)) {\n result = new PolygonOutlineGeometry(dummyOptions);\n }\n\n result._polygonHierarchy = polygonHierarchy;\n result._ellipsoid = Ellipsoid.clone(ellipsoid, result._ellipsoid);\n result._height = height;\n result._extrudedHeight = extrudedHeight;\n result._granularity = granularity;\n result._perPositionHeight = perPositionHeight;\n result._perPositionHeightExtrude = perPositionHeightExtrude;\n result._arcType = arcType;\n result._offsetAttribute =\n offsetAttribute === -1 ? undefined : offsetAttribute;\n result.packedLength = packedLength;\n\n return result;\n};\n\n/**\n * A description of a polygon outline from an array of positions.\n *\n * @param {Object} options Object with the following properties:\n * @param {Cartesian3[]} options.positions An array of positions that defined the corner points of the polygon.\n * @param {Number} [options.height=0.0] The height of the polygon.\n * @param {Number} [options.extrudedHeight] The height of the polygon extrusion.\n * @param {Ellipsoid} [options.ellipsoid=Ellipsoid.WGS84] The ellipsoid to be used as a reference.\n * @param {Number} [options.granularity=CesiumMath.RADIANS_PER_DEGREE] The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer.\n * @param {Boolean} [options.perPositionHeight=false] Use the height of options.positions for each position instead of using options.height to determine the height.\n * @param {ArcType} [options.arcType=ArcType.GEODESIC] The type of path the outline must follow. Valid options are {@link LinkType.GEODESIC} and {@link ArcType.RHUMB}.\n * @returns {PolygonOutlineGeometry}\n *\n *\n * @example\n * // create a polygon from points\n * const polygon = Cesium.PolygonOutlineGeometry.fromPositions({\n * positions : Cesium.Cartesian3.fromDegreesArray([\n * -72.0, 40.0,\n * -70.0, 35.0,\n * -75.0, 30.0,\n * -70.0, 30.0,\n * -68.0, 40.0\n * ])\n * });\n * const geometry = Cesium.PolygonOutlineGeometry.createGeometry(polygon);\n *\n * @see PolygonOutlineGeometry#createGeometry\n */\nPolygonOutlineGeometry.fromPositions = function (options) {\n options = defaultValue(options, defaultValue.EMPTY_OBJECT);\n\n //>>includeStart('debug', pragmas.debug);\n Check.defined(\"options.positions\", options.positions);\n //>>includeEnd('debug');\n\n const newOptions = {\n polygonHierarchy: {\n positions: options.positions,\n },\n height: options.height,\n extrudedHeight: options.extrudedHeight,\n ellipsoid: options.ellipsoid,\n granularity: options.granularity,\n perPositionHeight: options.perPositionHeight,\n arcType: options.arcType,\n offsetAttribute: options.offsetAttribute,\n };\n return new PolygonOutlineGeometry(newOptions);\n};\n\n/**\n * Computes the geometric representation of a polygon outline, including its vertices, indices, and a bounding sphere.\n *\n * @param {PolygonOutlineGeometry} polygonGeometry A description of the polygon outline.\n * @returns {Geometry|undefined} The computed vertices and indices.\n */\nPolygonOutlineGeometry.createGeometry = function (polygonGeometry) {\n const ellipsoid = polygonGeometry._ellipsoid;\n const granularity = polygonGeometry._granularity;\n const polygonHierarchy = polygonGeometry._polygonHierarchy;\n const perPositionHeight = polygonGeometry._perPositionHeight;\n const arcType = polygonGeometry._arcType;\n\n const polygons = PolygonGeometryLibrary.polygonOutlinesFromHierarchy(\n polygonHierarchy,\n !perPositionHeight,\n ellipsoid\n );\n\n if (polygons.length === 0) {\n return undefined;\n }\n\n let geometryInstance;\n const geometries = [];\n const minDistance = CesiumMath.chordLength(\n granularity,\n ellipsoid.maximumRadius\n );\n\n const height = polygonGeometry._height;\n const extrudedHeight = polygonGeometry._extrudedHeight;\n const extrude =\n polygonGeometry._perPositionHeightExtrude ||\n !CesiumMath.equalsEpsilon(height, extrudedHeight, 0, CesiumMath.EPSILON2);\n let offsetValue;\n let i;\n if (extrude) {\n for (i = 0; i < polygons.length; i++) {\n geometryInstance = createGeometryFromPositionsExtruded(\n ellipsoid,\n polygons[i],\n minDistance,\n perPositionHeight,\n arcType\n );\n geometryInstance.geometry = PolygonGeometryLibrary.scaleToGeodeticHeightExtruded(\n geometryInstance.geometry,\n height,\n extrudedHeight,\n ellipsoid,\n perPositionHeight\n );\n if (defined(polygonGeometry._offsetAttribute)) {\n const size =\n geometryInstance.geometry.attributes.position.values.length / 3;\n let offsetAttribute = new Uint8Array(size);\n if (polygonGeometry._offsetAttribute === GeometryOffsetAttribute.TOP) {\n offsetAttribute = arrayFill(offsetAttribute, 1, 0, size / 2);\n } else {\n offsetValue =\n polygonGeometry._offsetAttribute === GeometryOffsetAttribute.NONE\n ? 0\n : 1;\n offsetAttribute = arrayFill(offsetAttribute, offsetValue);\n }\n\n geometryInstance.geometry.attributes.applyOffset = new GeometryAttribute(\n {\n componentDatatype: ComponentDatatype.UNSIGNED_BYTE,\n componentsPerAttribute: 1,\n values: offsetAttribute,\n }\n );\n }\n geometries.push(geometryInstance);\n }\n } else {\n for (i = 0; i < polygons.length; i++) {\n geometryInstance = createGeometryFromPositions(\n ellipsoid,\n polygons[i],\n minDistance,\n perPositionHeight,\n arcType\n );\n geometryInstance.geometry.attributes.position.values = PolygonPipeline.scaleToGeodeticHeight(\n geometryInstance.geometry.attributes.position.values,\n height,\n ellipsoid,\n !perPositionHeight\n );\n\n if (defined(polygonGeometry._offsetAttribute)) {\n const length =\n geometryInstance.geometry.attributes.position.values.length;\n const applyOffset = new Uint8Array(length / 3);\n offsetValue =\n polygonGeometry._offsetAttribute === GeometryOffsetAttribute.NONE\n ? 0\n : 1;\n arrayFill(applyOffset, offsetValue);\n geometryInstance.geometry.attributes.applyOffset = new GeometryAttribute(\n {\n componentDatatype: ComponentDatatype.UNSIGNED_BYTE,\n componentsPerAttribute: 1,\n values: applyOffset,\n }\n );\n }\n\n geometries.push(geometryInstance);\n }\n }\n\n const geometry = GeometryPipeline.combineInstances(geometries)[0];\n const boundingSphere = BoundingSphere.fromVertices(\n geometry.attributes.position.values\n );\n\n return new Geometry({\n attributes: geometry.attributes,\n indices: geometry.indices,\n primitiveType: geometry.primitiveType,\n boundingSphere: boundingSphere,\n offsetAttribute: polygonGeometry._offsetAttribute,\n });\n};\nexport default PolygonOutlineGeometry;\n","import defined from \"../Core/defined.js\";\nimport Ellipsoid from \"../Core/Ellipsoid.js\";\nimport PolygonOutlineGeometry from \"../Core/PolygonOutlineGeometry.js\";\n\nfunction createPolygonOutlineGeometry(polygonGeometry, offset) {\n if (defined(offset)) {\n polygonGeometry = PolygonOutlineGeometry.unpack(polygonGeometry, offset);\n }\n polygonGeometry._ellipsoid = Ellipsoid.clone(polygonGeometry._ellipsoid);\n return PolygonOutlineGeometry.createGeometry(polygonGeometry);\n}\nexport default createPolygonOutlineGeometry;\n"],"names":["EllipsoidTangentPlane","PolygonPipeline","WindingOrder","ArcType","PolygonGeometryLibrary","IndexDatatype","GeometryInstance","Geometry","GeometryAttributes","GeometryAttribute","ComponentDatatype","PrimitiveType","Check","defined","DeveloperError","defaultValue","Ellipsoid","CesiumMath","GeometryOffsetAttribute","arrayFill","GeometryPipeline","BoundingSphere"],"mappings":"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"}