FLGameCompanion/FLCompanionByDvurechensky/Models/DataEdge.cs
Dvurechensky d057fe2c33 1.0
Main
2024-10-05 07:50:50 +03:00

51 lines
3.2 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
}
}