UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

6 lines (5 loc) 3.38 kB
/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.33/esri/copyright.txt for details. */ import{ObjectStack as T}from"../../core/ObjectStack.js";import{multiply as _,invert as O}from"../../core/libs/gl-matrix-2/math/mat4.js";import{i as R}from"../../chunks/vec32.js";import{create as t}from"../../core/libs/gl-matrix-2/factories/vec3f64.js";import{t as r}from"../../chunks/vec42.js";import{fromValues as A}from"../../core/libs/gl-matrix-2/factories/vec4f64.js";import{fromRay as E,fromLineSegmentAndDirection as F,create as o}from"./clipRay.js";import{create as n,fromPoints as e,signedDistance as c,clip as f,copy as i,clipInfinite as B}from"./plane.js";import{sm4d as M,sv4d as G}from"./vectorStacks.js";function H(T){return T?[n(T[0]),n(T[1]),n(T[2]),n(T[3]),n(T[4]),n(T[5])]:[n(),n(),n(),n(),n(),n()]}function I(){return[t(),t(),t(),t(),t(),t(),t(),t()]}function N(T,_){for(let O=0;O<b;O++)i(T[O],_[O]);return T}function L(T,t,A,E=y){const F=_(M.get(),t,T);O(F,F);for(let _=0;_<h;++_){const T=r(G.get(),k[_],F);R(E[_],T[0]/T[3],T[1]/T[3],T[2]/T[3])}P(A,E)}function P(T,_){e(_[g.FAR_BOTTOM_LEFT],_[g.NEAR_BOTTOM_LEFT],_[g.NEAR_TOP_LEFT],T[j.LEFT]),e(_[g.NEAR_BOTTOM_RIGHT],_[g.FAR_BOTTOM_RIGHT],_[g.FAR_TOP_RIGHT],T[j.RIGHT]),e(_[g.FAR_BOTTOM_LEFT],_[g.FAR_BOTTOM_RIGHT],_[g.NEAR_BOTTOM_RIGHT],T[j.BOTTOM]),e(_[g.NEAR_TOP_LEFT],_[g.NEAR_TOP_RIGHT],_[g.FAR_TOP_RIGHT],T[j.TOP]),e(_[g.NEAR_BOTTOM_LEFT],_[g.NEAR_BOTTOM_RIGHT],_[g.NEAR_TOP_RIGHT],T[j.NEAR]),e(_[g.FAR_BOTTOM_RIGHT],_[g.FAR_BOTTOM_LEFT],_[g.FAR_TOP_LEFT],T[j.FAR])}function s(T,_){for(let O=0;O<b;O++){const R=T[O];if(R[0]*_[0]+R[1]*_[1]+R[2]*_[2]+R[3]>=_[3])return!1}return!0}function u(T,_){return p(T,E(_,x.get()))}function m(T,_){for(let O=0;O<b;O++){const R=T[O];if(!B(R,_))return!1}return!0}function a(T,_,O){return p(T,F(_,O,x.get()))}function l(T,_){for(let O=0;O<b;O++){if(c(T[O],_)>0)return!1}return!0}function p(T,_){for(let O=0;O<b;O++)if(!f(T[O],_))return!1;return!0}var j,g;!function(T){T[T.LEFT=0]="LEFT",T[T.RIGHT=1]="RIGHT",T[T.BOTTOM=2]="BOTTOM",T[T.TOP=3]="TOP",T[T.NEAR=4]="NEAR",T[T.FAR=5]="FAR"}(j||(j={})),function(T){T[T.NEAR_BOTTOM_LEFT=0]="NEAR_BOTTOM_LEFT",T[T.NEAR_BOTTOM_RIGHT=1]="NEAR_BOTTOM_RIGHT",T[T.NEAR_TOP_RIGHT=2]="NEAR_TOP_RIGHT",T[T.NEAR_TOP_LEFT=3]="NEAR_TOP_LEFT",T[T.FAR_BOTTOM_LEFT=4]="FAR_BOTTOM_LEFT",T[T.FAR_BOTTOM_RIGHT=5]="FAR_BOTTOM_RIGHT",T[T.FAR_TOP_RIGHT=6]="FAR_TOP_RIGHT",T[T.FAR_TOP_LEFT=7]="FAR_TOP_LEFT"}(g||(g={}));const v={bottom:[g.FAR_BOTTOM_RIGHT,g.NEAR_BOTTOM_RIGHT,g.NEAR_BOTTOM_LEFT,g.FAR_BOTTOM_LEFT],near:[g.NEAR_BOTTOM_LEFT,g.NEAR_BOTTOM_RIGHT,g.NEAR_TOP_RIGHT,g.NEAR_TOP_LEFT],far:[g.FAR_BOTTOM_RIGHT,g.FAR_BOTTOM_LEFT,g.FAR_TOP_LEFT,g.FAR_TOP_RIGHT],right:[g.NEAR_BOTTOM_RIGHT,g.FAR_BOTTOM_RIGHT,g.FAR_TOP_RIGHT,g.NEAR_TOP_RIGHT],left:[g.FAR_BOTTOM_LEFT,g.NEAR_BOTTOM_LEFT,g.NEAR_TOP_LEFT,g.FAR_TOP_LEFT],top:[g.FAR_TOP_LEFT,g.NEAR_TOP_LEFT,g.NEAR_TOP_RIGHT,g.FAR_TOP_RIGHT]},b=6,h=8,k=[A(-1,-1,-1,1),A(1,-1,-1,1),A(1,1,-1,1),A(-1,1,-1,1),A(-1,-1,1,1),A(1,-1,1,1),A(1,1,1,1),A(-1,1,1,1)],x=new T(o),y=I();export{j as PlaneIndex,g as PointIndex,P as computePlanes,N as copy,H as create,I as createPoints,L as fromMatrix,m as intersectClipRay,a as intersectsLineSegment,l as intersectsPoint,u as intersectsRay,s as intersectsSphere,b as numPlanes,h as numPoints,v as planePointIndices};