skip navigation
  • Product Bundles

    DevCraft

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

    • NEW: Design Kits for Figma
    • Online Training
    • Document Processing Library
    • Embedded Reporting for web and desktop

    Web

    Kendo UI UI for jQuery UI for Angular UI for React UI for Vue 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 Test Studio Dev Edition Telerik JustMock

    CMS

    Sitefinity

    UI/UX Tools

    ThemeBuilder Design System Kit Templates and Building Blocks

    Debugging

    Fiddler Fiddler Everywhere Fiddler Classic Fiddler Everywhere Reporter FiddlerCore

    Free Tools

    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

Interface INode<TNode, TLink>

Graph analysis node description.

Namespace: Telerik.Windows.Diagrams.Core
Assembly: Telerik.Windows.Diagrams.Core.dll

Syntax

public interface INode<TNode, TLink>
    where TNode : INode<TNode, TLink> where TLink : IEdge<TNode, TLink>
Type Parameters
TNode

The type of the node.

TLink

The type of the link.

Properties

AllLinks

Gets all links bounds to this node.

Declaration
IList<TLink> AllLinks { get; }
Property Value
System.Collections.Generic.IList<TLink>

All links.

BoundingRectangle

Gets or sets the bounding rectangle.

Declaration
Rect BoundingRectangle { get; set; }
Property Value
System.Windows.Rect

The bounding rectangle.

Remarks

This defines the location as well as the size of the shape as a result of a layout process.

Children

Gets the children nodes attached to this node.

Declaration
IEnumerable<TNode> Children { get; }
Property Value
System.Collections.Generic.IEnumerable<TNode>

The children collection.

Remarks
  • A child is defined as the opposite node from an edge starting at this node.
  • If the graph is not directed this will return the same collection as the Children and the Neighbors property, i.e. all the nodes attached to the this node.
See Also
Parents
Neighbors

Degree

Returns the total number of links attached.

Declaration
int Degree { get; }
Property Value
System.Int32

See Also
AllLinks

Id

Gets or sets the (supposed unique) identifier.

Declaration
int Id { get; set; }
Property Value
System.Int32

The identifier of this node.

Incoming

Gets the incoming links, i.e. the links towards this node.

Declaration
IList<TLink> Incoming { get; }
Property Value
System.Collections.Generic.IList<TLink>

The incoming links.

IsDirected

Gets or sets a value indicating whether this node is part of directed graph.

Declaration
bool IsDirected { get; set; }
Property Value
System.Boolean

true if this instance is directed; otherwise, false.

IsRoot

Gets or sets whether this node is the root of a tree.

Declaration
bool IsRoot { get; set; }
Property Value
System.Boolean

true if this instance is root; otherwise, false.

Neighbors

Gets the nodes adjacent to this node, i.e. both the Parents and Children nodes.

Declaration
IEnumerable<TNode> Neighbors { get; }
Property Value
System.Collections.Generic.IEnumerable<TNode>

All the neighbors nodes of this node.

See Also
Parents
Children

Outgoing

Gets the outgoing links, i.e. the links leaving this node.

Declaration
IList<TLink> Outgoing { get; }
Property Value
System.Collections.Generic.IList<TLink>

The outgoing.

Parents

Gets the parent nodes attached to this node.

Declaration
IEnumerable<TNode> Parents { get; }
Property Value
System.Collections.Generic.IEnumerable<TNode>

The parent collection.

Remarks
  • A parent is defined as the opposite node from an edge ending at this node.
  • If the graph is not directed this will return the same collection as the Children and the Neighbors property, i.e. all the nodes attached to the this node.
See Also
Neighbors
Children

Methods

AddIncomingEdge(TLink)

Adds an incoming link.

Declaration
void AddIncomingEdge(TLink edge)
Parameters
TLink edge

The link to add.

AddOutgoingEdge(TLink)

Adds an outgoing link.

Declaration
void AddOutgoingEdge(TLink edge)
Parameters
TLink edge

The link to add.

Clone()

Returns a shallow copy of this node.

Declaration
TNode Clone()
Returns
TNode

RemoveIncomingEdge(TLink)

Removes an incoming edge.

Declaration
void RemoveIncomingEdge(TLink edge)
Parameters
TLink edge

The edge to remove.

RemoveLink(TLink)

Removes a link from this node.

Declaration
void RemoveLink(TLink link)
Parameters
TLink link

The link.

RemoveOutgoingEdge(TLink)

Removes the given outgoing edge.

Declaration
void RemoveOutgoingEdge(TLink edge)
Parameters
TLink edge

The edge to remove.

Extension Methods

CollectionExtensions.ToEnumerable<T>(T)
EnumerableExtensions.ToEnumerable<T>(T)

See Also

Edge<TNodeData, TLinkData>
Node<TNodeData, TLinkData>
Getting Started
  • Install Now
  • Demos
  • SDK Samples Browser
  • Sample Applications
Support Resources
  • Code Library
  • Knowledge Base
  • MVVM Support
  • Videos
  • GitHub SDK Repository
Community
  • Forums
  • Blogs
  • XAML 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.