@doegis/core
Version:
DOE GIS API
3 lines (1 loc) • 1.52 kB
JavaScript
import{isNone as e,isSome as r}from"../../../../../core/maybe.js";import{createRenderScreenPointArray3 as o}from"../../../../../core/screenUtils.js";import{f as n}from"../../../../../chunks/mat4f64.js";import{f as t,r as s,p as c,b as i}from"../../../../../chunks/vec3.js";import{c as d}from"../../../../../chunks/vec3f64.js";import{normal as f,fromPositionAndNormal as p,create as m}from"../../../../../geometry/support/plane.js";import{makeDehydratedPoint as u}from"../../../../../layers/graphics/dehydratedFeatures.js";import{PlaneType as a,OffsetEdgeVertex as l}from"../../../../interactive/editGeometry/operations/OffsetEdgeVertex.js";function j(e,r,o){const n="on-the-ground"===o.mode?a.XY:a.XYZ;return new l(e,n,r,0)}function h(r,o,n){const s=d();if(!r.renderCoordsHelper.toRenderCoords(o,s))return null;const c=y(r,o,f(n.plane)),i=y(r,o,n.edgeDirection);if(e(c)||e(i))return null;const u=t(d(),c,i);return p(s,u,m())}function y(e,r,o){const n=u(r.x+o[0],r.y+o[1],r.z+o[2],r.spatialReference),t=d(),c=d();return e.renderCoordsHelper.toRenderCoords(r,t)&&e.renderCoordsHelper.toRenderCoords(n,c)?s(c,t,c):null}function C(e,r,o){const c=f(e),i=s(d(),r,o),p=t(d(),i,c),m=t(d(),i,p);return n(i[0],i[1],i[2],0,p[0],p[1],p[2],0,m[0],m[1],m[2],0,0,0,0,1)}function R(e,n,t){const s=t.projectToRenderScreen(e,o()),d=t.projectToRenderScreen(n,o());return r(s)&&r(d)?c(i(s,s,d)):0}export{h as createEdgeOffsetIntersectionPlane,j as createEdgeOffsetOperation,C as edgeOffsetRotationMatrix,R as screenEdgeLengthSquared};