UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

6 lines (5 loc) 1.56 kB
/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.32/esri/copyright.txt for details. */ import{GeometryCursor as e}from"../../../../../../../geometry/GeometryCursor.js";import{outlineFillVertexSpec_Fill as t,outlineFillVertexSpec_Outline as r,OutlineFillMeshWriter as s,OutlineFillOutlineMeshWriter as i}from"./OutlineFillMeshWriter.js";import{patternFillVertexSpec as a}from"./PatternFillMeshWriter.js";const n={optionalAttributes:a.optionalAttributes,createComputedParams:e=>e,attributes:{...a.attributes,...t.attributes}},o={optionalAttributes:a.optionalAttributes,createComputedParams:e=>e,attributes:{...a.attributes,...r.attributes}};class u extends i{constructor(){super(...arguments),this.vertexSpec=o}}class c extends s{constructor(){super(...arguments),this.vertexSpec=n}_createOutlineWriter(e,t,r,s){return new u(e,t,r,s)}_write(t,r,s){const i=s?.asOptimized()??r.readGeometryForDisplay(),a=this._clip(i);if(!a)return;const n=this.evaluatedMeshParams.sprite?.textureBinding;t.recordStart(this.instanceId,this.attributeLayout,n),this._writeGeometry(t,r,a),this._lineMeshWriter.writeLineVertices(t,e.fromOptimizedCIM(a,"esriGeometryPolyline"),r),t.recordEnd()}ensurePacked(e,t,r){super.ensurePacked(e,t,r),this._lineMeshWriter.ensurePacked(e,t,r)}enqueueRequest(e,t,r){super.enqueueRequest(e,t,r),this._lineMeshWriter.enqueueRequest(e,t,r)}async loadDependencies(){await Promise.all([super.loadDependencies(),this._lineMeshWriter.loadDependencies()])}}export{c as PatternOutlineFillMeshWriter};