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