chunk-7AR5UXG3.js 2.0 KB

1
  1. import{b as u}from"./chunk-45OWWDV7.js";import{a as n}from"./chunk-I46SWINN.js";import{a as c}from"./chunk-LNIYJJXS.js";import{a as r}from"./chunk-EDZQSM3T.js";import{a as l}from"./chunk-PJGSCWXZ.js";import{a as m}from"./chunk-NUC3LT2W.js";function o(t,e){if(r.typeOf.object("normal",t),!c.equalsEpsilon(n.magnitude(t),1,c.EPSILON6))throw new l("normal must be normalized.");r.typeOf.number("distance",e),this.normal=n.clone(t),this.distance=e}o.fromPointNormal=function(t,e,a){if(r.typeOf.object("point",t),r.typeOf.object("normal",e),!c.equalsEpsilon(n.magnitude(e),1,c.EPSILON6))throw new l("normal must be normalized.");var i=-n.dot(e,t);return m(a)?(n.clone(e,a.normal),a.distance=i,a):new o(e,i)};var f=new n;o.fromCartesian4=function(t,e){r.typeOf.object("coefficients",t);var a=n.fromCartesian4(t,f),i=t.w;if(!c.equalsEpsilon(n.magnitude(a),1,c.EPSILON6))throw new l("normal must be normalized.");return m(e)?(n.clone(a,e.normal),e.distance=i,e):new o(a,i)};o.getPointDistance=function(t,e){return r.typeOf.object("plane",t),r.typeOf.object("point",e),n.dot(t.normal,e)+t.distance};var O=new n;o.projectPointOntoPlane=function(t,e,a){r.typeOf.object("plane",t),r.typeOf.object("point",e),m(a)||(a=new n);var i=o.getPointDistance(t,e),d=n.multiplyByScalar(t.normal,i,O);return n.subtract(e,d,a)};var s=new n;o.transform=function(t,e,a){return r.typeOf.object("plane",t),r.typeOf.object("transform",e),u.multiplyByPointAsVector(e,t.normal,f),n.normalize(f,f),n.multiplyByScalar(t.normal,-t.distance,s),u.multiplyByPoint(e,s,s),o.fromPointNormal(s,f,a)};o.clone=function(t,e){return r.typeOf.object("plane",t),m(e)?(n.clone(t.normal,e.normal),e.distance=t.distance,e):new o(t.normal,t.distance)};o.equals=function(t,e){return r.typeOf.object("left",t),r.typeOf.object("right",e),t.distance===e.distance&&n.equals(t.normal,e.normal)};o.ORIGIN_XY_PLANE=Object.freeze(new o(n.UNIT_Z,0));o.ORIGIN_YZ_PLANE=Object.freeze(new o(n.UNIT_X,0));o.ORIGIN_ZX_PLANE=Object.freeze(new o(n.UNIT_Y,0));var P=o;export{P as a};