/** * 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","./AttributeCompression-75ce15eb","./GeometryPipeline-8e55e413","./EncodedCartesian3-87cd0c1f","./IndexDatatype-9435b55f","./IntersectionTests-dbfba52c","./Plane-2bcb9154","./arrayFill-9766fb2e","./GeometryOffsetAttribute-999fc023","./VertexFormat-fe4db402","./GeometryInstance-9ddb8c73","./arrayRemoveDuplicates-2869246d","./BoundingRectangle-3d4f3d01","./EllipsoidTangentPlane-9c25b2da","./ArcType-66bc286a","./EllipsoidRhumbLine-6ca4b1e6","./earcut-2.2.1-b404d9e6","./PolygonPipeline-cc78b34e","./PolygonGeometryLibrary-ec05daff","./EllipsoidGeodesic-db2069b3"],function(Y,b,j,W,Q,q,e,t,r,K,Z,o,a,J,i,n,s,O,l,N,u,p,X,$,v,R,c,y,D,d,g,m,L,M,h){var f=new W.Cartographic,_=new W.Cartographic;function ee(e,t,r,o){var a=o.cartesianToCartographic(e,f).height,i=o.cartesianToCartographic(t,_);i.height=a,o.cartographicToCartesian(i,t);var n=o.cartesianToCartographic(r,_);n.height=a-100,o.cartographicToCartesian(n,r)}var S=new y.BoundingRectangle,te=new W.Cartesian3,re=new W.Cartesian3,oe=new W.Cartesian3,ae=new W.Cartesian3,ie=new W.Cartesian3,ne=new W.Cartesian3,se=new W.Cartesian3,le=new W.Cartesian3,ue=new W.Cartesian3,pe=new Q.Cartesian2,ce=new Q.Cartesian2,ye=new W.Cartesian3,de=new J.Quaternion,ge=new q.Matrix3,me=new q.Matrix3;function k(e){var t=e.vertexFormat,r=e.geometry,o=e.shadowVolume,a=r.attributes.position.values,i=a.length,n=e.wall,s=e.top||n,l=e.bottom||n;if(t.st||t.normal||t.tangent||t.bitangent||o){var u=e.boundingRectangle,p=e.tangentPlane,c=e.ellipsoid,y=e.stRotation,d=e.perPositionHeight,g=pe;g.x=u.x,g.y=u.y;var m,h=t.st?new Float32Array(i/3*2):void 0;t.normal&&(m=d&&s&&!n?r.attributes.normal.values:new Float32Array(i));var f=t.tangent?new Float32Array(i):void 0,b=t.bitangent?new Float32Array(i):void 0,v=o?new Float32Array(i):void 0,_=0,P=0,C=re,T=oe,w=ae,x=!0,A=ge,E=me;if(0!==y){var I=J.Quaternion.fromAxisAngle(p._plane.normal,y,de);A=q.Matrix3.fromQuaternion(I,A),I=J.Quaternion.fromAxisAngle(p._plane.normal,-y,de),E=q.Matrix3.fromQuaternion(I,E)}else A=q.Matrix3.clone(q.Matrix3.IDENTITY,A),E=q.Matrix3.clone(q.Matrix3.IDENTITY,E);var G=0,H=0;s&&l&&(G=i/2,H=i/3,i/=2);for(var V=0;VT.west-T.east&&(a.east=T.east,a.west=T.west),a}var A=new W.Cartographic;function E(e,t,r,o){for(var a=e.surfaceDistance,i=Math.ceil(a*t),n=0