@doegis/core
Version:
DOE GIS API
3 lines (1 loc) • 981 B
JavaScript
import{handlesGroup as i}from"../../../core/handleUtils.js";import{IntersectionSnappingHint as n}from"./hints/IntersectionSnappingHint.js";import{LineSnappingHint as t}from"./hints/LineSnappingHint.js";import{ParallelSnappingHint as s}from"./hints/ParallelSnappingHint.js";import{PointSnappingHint as o}from"./hints/PointSnappingHint.js";import{RightAngleSnappingHint as e}from"./hints/RightAngleSnappingHint.js";class r{draw(r,a){const p=this._getUniqueHints(r),h=this.sortUniqueHints(p),u=[];for(const i of h)i instanceof n&&u.push(this.visualizeIntersectionPoint(i,a)),i instanceof t&&u.push(this.visualizeLine(i,a)),i instanceof s&&u.push(this.visualizeParallelSign(i,a)),i instanceof e&&u.push(this.visualizeRightAngleQuad(i,a)),i instanceof o&&u.push(this.visualizePoint(i,a));return i(u)}sortUniqueHints(i){return i}_getUniqueHints(i){const n=[];for(const t of i){let i=!0;for(const s of n)if(t.equals(s)){i=!1;break}i&&n.push(t)}return n}}export{r as SnappingVisualizer};