/
Tweak.cs
49 lines (39 loc) · 1.29 KB
/
Tweak.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
using System.Collections.Generic;
namespace coil
{
public class Tweak
{
//tweak right or left
public bool Right { get; set; }
public LinkedListNode<Seg> SegNode { get; set; }
//steps into the segment to start
public int Len1 { get; set; }
//distance from the seg to go
public int Len2 { get; set; }
//distance to go parallel to the tweak
public int Len3 { get; set; }
public Dir Len2dir { get; set; }
//start==0
public bool ShortTweak{ get; set; }
//seg4==null
public bool LongTweak { get; set; }
public Tweak(LinkedListNode<Seg> segnode, bool right, int len1, int len2, int len3, Dir len2dir)
{
SegNode = segnode;
Right = right;
Len1 = len1;
Len2 = len2;
Len3 = len3;
Len2dir = len2dir;
ShortTweak = len1==0;
LongTweak = len1+len3==segnode.Value.Len;
}
public override string ToString()
{
var rstr = Right ? "R" : "L";
var sstr = ShortTweak ? "S" : "";
var lstr = LongTweak? "L" : "";
return $"{rstr} {Len1},{Len2},{Len3} {sstr}{lstr}";
}
}
}