/* COPYRIGHT Esri - https://js.arcgis.com/5.0/LICENSE.txt */
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,p){const h=a(r),f=this.sortUniqueHints(h),u=[];for(const i of f)i instanceof n&&u.push(this.visualizeIntersectionPoint(i,p)),i instanceof t&&u.push(this.visualizeLine(i,p)),i instanceof s&&u.push(this.visualizeParallelSign(i,p)),i instanceof e&&u.push(this.visualizeRightAngleQuad(i,p)),i instanceof o&&u.push(this.visualizePoint(i,p));return i(u)}sortUniqueHints(i){return i}}function a(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};
