/** * Cesium - https://github.com/CesiumGS/cesium * * Copyright 2011-2020 Cesium Contributors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * Columbus View (Pat. Pend.) * * Portions licensed separately. * See https://github.com/CesiumGS/cesium/blob/master/LICENSE.md for full licensing details. */ define(["./when-8d13db60","./Check-70bec281","./Math-61ede240","./Cartographic-f27b0939","./Cartesian2-09435a6c","./BoundingSphere-c409f092","./Cartesian4-5af5bb24","./RuntimeError-ba10bc3e","./WebGLConstants-4c11ee5f","./ComponentDatatype-5862616f","./GeometryAttribute-2243653a","./PrimitiveType-97893bc7","./FeatureDetection-7bd32c34","./Transforms-1509c877","./buildModuleUrl-392763e2","./GeometryAttributes-aacecde6","./IndexDatatype-9435b55f","./IntersectionTests-dbfba52c","./Plane-2bcb9154","./VertexFormat-fe4db402","./arrayRemoveDuplicates-2869246d","./EllipsoidRhumbLine-6ca4b1e6","./EllipsoidGeodesic-db2069b3","./PolylinePipeline-65700d85","./WallGeometryLibrary-80ce00e5"],function(Q,u,X,$,c,ee,e,t,i,te,ie,ae,a,re,r,ne,oe,n,o,f,s,l,m,p,se){var le=new $.Cartesian3,me=new $.Cartesian3,pe=new $.Cartesian3,de=new $.Cartesian3,ue=new $.Cartesian3,ce=new $.Cartesian3,fe=new $.Cartesian3,he=new $.Cartesian3;function h(e){var t=(e=Q.defaultValue(e,Q.defaultValue.EMPTY_OBJECT)).positions,i=e.maximumHeights,a=e.minimumHeights;if(!Q.defined(t))throw new u.DeveloperError("options.positions is required.");if(Q.defined(i)&&i.length!==t.length)throw new u.DeveloperError("options.positions and options.maximumHeights must have the same length.");if(Q.defined(a)&&a.length!==t.length)throw new u.DeveloperError("options.positions and options.minimumHeights must have the same length.");var r=Q.defaultValue(e.vertexFormat,f.VertexFormat.DEFAULT),n=Q.defaultValue(e.granularity,X.CesiumMath.RADIANS_PER_DEGREE),o=Q.defaultValue(e.ellipsoid,c.Ellipsoid.WGS84);this._positions=t,this._minimumHeights=a,this._maximumHeights=i,this._vertexFormat=f.VertexFormat.clone(r),this._granularity=n,this._ellipsoid=c.Ellipsoid.clone(o),this._enuCenter=e.enuCenter,this._workerName="createWallGeometry";var s=1+t.length*$.Cartesian3.packedLength+2;Q.defined(a)&&(s+=a.length),Q.defined(i)&&(s+=i.length),this.packedLength=s+c.Ellipsoid.packedLength+f.VertexFormat.packedLength+1,this.packedLength+=$.Cartesian3.packedLength}h.pack=function(e,t,i){if(!Q.defined(e))throw new u.DeveloperError("value is required");if(!Q.defined(t))throw new u.DeveloperError("array is required");var a;i=Q.defaultValue(i,0);var r=e._positions,n=r.length;for(t[i++]=n,a=0;a