Aetheria/Assets/Scripts/NIH/MSAGL/DebugHelpers/DebugCurve.cs
hyperion51 01a956eef6 MSAGL Support
Added new tech tree layout implementation using Microsoft Automatic Graph Layouts
Added some functionality to the database editor tools
2020-04-14 00:42:04 +01:00

188 lines
8.4 KiB
C#

#if TEST_MSAGL
using System;
using Microsoft.Msagl.Core.Geometry.Curves;
using System.Diagnostics.CodeAnalysis;
namespace Microsoft.Msagl.DebugHelpers {
///<summary>
///</summary>
[Serializable]
public class DebugCurve : DebugShape {
/// <summary>
/// color transparency
/// </summary>
public byte Transparency { get; set; }
double width = 1;
///<summary>
///</summary>
public ICurve Curve { get; set; }
///<summary>
///</summary>
public double Width {
get { return width; }
set { width = value; }
}
///<summary>
///</summary>
///<param name="transparency"></param>
///<param name="width"></param>
///<param name="curve"></param>
///<param name="color"></param>
///<param name="id"></param>
public DebugCurve(byte transparency, double width, string color, ICurve curve, object id)
: this(width, color, curve, id) {
Transparency = transparency;
}
///<summary>
///</summary>
///<param name="transparency"></param>
///<param name="width"></param>
///<param name="curve"></param>
///<param name="color"></param>
///<param name="dashArray"></param>
public DebugCurve(byte transparency, double width, string color, ICurve curve, double [] dashArray)
: this(width, color, curve, null) {
Transparency = transparency;
DashArray = dashArray;
}
///<summary>
///</summary>
///<param name="transparency"></param>
///<param name="width"></param>
///<param name="curve"></param>
///<param name="color"></param>
public DebugCurve(byte transparency, double width, string color, ICurve curve)
: this(width, color, curve, null)
{
Transparency = transparency;
}
/// <summary>
/// </summary>
/// <param name="transparency"></param>
/// <param name="width"></param>
/// <param name="color"></param>
/// <param name="fillColor"></param>
/// <param name="curve"></param>
public DebugCurve(byte transparency, double width, string color, string fillColor, ICurve curve)
: this(width, color, fillColor, curve, null) {
Transparency = transparency;
}
///<summary>
///</summary>
///<param name="width"></param>
///<param name="color"></param>
///<param name="curve"></param>
public DebugCurve(double width, string color, ICurve curve):this(width,color,curve,null)
{
}
///<summary>
///</summary>
///<param name="width"></param>
///<param name="color"></param>
///<param name="curve"></param>
///<param name="id"></param>
public DebugCurve(double width, string color, ICurve curve, object id) {
Transparency = 255;
Width = width;
Color = color;
Curve = curve;
Label = id;
}
/// <summary>
/// </summary>
/// <param name="width"></param>
/// <param name="color"></param>
/// <param name="fillColor"></param>
/// <param name="curve"></param>
/// <param name="id"></param>
public DebugCurve(double width, string color,string fillColor, ICurve curve, object id): this(width, color, curve, null) {
FillColor = fillColor;
}
///<summary>
///</summary>
public object Label { get; set; }
///<summary>
///</summary>
///<param name="curve"></param>
///<param name="color"></param>
public DebugCurve(string color, ICurve curve):this(1, color, curve, null){}
///<summary>
///</summary>
///<param name="curve"></param>
///<param name="pen"></param>
public DebugCurve(double pen, ICurve curve) : this(pen, "black", curve, null){}
///<summary>
///</summary>
///<param name="curve"></param>
///<param name="id"></param>
public DebugCurve(ICurve curve, object id) : this(1, "black", curve, id) { }
///<summary>
///</summary>
///<param name="color"></param>
///<param name="curve"></param>
///<param name="id"></param>
public DebugCurve(string color, ICurve curve, object id) : this(1, color, curve, id) { }
///<summary>
///</summary>
///<param name="curve"></param>
public DebugCurve(ICurve curve) : this(1, "black", curve, null) { }
/// <summary>
/// color strings for debugging
/// </summary>
[SuppressMessage("Microsoft.Security", "CA2105:ArrayFieldsShouldNotBeReadOnly")]
public static readonly string[] Colors = {
"DeepSkyBlue", "IndianRed", "Orange", "Gold", "DarkRed", "Plum",
"Red", "Violet", "Indigo", "Yellow", "OrangeRed", "Tomato", "Purple"
, "SaddleBrown", "Green", "Navy", "Aqua", "Pink", "Bisque", "Black",
"BlanchedAlmond", "Blue", "BlueViolet", "Brown", "Lime", "BurlyWood"
, "Chocolate", "Coral", "CornflowerBlue", "Cornsilk", "Crimson",
"Cyan", "CadetBlue", "Chartreuse", "DarkBlue", "DarkCyan",
"DarkGoldenrod", "DarkGray", "DarkGreen", "DarkKhaki", "DarkMagenta"
, "DarkOliveGreen", "DarkOrange", "DarkOrchid", "DarkSalmon",
"DarkSeaGreen", "DarkSlateBlue", "DarkSlateGray", "DarkTurquoise",
"DarkViolet", "DeepPink", "DimGray", "DodgerBlue", "Firebrick",
"FloralWhite", "ForestGreen", "Fuchsia", "CodeAnalysis", "Gainsboro"
, "GhostWhite", "Goldenrod", "Gray", "GreenYellow", "Honeydew",
"HotPink", "Ivory", "Lavender", "LavenderBlush", "LawnGreen",
"LemonChiffon", "LightBlue", "LightCoral", "LightCyan",
"LightGoldenrodYellow", "LightGray", "LightGreen", "LightPink",
"LightSalmon", "LightSeaGreen", "LightSkyBlue", "LightSlateGray",
"LightSteelBlue", "LightYellow", "LimeGreen", "Linen", "Magenta",
"Maroon", "MediumAquamarine", "MediumBlue", "MediumOrchid",
"MediumPurple", "MediumSeaGreen", "MediumSlateBlue",
"MediumSpringGreen", "MediumTurquoise", "MediumVioletRed",
"MidnightBlue", "MintCream", "MistyRose", "Moccasin", "NavajoWhite",
"OldLace", "Olive", "OliveDrab", "Orchid", "PaleGoldenrod",
"PaleGreen", "PaleTurquoise", "PaleVioletRed", "PapayaWhip",
"PeachPuff", "Peru", "PowderBlue", "RosyBrown", "RoyalBlue",
"Salmon", "SandyBrown", "SeaGreen", "CodeAnalysis", "SeaShell",
"Sienna", "Silver", "SkyBlue", "SlateBlue", "SlateGray", "Snow",
"SpringGreen", "SteelBlue", "Tan", "Teal", "Thistle", "Transparent",
"Turquoise", "Aquamarine", "Azure", "Beige", "Wheat", "White",
"WhiteSmoke", "YellowGreen", "Khaki", "AntiqueWhite"
};
///<summary>
/// the pattern of dashes
///</summary>
public double [] DashArray;
}
}
#endif