Plane-af5cd52a.js 1.6 KB

1
  1. define(["exports","./when-cbf8cd21","./Check-35e1a91d","./Math-e66fad2a","./Cartesian2-44433f55","./Transforms-1e0d318e"],function(n,i,e,a,c,d){"use strict";function f(n,e){this.normal=c.Cartesian3.clone(n),this.distance=e}f.fromPointNormal=function(n,e,a){var r=-c.Cartesian3.dot(e,n);return i.defined(a)?(c.Cartesian3.clone(e,a.normal),a.distance=r,a):new f(e,r)};var t=new c.Cartesian3;f.fromCartesian4=function(n,e){var a=c.Cartesian3.fromCartesian4(n,t),r=n.w;return i.defined(e)?(c.Cartesian3.clone(a,e.normal),e.distance=r,e):new f(a,r)},f.getPointDistance=function(n,e){return c.Cartesian3.dot(n.normal,e)+n.distance};var s=new c.Cartesian3;f.projectPointOntoPlane=function(n,e,a){i.defined(a)||(a=new c.Cartesian3);var r=f.getPointDistance(n,e),t=c.Cartesian3.multiplyByScalar(n.normal,r,s);return c.Cartesian3.subtract(e,t,a)};var l=new d.Matrix4,C=new d.Cartesian4,m=new c.Cartesian3;f.transform=function(n,e,a){var r=n.normal,t=n.distance,i=d.Matrix4.inverseTranspose(e,l),s=d.Cartesian4.fromElements(r.x,r.y,r.z,t,C);s=d.Matrix4.multiplyByVector(i,s,s);var o=c.Cartesian3.fromCartesian4(s,m);return s=d.Cartesian4.divideByScalar(s,c.Cartesian3.magnitude(o),s),f.fromCartesian4(s,a)},f.clone=function(n,e){return i.defined(e)?(c.Cartesian3.clone(n.normal,e.normal),e.distance=n.distance,e):new f(n.normal,n.distance)},f.equals=function(n,e){return n.distance===e.distance&&c.Cartesian3.equals(n.normal,e.normal)},f.ORIGIN_XY_PLANE=Object.freeze(new f(c.Cartesian3.UNIT_Z,0)),f.ORIGIN_YZ_PLANE=Object.freeze(new f(c.Cartesian3.UNIT_X,0)),f.ORIGIN_ZX_PLANE=Object.freeze(new f(c.Cartesian3.UNIT_Y,0)),n.Plane=f});