define([ 'exports', './Matrix2-f2da41d4', './RuntimeError-ffe03243', './when-229515d6', './ComponentDatatype-17b06483', ], function (n, e, a, t, r) { 'use strict'; function i(n, a) { (this.normal = e.Cartesian3.clone(n)), (this.distance = a); } i.fromPointNormal = function (n, a, r) { var s = -e.Cartesian3.dot(a, n); return t.defined(r) ? (e.Cartesian3.clone(a, r.normal), (r.distance = s), r) : new i(a, s); }; var s = new e.Cartesian3(); (i.fromCartesian4 = function (n, a) { var r = e.Cartesian3.fromCartesian4(n, s), o = n.w; return t.defined(a) ? (e.Cartesian3.clone(r, a.normal), (a.distance = o), a) : new i(r, o); }), (i.getPointDistance = function (n, a) { return e.Cartesian3.dot(n.normal, a) + n.distance; }); var o = new e.Cartesian3(); i.projectPointOntoPlane = function (n, a, r) { t.defined(r) || (r = new e.Cartesian3()); var s = i.getPointDistance(n, a), c = e.Cartesian3.multiplyByScalar(n.normal, s, o); return e.Cartesian3.subtract(a, c, r); }; var c = new e.Matrix4(), l = new e.Cartesian4(), d = new e.Cartesian3(); (i.transform = function (n, a, t) { var r = n.normal, s = n.distance, o = e.Matrix4.inverseTranspose(a, c), f = e.Cartesian4.fromElements(r.x, r.y, r.z, s, l); f = e.Matrix4.multiplyByVector(o, f, f); var C = e.Cartesian3.fromCartesian4(f, d); return ( (f = e.Cartesian4.divideByScalar(f, e.Cartesian3.magnitude(C), f)), i.fromCartesian4(f, t) ); }), (i.clone = function (n, a) { return t.defined(a) ? (e.Cartesian3.clone(n.normal, a.normal), (a.distance = n.distance), a) : new i(n.normal, n.distance); }), (i.equals = function (n, a) { return n.distance === a.distance && e.Cartesian3.equals(n.normal, a.normal); }), (i.ORIGIN_XY_PLANE = Object.freeze(new i(e.Cartesian3.UNIT_Z, 0))), (i.ORIGIN_YZ_PLANE = Object.freeze(new i(e.Cartesian3.UNIT_X, 0))), (i.ORIGIN_ZX_PLANE = Object.freeze(new i(e.Cartesian3.UNIT_Y, 0))), (n.Plane = i); });