define(["exports","./Rectangle-82621db8","./Transforms-b51fdb37","./Check-24483042","./when-54335d57","./Math-7a8129d6"],function(n,c,l,e,i,a){"use strict";function d(n,e){this.normal=c.Cartesian3.clone(n),this.distance=e}d.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 d(e,r)};var t=new c.Cartesian3;d.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 d(a,r)},d.getPointDistance=function(n,e){return c.Cartesian3.dot(n.normal,e)+n.distance};var s=new c.Cartesian3;d.projectPointOntoPlane=function(n,e,a){i.defined(a)||(a=new c.Cartesian3);var r=d.getPointDistance(n,e),t=c.Cartesian3.multiplyByScalar(n.normal,r,s);return c.Cartesian3.subtract(e,t,a)};var C=new l.Matrix4,f=new l.Cartesian4,m=new c.Cartesian3;d.transform=function(n,e,a){var r=n.normal,t=n.distance,i=l.Matrix4.inverseTranspose(e,C),s=l.Cartesian4.fromElements(r.x,r.y,r.z,t,f);s=l.Matrix4.multiplyByVector(i,s,s);var o=c.Cartesian3.fromCartesian4(s,m);return s=l.Cartesian4.divideByScalar(s,c.Cartesian3.magnitude(o),s),d.fromCartesian4(s,a)},d.clone=function(n,e){return i.defined(e)?(c.Cartesian3.clone(n.normal,e.normal),e.distance=n.distance,e):new d(n.normal,n.distance)},d.equals=function(n,e){return n.distance===e.distance&&c.Cartesian3.equals(n.normal,e.normal)},d.ORIGIN_XY_PLANE=Object.freeze(new d(c.Cartesian3.UNIT_Z,0)),d.ORIGIN_YZ_PLANE=Object.freeze(new d(c.Cartesian3.UNIT_X,0)),d.ORIGIN_ZX_PLANE=Object.freeze(new d(c.Cartesian3.UNIT_Y,0)),n.Plane=d});