UNPKG

@doegis/core

Version:

DOE GIS API

3 lines (1 loc) 1.46 kB
import{b as e,a as t,k as i}from"../../../../chunks/vec3.js";import{a as n}from"../../../../chunks/vec3f64.js";import{VerticalPlaneConstraint as r}from"../SnappingConstraint.js";import{SnappingDomain as s}from"../SnappingDomain.js";import{asSnappingPoint as a}from"../SnappingPoint.js";import{LineSegmentHintType as f}from"../snappingUtils.js";import{SnappingCandidate as o}from"./SnappingCandidate.js";import{LineSnappingHint as d}from"../hints/LineSnappingHint.js";import{ParallelSnappingHint as h}from"../hints/ParallelSnappingHint.js";class g extends o{constructor({referenceLine:i,lineStart:f,targetPoint:o,isDraped:d}){const h=n(f),{left:g,right:p}=i;e(h,t(h,h,p),g),super(o,new r(f,a(h)),d,s.SELF),this._referenceLines=[{edge:i,fadeLeft:!0,fadeRight:!0}]}get hints(){return[new d(f.TARGET,this.constraint.start,this.targetPoint,this.isDraped,this.domain),new h(this.constraint.start,this.targetPoint,this.isDraped,this.domain),...this._referenceLines.map((e=>new d(f.REFERENCE,e.edge.left,e.edge.right,this.isDraped,this.domain,e.fadeLeft,e.fadeRight)))]}addReferenceLine(e){const t={edge:e,fadeLeft:!0,fadeRight:!0};this._referenceLines.forEach((n=>{i(e.right,n.edge.left)&&(n.fadeLeft=!1,t.fadeRight=!1),i(e.right,n.edge.right)&&(n.fadeRight=!1,t.fadeRight=!1),i(e.left,n.edge.right)&&(n.fadeRight=!1,t.fadeLeft=!1),i(e.left,n.edge.left)&&(n.fadeLeft=!1,t.fadeLeft=!1)})),this._referenceLines.push(t)}}export{g as ParallelLineSnappingCandidate};