skip navigation
  • Product Bundles

    DevCraft

    All Telerik .NET tools and Kendo UI JavaScript components in one package. Now enhanced with:

    • AI Coding Assistants
    • Embedded Reporting
    • Document Processing Libraries
    • SSO Account Sign-in

    Web

    Kendo UI UI for Angular UI for Vue UI for jQuery KendoReact UI for Blazor UI for ASP.NET Core UI for ASP.NET MVC UI for ASP.NET AJAX

    Mobile

    UI for .NET MAUI

    Document Management

    Telerik Document Processing

    Desktop

    UI for .NET MAUI UI for WinUI UI for WinForms UI for WPF

    Reporting

    Telerik Reporting Telerik Report Server

    Testing & Mocking

    Test Studio Telerik JustMock

    CMS

    Sitefinity

    AI Productivity Tools

    AI Coding Assistants

    UI/UX Tools

    ThemeBuilder Design System Kit Templates and Building Blocks

    Debugging

    Fiddler Fiddler Everywhere Fiddler Classic Fiddler Everywhere Reporter FiddlerCore

    Free Tools

    KendoReact Free VB.NET to C# Converter Testing Framework
    View all products
  • Overview
  • Demos
    • What's New
    • Roadmap
    • Release History
  • Support and Learning

    • Support and Learning Hub
    • First Steps
    • Docs
    • Demos
    • Virtual Classroom
    • Forums
    • Videos
    • Blogs
    • Accessibility
    • Submit a Ticket

    Productivity and Design Tools

    • Visual Studio Extensions
    • Visual Studio Templates
    • Embedded Reporting
  • Pricing
  • Shopping cart
    • Account Overview
    • Your Licenses
    • Downloads
    • Support Center
    • Forum Profile
    • Payment Methods
    • Edit Profile
    • Log out
  • Login
  • Contact Us
  • Try now

Class RoutingBase

Base class for routing algorithms.

Inheritance
System.Object
RoutingBase
GridRouter
Inherited Members
System.Object.ToString()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
Namespace: Telerik.Windows.Diagrams.Core
Assembly: Telerik.WinControls.RadDiagram.dll

Syntax

public abstract class RoutingBase : IRouter

Constructors

RoutingBase(IGraphInternal)

Initializes a new instance of the RoutingBase class.

Declaration
protected RoutingBase(IGraphInternal graph)
Parameters
IGraphInternal graph

The graph.

Methods

ClockwiseMoveAroundEdgeOfShape(Point, IDiagramItem)

Given a point on the edge of a shape, this returns the middle point of the edge adjacent to it in the clockwise direction.

Declaration
protected static Point ClockwiseMoveAroundEdgeOfShape(Point point, IDiagramItem shape)
Parameters
Point point

The point on the edge of the shape.

IDiagramItem shape

The shape holding the point.

Returns
Point

Remarks

This method is called when the routing algorithm is unable to find a route from the given starting point and an alternative starting point at the edge of the shape is necessary.

FindCrossings(IConnection, ref Point, ref Point)

Finds the crossings.

Declaration
protected static void FindCrossings(IConnection connection, ref Point source, ref Point target)
Parameters
IConnection connection

The connection.

Point source

The source.

Point target

The target.

FindMostProbableTuple(IConnection)

Given the connection, the most probable start and end points are returned together with some additional points if necessary.

Declaration
protected static Tuple<Point, Point, Point, Point, Point, Point> FindMostProbableTuple(IConnection connection)
Parameters
IConnection connection

The connection which is being routed.

Returns
System.Tuple<Point, Point, Point, Point, Point, Point>

A tuple containing

  • the source point; this is the start point given by the connection
  • the intermediate start point: the point which is not necessarily on the grid but which forms the corner between the endpoint of the connection and the nearest grid point. It's defined by the place where the endpoint is located on the shape. If the endpoint is free (because the connection is free at that point) the intermediate endpoint is NaN.
  • the actual start point for the routing procedure
  • the end point of the routing procedure
  • the intermediate end point: analog as the intermediate start point.
  • the target point; this is the end or target point given by the connection.

GetRoutePoints(IConnection, Boolean)

Gets the route points.

Declaration
public abstract IList<Point> GetRoutePoints(IConnection connection, bool showLastLine = true)
Parameters
IConnection connection

The connection.

System.Boolean showLastLine

If set to true [show last line].

Returns
System.Collections.Generic.IList<Point>

Implements
IRouter.GetRoutePoints(IConnection, Boolean)

GetSector(Point, Rect)

Gets the sector.

Declaration
protected static Sector GetSector(Point point, Rect bounds)
Parameters
Point point

Rect bounds

Returns
Sector

PointIsInNeighborhoodOfShape(Point)

Returns whether the given point is in the neighborhood of a shape.

Declaration
protected bool PointIsInNeighborhoodOfShape(Point point)
Parameters
Point point

The point.

Returns
System.Boolean

PointIsInShape(Point)

Returns whether the given point resides in one of the shapes in the diagram.

Declaration
protected bool PointIsInShape(Point point)
Parameters
Point point

The point.

Returns
System.Boolean

Extension Methods

SvgExtentions.Traverse<T>(T, Func<T, IEnumerable<T>>)
SvgExtentions.TraverseDepthFirst<T>(T, Func<T, IEnumerable<T>>)
Getting Started
  • Install Now
  • Demos
  • Step-by-Step Tutorial
  • Sample Applications
  • SDK Samples
  • Visual Studio Extensions
Support Resources
  • Code Library
  • Knowledge Base
  • Videos
Community
  • Forums
  • Blogs
  • Feedback Portal
  • Document Processing Feedback Portal

Copyright © 2018 Progress Software Corporation and/or its subsidiaries or affiliates.
All Rights Reserved.

Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries. See Trademarks for appropriate markings.