/** * 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","./arrayRemoveDuplicates-2869246d","./EllipsoidRhumbLine-6ca4b1e6","./EllipsoidGeodesic-db2069b3","./PolylinePipeline-65700d85","./WallGeometryLibrary-80ce00e5"],function(k,m,x,G,p,L,e,i,t,P,T,V,r,n,a,S,I,o,s,l,d,u,f,R){var q=new G.Cartesian3,M=new G.Cartesian3;function h(e){var i=(e=k.defaultValue(e,k.defaultValue.EMPTY_OBJECT)).positions,t=e.maximumHeights,r=e.minimumHeights;if(!k.defined(i))throw new m.DeveloperError("options.positions is required.");if(k.defined(t)&&t.length!==i.length)throw new m.DeveloperError("options.positions and options.maximumHeights must have the same length.");if(k.defined(r)&&r.length!==i.length)throw new m.DeveloperError("options.positions and options.minimumHeights must have the same length.");var n=k.defaultValue(e.granularity,x.CesiumMath.RADIANS_PER_DEGREE),a=k.defaultValue(e.ellipsoid,p.Ellipsoid.WGS84);this._positions=i,this._minimumHeights=r,this._maximumHeights=t,this._granularity=n,this._ellipsoid=p.Ellipsoid.clone(a),this._workerName="createWallOutlineGeometry";var o=1+i.length*G.Cartesian3.packedLength+2;k.defined(r)&&(o+=r.length),k.defined(t)&&(o+=t.length),this.packedLength=o+p.Ellipsoid.packedLength+1}h.pack=function(e,i,t){if(!k.defined(e))throw new m.DeveloperError("value is required");if(!k.defined(i))throw new m.DeveloperError("array is required");var r;t=k.defaultValue(t,0);var n=e._positions,a=n.length;for(i[t++]=a,r=0;r