WinForms

Upgrade Guide User Guide Demos Support Forums Download
  • Upgrade Guide
  • User Guide
  • Demos
  • Support
  • Forums
  • Download
Class AStarLineRouter - WindowsForms API Reference | Syncfusion

    Show / Hide Table of Contents

    Class AStarLineRouter

    Line Routing engine that use A* find path Algorithm to route orthogonal lines.

    Inheritance
    System.Object
    LineRouter
    AStarLineRouter
    Implements
    System.Runtime.Serialization.ISerializable
    Inherited Members
    LineRouter.m_bInAction
    LineRouter.RouteAllModelConnectors()
    LineRouter.RouteConnectors(ICollection)
    LineRouter.RouteConnector(ConnectorBase)
    LineRouter.SetNewModel(Model)
    LineRouter.Unsubscribe(Model)
    LineRouter.Subscribe(Model)
    LineRouter.GetObjectData(SerializationInfo, StreamingContext)
    LineRouter.Dispose(Boolean)
    LineRouter.DistanceToObstacles
    LineRouter.Model
    LineRouter.RoutingMode
    LineRouter.UpdateRequests
    Namespace: Syncfusion.Windows.Forms.Diagram
    Assembly: Syncfusion.Diagram.Base.dll
    Syntax
    public class AStarLineRouter : LineRouter, ISerializable

    Constructors

    AStarLineRouter()

    Initializes a new instance of the AStarLineRouter class.

    Declaration
    public AStarLineRouter()

    AStarLineRouter(Model)

    Initializes a new instance of the AStarLineRouter class.

    Declaration
    public AStarLineRouter(Model model)
    Parameters
    Type Name Description
    Model model

    The reference to diagram model.

    AStarLineRouter(SerializationInfo, StreamingContext)

    Initializes a new instance of the AStarLineRouter class.

    Declaration
    protected AStarLineRouter(SerializationInfo info, StreamingContext context)
    Parameters
    Type Name Description
    System.Runtime.Serialization.SerializationInfo info

    The serialization info.

    System.Runtime.Serialization.StreamingContext context

    The serialization context.

    Fields

    m_lstSearchNodes

    Store search node.

    Declaration
    protected SearchNodeArray m_lstSearchNodes
    Field Value
    Type Description
    SearchNodeArray

    m_searchGrid

    Store Search Grid.

    Declaration
    protected SearchGridNode[, ] m_searchGrid
    Field Value
    Type Description
    SearchGridNode[,]

    Properties

    RoutingConnectors

    Gets the reference to collection of connectors that will be routed by engine.

    Declaration
    protected NodeCollection RoutingConnectors { get; }
    Property Value
    Type Description
    NodeCollection

    The reference to routing connector collection.

    Methods

    CanConnect(SearchNode, SearchNode)

    Check if two search nodes can be connected.

    Declaration
    protected virtual bool CanConnect(SearchNode node1, SearchNode node2)
    Parameters
    Type Name Description
    SearchNode node1

    First node to check.

    SearchNode node2

    Second node to check.

    Returns
    Type Description
    System.Boolean

    true, if can connect to the nodes.

    CheckPointOnLine(PointF, PointF)

    Check are points on one horizontal or vertical line.

    Declaration
    protected bool CheckPointOnLine(PointF ptStart, PointF ptEnd)
    Parameters
    Type Name Description
    System.Drawing.PointF ptStart

    Start point to check.

    System.Drawing.PointF ptEnd

    End point to check.

    Returns
    Type Description
    System.Boolean

    TRUE if points are on one horizontal or vertical line, otherwise false.

    ConnectNode(SearchNode, SearchNode)

    Adds nodeToConnectWith to Neighbours collection of nodeToConnect.

    Declaration
    protected void ConnectNode(SearchNode nodeToConnect, SearchNode nodeToConnectWith)
    Parameters
    Type Name Description
    SearchNode nodeToConnect

    Node to add neighbour to.

    SearchNode nodeToConnectWith

    Neighbour to add.

    CreateSearchNode(PointF)

    Creates the search node in given location.

    Declaration
    protected virtual SearchNode CreateSearchNode(PointF ptLoc)
    Parameters
    Type Name Description
    System.Drawing.PointF ptLoc

    The search node location.

    Returns
    Type Description
    SearchNode

    SearchNode instance in given location.

    DisconnectNode(SearchNode, SearchNode)

    Removes neighbour node from nodeDisconnectFrom Neighbours.

    Declaration
    protected void DisconnectNode(SearchNode nodeDisconnectFrom, SearchNode nodeDisconnecting)
    Parameters
    Type Name Description
    SearchNode nodeDisconnectFrom

    Node to remove neighbour from.

    SearchNode nodeDisconnecting

    Neighbour to remove.

    DisconnectNodes(SearchNodeArray)

    Clear neighbours.

    Declaration
    protected void DisconnectNodes(SearchNodeArray lstDisconnecting)
    Parameters
    Type Name Description
    SearchNodeArray lstDisconnecting

    Nodes to clear neighbours

    FindPath(EndPoint, EndPoint)

    Searches for route from endPointHead to endPointTail.

    Declaration
    protected virtual PointF[] FindPath(EndPoint endPointHead, EndPoint endPointTail)
    Parameters
    Type Name Description
    EndPoint endPointHead

    EndPoint to start search from.

    EndPoint endPointTail

    EndPoint to search to.

    Returns
    Type Description
    System.Drawing.PointF[]

    Array of points that represent path

    FindPath(SearchNode, SearchNode)

    Searches for route from nodeStart to nodeEnd.

    Declaration
    protected bool FindPath(SearchNode nodeStart, SearchNode nodeEnd)
    Parameters
    Type Name Description
    SearchNode nodeStart

    Node to start search from.

    SearchNode nodeEnd

    Node to search to.

    Returns
    Type Description
    System.Boolean

    True if route found, otherwise false.

    GetBoundaryIntersects(PointF, RectangleF, CompassHeading)

    Gets the search node array that intersect with rcBounds rectangle.

    Declaration
    protected SearchNodeArray GetBoundaryIntersects(PointF ptEndPointLocation, RectangleF rcBounds, CompassHeading heading)
    Parameters
    Type Name Description
    System.Drawing.PointF ptEndPointLocation

    The tested EndPoint location.

    System.Drawing.RectangleF rcBounds

    The bounds rectangle.

    CompassHeading heading

    The tested EndPoint heading.

    Returns
    Type Description
    SearchNodeArray

    The search node array.

    GetBoundingRect(NodeCollection)

    Gets the bounding rectangle of node collection.

    Declaration
    public RectangleF GetBoundingRect(NodeCollection nodes)
    Parameters
    Type Name Description
    NodeCollection nodes

    The node collection.

    Returns
    Type Description
    System.Drawing.RectangleF

    System.Drawing.RectangleF instance.

    GetEndPointPortContainerBounds(EndPoint)

    Gets the bounds of end point port container .

    Declaration
    protected RectangleF GetEndPointPortContainerBounds(EndPoint endPoint)
    Parameters
    Type Name Description
    EndPoint endPoint

    The end point.

    Returns
    Type Description
    System.Drawing.RectangleF

    Bounds of port container node.

    GetNearestSearchGridNodes(SearchNode, EndPoint)

    Gets intersection points of given search node with search grid.

    Declaration
    protected SearchNodeArray GetNearestSearchGridNodes(SearchNode node, EndPoint endPoint)
    Parameters
    Type Name Description
    SearchNode node

    The search node.

    EndPoint endPoint

    The end point to check.

    Returns
    Type Description
    SearchNodeArray

    The search node array.

    GetNodesIntersecting(NodeCollection, RectangleF)

    Gets the collection of intersecting obstacles in collection with given rectangle.

    Declaration
    public NodeCollection GetNodesIntersecting(NodeCollection nodes, RectangleF recbBounding)
    Parameters
    Type Name Description
    NodeCollection nodes

    The node collection.

    System.Drawing.RectangleF recbBounding

    The bounds rectangle to intersect with.

    Returns
    Type Description
    NodeCollection

    The intersecting nodes collection.

    GetObstacles()

    Creates array of obstacles.

    Declaration
    protected ArrayList GetObstacles()
    Returns
    Type Description
    System.Collections.ArrayList

    Array of obstacles.

    InitSearchGrid()

    Initialize search grid using collected obstacles.

    Declaration
    protected void InitSearchGrid()
    Remarks

    Generate search grid from SearchGridNode
    using m_lstObstacles member as obstacles collection.

    IsValid(PointF)

    Gets value indicates that model's bounds constrains given point.

    Declaration
    protected virtual bool IsValid(PointF ptTesting)
    Parameters
    Type Name Description
    System.Drawing.PointF ptTesting

    Point to check.

    Returns
    Type Description
    System.Boolean

    TRUE in model's bounds constrains point, otherwise FALSE.

    Reroute()

    Reroutes connectors from RoutingConnectors collection.

    Declaration
    protected void Reroute()
    Remarks

    Engine find short way and lay out connectors using SetPoints() method.

    ResetSearchCache()

    Recreate obstacles collections and generate search grid to find all possible ways.

    Declaration
    public void ResetSearchCache()
    Remarks

    Collect all obstacles ( node with enable Node.TreatAsObstacle property ) in model and save it to m_lstObstacles member. Then generate search grid by calling InitSerarchGrid() that used last obstacles collection.

    UpdateNeighbours(Int32, Int32, Int32, Int32)

    Update nodes neighbours.

    Declaration
    protected void UpdateNeighbours(int nXNode1, int nYNode1, int nXNode2, int nYNode2)
    Parameters
    Type Name Description
    System.Int32 nXNode1

    The X axis position of first node.

    System.Int32 nYNode1

    The Y axis position of first node.

    System.Int32 nXNode2

    The X axis position of second node.

    System.Int32 nYNode2

    The Y axis position of second node.

    Implements

    System.Runtime.Serialization.ISerializable
    Back to top Generated by DocFX
    Copyright © 2001 - 2021 Syncfusion Inc. All Rights Reserved