51 lines
3.2 KiB
C#
51 lines
3.2 KiB
C#
|
using GraphX.Common.Models;
|
|||
|
|
|||
|
namespace WindowsFormsProject
|
|||
|
{
|
|||
|
/* DataEdge — это класс данных для ребер. Он содержит все данные о пользовательских краях, указанные пользователем.
|
|||
|
* Этот класс также должен быть производным от класса EdgeBase, который предоставляет свойства и методы, обязательные для
|
|||
|
* правильные операции GraphX.
|
|||
|
* Некоторые из полезных членов EdgeBase:
|
|||
|
* - Свойство ID, в котором хранится уникальный положительный идентификационный номер. Свойство должно быть заполнено пользователем.
|
|||
|
* - логическое свойство IsSelfLoop, указывающее, является ли это ребро самозацикленным (например, имеет идентичные вершины Target и Source)
|
|||
|
* — коллекция точек RoutingPoints, используемая для создания пути маршрутизации по краю. Если Null, то для рисования края будет использоваться прямая линия.
|
|||
|
* В большинстве случаев GraphX обрабатывает это автоматически.
|
|||
|
* - Исходное свойство, которое содержит исходную вершину ребра.
|
|||
|
* - Целевое свойство, которое содержит целевую вершину ребра.
|
|||
|
* - Свойство Weight, которое содержит необязательное значение веса ребра, которое можно использовать в некоторых алгоритмах компоновки.
|
|||
|
*/
|
|||
|
public class DataEdge : EdgeBase<DataVertex>
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// Конструктор по умолчанию. Нам нужно установить как минимум исходные и целевые свойства ребра.
|
|||
|
/// </summary>
|
|||
|
/// <param name="source">Исходные данные вершин</param>
|
|||
|
/// <param name="target">Данные целевой вершины</param>
|
|||
|
/// <param name="weight">Необязательный вес ребра</param>
|
|||
|
public DataEdge(DataVertex source, DataVertex target, double weight = 1)
|
|||
|
: base(source, target, weight)
|
|||
|
{
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Конструктор без параметров по умолчанию (для совместимости с сериализацией)
|
|||
|
/// </summary>
|
|||
|
public DataEdge()
|
|||
|
: base(null, null, 1)
|
|||
|
{
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Пользовательское строковое свойство, например
|
|||
|
/// </summary>
|
|||
|
public string Text { get; set; }
|
|||
|
|
|||
|
#region GET members
|
|||
|
public override string ToString()
|
|||
|
{
|
|||
|
return Text;
|
|||
|
}
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|