TweenAnimationModel.cs
3.5 KB
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TheMachine.Model;
namespace AGVMapDemo.DemoModel
{
public class TweenAnimationModel
{
public uint CTUID { get; set; }
public CTUPointCode PrePoint { get; set; }
public CTUPointCode CurrPoint { get; set; }
public DateTime PreTime { get; set; }
public DateTime CurrTime { get; set; }
public DateTime UILaterTime { get; set; }
private float CTU_RunTime
{
get
{
float value = 0;
if (PreTime != DateTime.MinValue && CurrTime != DateTime.MinValue)
{
value = (float)(CurrTime - PreTime).TotalMilliseconds;
}
return value;
}
set
{
}
}
//public double CTU_Time()
//{
// if (PreTime != null&& CurrTime!=null)
// {
// CTU_RunTime = (PreTime - CurrTime).TotalMilliseconds;
// }
// else { CTU_RunTime = 0; }
// return CTU_RunTime;
//}
private float CTU_Speed
{
get
{
float distance = 0;
float Speed = 0;
if (PrePoint != null && CurrPoint != null && CTU_RunTime != 0)
{
distance =(float) Math.Sqrt(Math.Pow(CurrPoint.X - PrePoint.X, 2) + Math.Pow(CurrPoint.Y - PrePoint.Y, 2));
Speed = (float)Math.Round(distance / CTU_RunTime, 2);
}
return Speed;
}
}
private float UIUpdateTime
{
get
{
float value = 0;
if (UILaterTime != DateTime.MinValue)
{
value = (float) (DateTime.Now - UILaterTime).TotalMilliseconds;
}
return value;
}
set { }
}
private float Factor
{
get
{
//float value = 0;
//value = Math.Min(UIUpdateTime * CTU_Speed, 1);
//return value;
float value = 0;
value = Math.Min((float)Math.Round(UIUpdateTime/ CTU_RunTime,2), 1);
return value;
}
set
{
}
}
private bool Stop
{
get
{
if (Factor >= 1)
{
return true;
}
else
{
return false;
}
}
set
{
}
}
public float AddX
{
get
{
float value = 0;
if (PrePoint != null && CurrPoint != null)
{
value = PrePoint.X+ Factor*(CurrPoint.X-PrePoint.X);
}
return value;
}
set
{
}
}
public float AddY
{
get
{
float value = 0;
if (PrePoint != null && CurrPoint != null)
{
value = PrePoint.Y + Factor * (CurrPoint.Y - PrePoint.Y);
}
return value;
}
set
{
}
}
}
}