public override void Visit(NConnector component) { IsHit = false; if (component.Contains(point)) { if (component.PathNodes.Count > 4) { foreach (NNodeX x in component.PathNodes.Take(4)) { if (x.Point.Equals(point)) { return; } } ; foreach (NNodeX x in component.PathNodes.Skip(component.PathNodes.Count - 4)) { if (x.Point.Equals(point)) { return; } } ; IsHit = true; } } }
public override void Visit(NConnector component) { resolver.Connector = component; resolver.StartPoint = component.Model.StartPoint; resolver.EndPoint = component.Model.EndPoint; resolver.RebuildGraph(); resolver.Resolve(); }
public override void Visit(NConnector component) { NVisitor visitor = new NStartConnectVisitor(component); NComponent box = components.Find(x => x.GetFlatModel().ID == component.Model.StartBoxID); if (box != null) { box.Accept(visitor); } visitor = new NEndConnectVisitor(component); box = components.Find(x => x.GetFlatModel().ID == component.Model.EndBoxID); if (box != null) { box.Accept(visitor); } }
public override void Visit(NConnector connector) { connector.Reset(); if (BoxComponent == connector.StartBox) { connector.Model.StartPoint.Set(BoxComponent.ConnectPoints[connector.Model.StartBoxIndex]); } else if (BoxComponent == connector.EndBox) { connector.Model.EndPoint.Set(BoxComponent.ConnectPoints[connector.Model.EndBoxIndex]); } PathResolver.Connector = connector; PathResolver.StartPoint = connector.Model.StartPoint; PathResolver.EndPoint = connector.Model.EndPoint; PathResolver.RebuildGraph(); PathResolver.Resolve(); }
void Connect(NConnector component, NPoint selectedPoint, bool connect) { connectVisitor.Connector = component; connectVisitor.SelectedPoint = selectedPoint; connectVisitor.Connect = connect; if (component.Model.StartPoint == selectedPoint) { component.StartBox = null; component.Model.StartBoxID = null; } else { component.EndBox = null; component.Model.EndBoxID = null; } this.components.ForEach(x => { x.Accept(connectVisitor); }); }
void Connector_VertexMoved(NConnector component, NPoint selectedPoint) { Connect(component, selectedPoint, true); }
void Connector_VertexMoving(NConnector component, NPoint selectedPoint) { Connect(component, selectedPoint, false); }
public override void Visit(NConnector component) { component.VertexMoved += new Action <NConnector, NPoint>(Connector_VertexMoved); component.VertexMoving += new Action <NConnector, NPoint>(Connector_VertexMoving); }
public void Visit(NConnector component) { component.View = PostProcessView(new NConnectorView(component)); }
public NConnectorView(NConnector connector) : base(connector) { this.connector = connector; }
public override void Visit(NConnector component) { }
public abstract void Visit(NConnector component);
public NEndConnectVisitor(NConnector connector) { this.connector = connector; }
public NStartConnectVisitor(NConnector connector) { this.connector = connector; }