Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
SplineTo.cs
1using System.Threading.Tasks;
2using SkiaSharp;
3
5{
10 {
16 public SplineTo(Layout2DDocument Document, ILayoutElement Parent)
17 : base(Document, Parent)
18 {
19 }
20
24 public override string LocalName => "SplineTo";
25
32 public override ILayoutElement Create(Layout2DDocument Document, ILayoutElement Parent)
33 {
34 return new SplineTo(Document, Parent);
35 }
36
42 public virtual Task Measure(DrawingState State, PathState PathState)
43 {
44 if (this.defined)
46
47 return Task.CompletedTask;
48 }
49
56 public virtual Task Draw(DrawingState State, PathState PathState, SKPath Path)
57 {
58 if (this.defined)
59 this.splineCurve = PathState.SetSplineVertex(this.xCoordinate, this.yCoordinate);
60
61 return Task.CompletedTask;
62 }
63
68
76 public bool TryGetStart(out float X, out float Y, out float Direction)
77 {
78 if (this.splineCurve is null)
79 {
80 X = Y = Direction = 0;
81 return false;
82 }
83 else
84 return this.splineCurve.TryGetStart(out X, out Y, out Direction);
85 }
86
94 public bool TryGetEnd(out float X, out float Y, out float Direction)
95 {
96 if (this.splineCurve is null)
97 {
98 X = Y = Direction = 0;
99 return false;
100 }
101 else
102 return this.splineCurve.TryGetEnd(out X, out Y, out Direction);
103 }
104
105 }
106}
Contains a 2D layout document.
bool TryGetStart(out float X, out float Y, out float Direction)
Tries to get start position and initial direction.
Definition: PathSpline.cs:49
bool TryGetEnd(out float X, out float Y, out float Direction)
Tries to get end position and terminating direction.
Definition: PathSpline.cs:77
PathSpline SetSplineVertex(float X, float Y)
Sets a new spline vertex
Definition: PathState.cs:306
Draws a spline to a point, relative to the origio of the current container
Definition: SplineTo.cs:10
virtual Task Draw(DrawingState State, PathState PathState, SKPath Path)
Draws layout entities.
Definition: SplineTo.cs:56
override string LocalName
Local name of type of element.
Definition: SplineTo.cs:24
bool TryGetStart(out float X, out float Y, out float Direction)
Tries to get start position and initial direction.
Definition: SplineTo.cs:76
SplineTo(Layout2DDocument Document, ILayoutElement Parent)
Draws a spline to a point, relative to the origio of the current container
Definition: SplineTo.cs:16
bool TryGetEnd(out float X, out float Y, out float Direction)
Tries to get end position and terminating direction.
Definition: SplineTo.cs:94
virtual Task Measure(DrawingState State, PathState PathState)
Measures layout entities and defines unassigned properties.
Definition: SplineTo.cs:42
override ILayoutElement Create(Layout2DDocument Document, ILayoutElement Parent)
Creates a new instance of the layout element.
Definition: SplineTo.cs:32
bool defined
If element is well-defined.
Abstract base class for layout elements with one point.
Definition: Point.cs:11
float yCoordinate
Measured Y-coordinate
Definition: Point.cs:122
float xCoordinate
Measured X-coordinate
Definition: Point.cs:117
Interface for directed elements.
Base interface for all layout elements.