Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
H
hemei
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
潘栩锋
hemei
Commits
c9c69005
Commit
c9c69005
authored
Oct 28, 2019
by
潘栩锋
🚴
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
正在编写自动查找旋转角度
parent
478d0284
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
249 additions
and
137 deletions
+249
-137
FLY.Thick.BlowingScan.UI.Client.csproj
...wingScan.UI.Client/FLY.Thick.BlowingScan.UI.Client.csproj
+0
-3
BlowingScanAnaylze.cs
...ick.BlowingScan.UI.Client/PgBlowing/BlowingScanAnaylze.cs
+142
-62
PgBufList.xaml
.../FLY.Thick.BlowingScan.UI.Client/PgBlowing/PgBufList.xaml
+107
-72
No files found.
Project.FLY.Thick.BlowingScan/FLY.Thick.BlowingScan.UI.Client/FLY.Thick.BlowingScan.UI.Client.csproj
View file @
c9c69005
...
...
@@ -398,9 +398,6 @@
<PackageReference
Include=
"NLog"
>
<Version>
4.6.7
</Version>
</PackageReference>
<PackageReference
Include=
"NLog.Config"
>
<Version>
4.6.7
</Version>
</PackageReference>
<PackageReference
Include=
"PropertyChanged.Fody"
>
<Version>
2.6.1
</Version>
</PackageReference>
...
...
Project.FLY.Thick.BlowingScan/FLY.Thick.BlowingScan.UI.Client/PgBlowing/BlowingScanAnaylze.cs
View file @
c9c69005
...
...
@@ -120,6 +120,18 @@ namespace FLY.Thick.BlowingScan.UI.Client
#
endregion
#
region
自动
/// <summary>
/// 旋转架转动角度 查找范围 ±25°
/// </summary>
public
int
RAngleRange
{
get
;
set
;
}
=
25
;
/// <summary>
/// 旋转架转动角度 查找范围 ±10m
/// </summary>
public
int
FilmLengthRange
{
get
;
set
;
}
=
10
;
#
endregion
BlowingAngleDetect
mAngleDetect
=
new
BlowingAngleDetect
();
...
...
@@ -151,6 +163,7 @@ namespace FLY.Thick.BlowingScan.UI.Client
return
idx
;
}
private
void
MarkNo_PropertyChanged
(
object
sender
,
PropertyChangedEventArgs
e
)
{
MarkData
markdata
=
sender
as
MarkData
;
...
...
@@ -160,20 +173,23 @@ namespace FLY.Thick.BlowingScan.UI.Client
if
(
idx
>=
0
)
{
markdata
.
IsValid
=
true
;
if
(!
ScanInfoList
[
idx
].
HasCast
)
//解方程
var
scanInfo
=
ScanInfoList
[
idx
];
var
flydata
=
mBufList
[
idx
];
if
(!
scanInfo
.
HasCast
)
//解方程
ToThicks_SolveEquation
(
idx
);
markdata
.
StartTime
=
ScanInfoList
[
idx
].
StartTime
;
markdata
.
ThicksDT
=
ScanInfoList
[
idx
].
ThicksDT
;
markdata
.
Thicks
=
ScanInfoList
[
idx
].
thicks
;
markdata
.
StartTime
=
scanInfo
.
StartTime
;
markdata
.
ThicksDT
=
scanInfo
.
ThicksDT
;
markdata
.
Thicks
=
scanInfo
.
thicks
;
markdata
.
R
=
scanInfo
.
R
;
markdata
.
Direction
=
ScanInfoList
[
idx
]
.
Direction
;
markdata
.
Border
=
mBufList
[
idx
]
.
FilmRange
;
markdata
.
PosOfGrid
=
mBufList
[
idx
]
.
PosOfGrid
;
markdata
.
Time
=
mBufList
[
idx
]
.
Time
;
markdata
.
OrgThicks
=
mBufList
[
idx
]
.
Thicks
;
markdata
.
Power
=
ScanInfoList
[
idx
]
.
power
;
markdata
.
AvgThicks
=
ScanInfoList
[
idx
]
.
thicks_avg
;
markdata
.
Direction
=
scanInfo
.
Direction
;
markdata
.
Border
=
flydata
.
FilmRange
;
markdata
.
PosOfGrid
=
flydata
.
PosOfGrid
;
markdata
.
Time
=
flydata
.
Time
;
markdata
.
OrgThicks
=
flydata
.
Thicks
;
markdata
.
Power
=
scanInfo
.
power
;
markdata
.
AvgThicks
=
scanInfo
.
thicks_avg
;
}
else
{
...
...
@@ -261,7 +277,7 @@ namespace FLY.Thick.BlowingScan.UI.Client
IsStep2Ing
=
false
;
return
;
}
GetSolveEquation
();
GetSolveEquation
(
RAngle
,
FilmLength
);
ClearAllResult
();
MarkNo1
.
Refresh
();
...
...
@@ -269,10 +285,35 @@ namespace FLY.Thick.BlowingScan.UI.Client
//ToThicks_SolveEquation();
IsStep2Ing
=
false
;
}
/// <summary>
/// 自动查找旋转角度
/// </summary>
public
void
StepAutoSearchRAngle
()
{
IsStep2Ing
=
true
;
if
(
mBufList
==
null
)
{
IsStep2Ing
=
false
;
return
;
}
int
idx1
=
GetIdxFromRList
(
MarkNo1
.
Number
);
int
idx2
=
GetIdxFromRList
(
MarkNo2
.
Number
);
if
(
idx1
>=
0
&&
idx2
>=
0
&&
idx1
!=
idx2
)
{
//TODO
GetSolveEquation
(
RAngle
,
FilmLength
);
ClearAllResult
();
double
r
;
bool
ret
=
TrySolveEquationAndGetR
(
idx1
,
idx2
,
out
r
);
}
IsStep2Ing
=
false
;
}
/// <summary>
/// 清除全部计算结果
/// </summary>
public
void
ClearAllResult
()
void
ClearAllResult
()
{
for
(
int
i
=
0
;
i
<
mBufList
.
Count
();
i
++)
{
...
...
@@ -446,9 +487,9 @@ namespace FLY.Thick.BlowingScan.UI.Client
/// <summary>
/// 第2步,修改 旋转角度,膜距离 执行, 耗时很短
/// </summary>
void
GetSolveEquation
()
void
GetSolveEquation
(
double
rAngle
,
double
filmLength
)
{
mAngleDetect
.
RAngle
=
RAngle
;
mAngleDetect
.
RAngle
=
rAngle
;
//
RAngle;
//mAngleDetect.FilmLength = FilmLength;
//获取角度信息
for
(
int
i
=
0
;
i
<
mBufList
.
Count
();
i
++)
...
...
@@ -467,7 +508,7 @@ namespace FLY.Thick.BlowingScan.UI.Client
int
ret
=
mAngleDetect
.
GetFilmInfo
(
out
filminfo
,
scanpos
.
dt
,
f
.
FilmRange
.
Width
,
scanpos
.
pos
,
FilmLength
,
f
.
Velocity
);
scanpos
.
dt
,
f
.
FilmRange
.
Width
,
scanpos
.
pos
,
filmLength
,
f
.
Velocity
);
//FilmLength
//探头直径转为角度范围
double
sensor_angle
=
180.0
*
Sensor
/
f
.
FilmRange
.
Width
;
...
...
@@ -500,21 +541,25 @@ namespace FLY.Thick.BlowingScan.UI.Client
}
}
}
/// <summary>
/// 最后1步,解方程
/// </summary>
void
ToThicks_SolveEquation
()
{
for
(
int
i
=
0
;
i
<
mBufList
.
Count
();
i
++)
bool
TrySolveEquationAndGetR
(
int
scaninfo_idx0
,
int
scaninfo_idx1
,
out
double
r
)
{
ToThicks_SolveEquation
(
i
);
if
(
ToThicks_SolveEquation
(
scaninfo_idx0
)
&&
ToThicks_SolveEquation
(
scaninfo_idx1
))
{
ScanInfoCell
scaninfo0
=
ScanInfoList
[
scaninfo_idx0
];
ScanInfoCell
scaninfo1
=
ScanInfoList
[
scaninfo_idx1
];
r
=
Misc
.
MyMath
.
Correl
(
scaninfo0
.
thicks
,
scaninfo1
.
thicks
);
return
true
;
}
else
{
r
=
-
1
;
return
false
;
MarkNo1
.
Refresh
();
MarkNo2
.
Refresh
();
}
}
bool
ToThicks_SolveEquation
(
int
scaninfo_idx
)
{
ScanInfoCell
scaninfo
=
ScanInfoList
[
scaninfo_idx
];
...
...
@@ -600,46 +645,84 @@ namespace FLY.Thick.BlowingScan.UI.Client
scaninfo
.
State
=
ScanInfoCell
.
STATE
.
Err_Solve
;
return
false
;
}
SolveEquation
(
equationlist
,
ScanInfoList
[
scaninfo_idx
].
thic
ks
);
int
[]
thks
=
scaninfo
.
thicks
;
SolveEquation
(
equationlist
,
th
ks
);
//2105 条方程,耗时 0.3s
//SolveEquation(equationlist, ScanInfoList[scaninfo_idx].thicks);
//不能有任何一个NULL_VALUE
for
(
int
i
=
0
;
i
<
scaninfo
.
thicks
.
Count
();
i
++)
if
(!
Misc
.
MyBase
.
ISVALIDATA
(
scaninfo
.
thicks
[
i
]))
if
(
thks
.
Any
(
thk
=>
!
Misc
.
MyBase
.
ISVALIDATA
(
thk
)))
return
false
;
if
(
Smooth
>
0
)
SmoothFrame
(
thks
,
Smooth
);
scaninfo
.
R
=
SingleR
(
equationlist
,
thks
);
scaninfo
.
ThicksDT
=
ScanInfoList
[
scaninfo_idx
-
(
SolveCnt
-
1
)].
StartTime
;
return
true
;
}
/// <summary>
/// 平滑thks
/// </summary>
/// <param name="thks"></param>
/// <param name="smooth">平滑半径</param>
static
void
SmoothFrame
(
int
[]
thks
,
int
smooth
)
{
int
[]
data
=
new
int
[
scaninfo
.
thicks
.
Count
()];
for
(
int
i
=
0
;
i
<
scaninfo
.
thicks
.
Count
();
i
++)
if
(
smooth
>
0
)
{
int
[]
data
=
new
int
[
thks
.
Count
()];
for
(
int
i
=
0
;
i
<
thks
.
Count
();
i
++)
{
int
sum
=
0
;
for
(
int
j
=
0
;
j
<
(
S
mooth
*
2
+
1
);
j
++)
for
(
int
j
=
0
;
j
<
(
s
mooth
*
2
+
1
);
j
++)
{
int
index
=
i
+
j
-
S
mooth
;
int
index
=
i
+
j
-
s
mooth
;
if
(
index
<
0
)
index
+=
scaninfo
.
thic
ks
.
Count
();
else
if
(
index
>=
scaninfo
.
thic
ks
.
Count
())
index
-=
scaninfo
.
thic
ks
.
Count
();
sum
+=
scaninfo
.
thic
ks
[
index
];
index
+=
th
ks
.
Count
();
else
if
(
index
>=
th
ks
.
Count
())
index
-=
th
ks
.
Count
();
sum
+=
th
ks
[
index
];
}
data
[
i
]
=
(
int
)(
sum
/
(
S
mooth
*
2
+
1
));
data
[
i
]
=
(
int
)(
sum
/
(
s
mooth
*
2
+
1
));
}
Array
.
Copy
(
data
,
scaninfo
.
thicks
,
data
.
Count
());
Array
.
Copy
(
data
,
thks
,
thks
.
Count
());
}
scaninfo
.
ThicksDT
=
ScanInfoList
[
scaninfo_idx
-
(
SolveCnt
-
1
)].
StartTime
;
return
true
;
}
/// <summary>
/// 计算方程每个原始数据 与 结果的一致性
/// </summary>
/// <param name="equationList"></param>
/// <param name="frame_out"></param>
/// <returns></returns>
static
double
SingleR
(
List
<
EquationCell
>
equationList
,
int
[]
frame_out
)
{
List
<
int
>
calThks
=
new
List
<
int
>();
List
<
int
>
actThks
=
new
List
<
int
>();
foreach
(
EquationCell
ec
in
equationList
)
{
double
[]
datas
=
ec
.
GetPower
(
frame_out
.
Count
());
double
sum
=
0
;
double
cnt
=
0
;
foreach
(
var
kv
in
ec
.
boltPower
)
{
sum
+=
frame_out
[
kv
.
Key
]
*
kv
.
Value
;
cnt
+=
frame_out
[
kv
.
Key
];
}
if
(
cnt
>
0
)
{
int
totalThk
=
(
int
)(
sum
/
cnt
);
calThks
.
Add
(
totalThk
);
actThks
.
Add
(
ec
.
thick
);
}
}
return
Misc
.
MyMath
.
Correl
(
calThks
,
actThks
);
}
/// <summary>
/// 解方程
/// </summary>
...
...
@@ -698,18 +781,7 @@ namespace FLY.Thick.BlowingScan.UI.Client
#
region
两组数据
private
double
currR
=
-
1
;
public
double
CurrR
{
get
{
return
currR
;
}
set
{
if
(
currR
!=
value
)
{
currR
=
value
;
NotifyPropertyChanged
(
"CurrR"
);
}
}
}
public
double
CurrR
{
get
;
set
;
}
=
-
1
;
public
MarkData
MarkNo1
=
new
MarkData
();
public
MarkData
MarkNo2
=
new
MarkData
();
...
...
@@ -922,6 +994,10 @@ namespace FLY.Thick.BlowingScan.UI.Client
[
PropertyChanged
.
DoNotCheckEquality
]
public
int
[]
AvgThicks
{
get
;
set
;
}
/// <summary>
/// 方程数据与解方程后的结果相关性
/// </summary>
public
double
R
{
get
;
set
;
}
=
-
1
;
public
MarkData
()
{
...
...
@@ -1731,6 +1807,10 @@ namespace FLY.Thick.BlowingScan.UI.Client
/// </summary>
public
DateTime
ThicksDT
{
get
;
set
;
}
=
DateTime
.
MinValue
;
/// <summary>
/// thicks 与 方程列表 的相关性
/// </summary>
public
double
R
=
-
1
;
/// <summary>
/// 一幅数据
/// </summary>
...
...
Project.FLY.Thick.BlowingScan/FLY.Thick.BlowingScan.UI.Client/PgBlowing/PgBufList.xaml
View file @
c9c69005
...
...
@@ -191,23 +191,23 @@
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<StackPanel Orientation="Horizontal" Margin="5" x:Name="stackpanel_bmRangeCurr">
<TextBlock Style="{StaticResource
ResourceKey=
TextBlockStyle_FieldHeader2}" Text="当前范围:" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeader2}" Text="当前范围:" />
<StackPanel Orientation="Horizontal" >
<TextBlock Style="{StaticResource
ResourceKey=
TextBlockStyle_FieldContent_mm}" Text="'" VerticalAlignment="Top"/>
<TextBlock Style="{StaticResource
ResourceKey=
TextBlockStyle_FieldContent2}" Text="{Binding FirstBM}" />
<TextBlock Style="{StaticResource
ResourceKey=
TextBlockStyle_FieldContent_mm}" Text="'-'" VerticalAlignment="Top"/>
<TextBlock Style="{StaticResource
ResourceKey=
TextBlockStyle_FieldContent2}" Text="{Binding LastBM}" />
<TextBlock Style="{StaticResource
ResourceKey=
TextBlockStyle_FieldContent_mm}" Text="'" VerticalAlignment="Top" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldContent_mm}" Text="'" VerticalAlignment="Top"/>
<TextBlock Style="{StaticResource TextBlockStyle_FieldContent2}" Text="{Binding FirstBM}" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldContent_mm}" Text="'-'" VerticalAlignment="Top"/>
<TextBlock Style="{StaticResource TextBlockStyle_FieldContent2}" Text="{Binding LastBM}" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldContent_mm}" Text="'" VerticalAlignment="Top" />
</StackPanel>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="5" x:Name="stackpanel_bmRangeNewest">
<TextBlock Style="{StaticResource
ResourceKey=
TextBlockStyle_FieldHeader2}" Text="最新范围:" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeader2}" Text="最新范围:" />
<StackPanel Orientation="Horizontal" >
<TextBlock Style="{StaticResource
ResourceKey=
TextBlockStyle_FieldContent_mm}" Text="'" VerticalAlignment="Top" />
<TextBlock Style="{StaticResource
ResourceKey=
TextBlockStyle_FieldContent2}" Text="{Binding FirstBM}" />
<TextBlock Style="{StaticResource
ResourceKey=
TextBlockStyle_FieldContent_mm}" Text="'-'" VerticalAlignment="Top" />
<TextBlock Style="{StaticResource
ResourceKey=
TextBlockStyle_FieldContent2}" Text="{Binding LastBM}" />
<TextBlock Style="{StaticResource
ResourceKey=
TextBlockStyle_FieldContent_mm}" Text="'" VerticalAlignment="Top" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldContent_mm}" Text="'" VerticalAlignment="Top" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldContent2}" Text="{Binding FirstBM}" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldContent_mm}" Text="'-'" VerticalAlignment="Top" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldContent2}" Text="{Binding LastBM}" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldContent_mm}" Text="'" VerticalAlignment="Top" />
</StackPanel>
</StackPanel>
</StackPanel>
...
...
@@ -364,7 +364,7 @@
</TextBlock>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource
ResourceKey=
TextBoxStyle_FieldContent}" MinWidth="100" Text="{Binding Number}" />
<TextBox Style="{StaticResource TextBoxStyle_FieldContent}" MinWidth="100" Text="{Binding Number}" />
</StackPanel>
</StackPanel>
</Button>
...
...
@@ -376,25 +376,42 @@
</Button>
</StackPanel>
<StackPanel Orientation="Horizontal" Visibility="{Binding IsValid, Converter={StaticResource visbilityconv}}">
<StackPanel Visibility="{Binding IsValid, Converter={StaticResource visbilityconv}}">
<StackPanel Orientation="Horizontal">
<StackPanel Margin="5">
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeader2}" Text="旋转方向" />
<TextBlock>
<TextBlock.Style>
<Style BasedOn="{StaticResource TextBlockStyle_FieldContent2}" TargetType="TextBlock">
<Setter Property="Text" Value="正"/>
<Style.Triggers>
<DataTrigger Binding="{Binding Direction}" Value="{x:Static misc:DIRECTION.BACKWARD}">
<Setter Property="Text" Value="反"/>
</DataTrigger>
<DataTrigger Binding="{Binding Direction}" Value="{x:Static misc:DIRECTION.FIX}">
<Setter Property="Text" Value="转向"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="5">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeader2}" Text="旋转方向
" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeader2}" Text="测量时间
" />
<StackPanel Orientation="Horizontal">
<Grid>
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldContent2}" Text="正" Visibility="{Binding Direction, ConverterParameter={x:Static misc:DIRECTION.FORWARD}, Converter={StaticResource e2visconv}, Mode=OneWay}" />
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldContent2}" Text="反" Visibility="{Binding Direction, ConverterParameter={x:Static misc:DIRECTION.BACKWARD}, Converter={StaticResource e2visconv}, Mode=OneWay}" />
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldContent2}" Text="转向" Visibility="{Binding Direction, ConverterParameter={x:Static misc:DIRECTION.FIX}, Converter={StaticResource e2visconv}, Mode=OneWay}" />
</Grid>
<TextBlock Style="{StaticResource TextBlockStyle_FieldContent2}" Text="{Binding StartTime, StringFormat=\{0:HH:mm:ss\}}" />
</StackPanel>
</StackPanel>
</StackPanel>
<StackPanel Orientation="Horizontal">
<StackPanel Orientation="Vertical" Margin="5">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeader2}" Text="测量时间
" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeader2}" Text="自相关性
" />
<StackPanel Orientation="Horizontal">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldContent2}" Text="{Binding StartTime, StringFormat=\{0:HH:mm:ss\}}" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldContent2}" Text="{Binding R, StringFormat=\{0:F5\}}" />
</StackPanel>
</StackPanel>
</StackPanel>
</StackPanel>
</StackPanel>
<StackPanel x:Name="stackpanel_markno2" Orientation="Vertical" Grid.Column="1" >
<StackPanel Orientation="Horizontal">
...
...
@@ -414,7 +431,7 @@
</TextBlock>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource
ResourceKey=
TextBoxStyle_FieldContent}" MinWidth="100" Text="{Binding Number}" />
<TextBox Style="{StaticResource TextBoxStyle_FieldContent}" MinWidth="100" Text="{Binding Number}" />
</StackPanel>
</StackPanel>
</Button>
...
...
@@ -426,21 +443,39 @@
</Button>
</StackPanel>
<StackPanel Orientation="Horizontal" Visibility="{Binding IsValid, Converter={StaticResource visbilityconv}}">
<StackPanel Visibility="{Binding IsValid, Converter={StaticResource visbilityconv}}">
<StackPanel Orientation="Horizontal">
<StackPanel Margin="5">
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeader2}" Text="旋转方向" />
<TextBlock>
<TextBlock.Style>
<Style BasedOn="{StaticResource TextBlockStyle_FieldContent2}" TargetType="TextBlock">
<Setter Property="Text" Value="正"/>
<Style.Triggers>
<DataTrigger Binding="{Binding Direction}" Value="{x:Static misc:DIRECTION.BACKWARD}">
<Setter Property="Text" Value="反"/>
</DataTrigger>
<DataTrigger Binding="{Binding Direction}" Value="{x:Static misc:DIRECTION.FIX}">
<Setter Property="Text" Value="转向"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="5">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeader2}" Text="旋转方向
" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeader2}" Text="测量时间
" />
<StackPanel Orientation="Horizontal">
<Grid>
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldContent2}" Text="正" Visibility="{Binding Direction, ConverterParameter={x:Static misc:DIRECTION.FORWARD}, Converter={StaticResource e2visconv}, Mode=OneWay}" />
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldContent2}" Text="反" Visibility="{Binding Direction, ConverterParameter={x:Static misc:DIRECTION.BACKWARD}, Converter={StaticResource e2visconv}, Mode=OneWay}" />
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldContent2}" Text="转向" Visibility="{Binding Direction, ConverterParameter={x:Static misc:DIRECTION.FIX}, Converter={StaticResource e2visconv}, Mode=OneWay}" />
</Grid>
<TextBlock Style="{StaticResource TextBlockStyle_FieldContent2}" Text="{Binding StartTime, StringFormat=\{0:HH:mm:ss\}}" />
</StackPanel>
</StackPanel>
</StackPanel>
<StackPanel Orientation="Horizontal">
<StackPanel Orientation="Vertical" Margin="5">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeader2}" Text="测量时间
" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeader2}" Text="自相关性
" />
<StackPanel Orientation="Horizontal">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldContent2}" Text="{Binding StartTime, StringFormat=\{0:HH:mm:ss\}}" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldContent2}" Text="{Binding R, StringFormat=\{0:F5\}}" />
</StackPanel>
</StackPanel>
</StackPanel>
</StackPanel>
...
...
@@ -452,23 +487,23 @@
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<StackPanel Orientation="Vertical" Margin="5">
<TextBlock Style="{StaticResource
ResourceKey=
TextBlockStyle_FieldHeader2}" Text="相关性" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeader2}" Text="相关性" />
<StackPanel Orientation="Horizontal">
<TextBlock Style="{StaticResource
ResourceKey=TextBlockStyle_FieldContent}" Text="{Binding CurrR, StringFormat=\{0:F2
\}}" />
<TextBlock Style="{StaticResource
TextBlockStyle_FieldContent2}" Text="{Binding CurrR, StringFormat=\{0:F5
\}}" />
</StackPanel>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="5">
<TextBlock Style="{StaticResource
ResourceKey=
TextBlockStyle_FieldHeaderEditable}" Text="解方程数" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeaderEditable}" Text="解方程数" />
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource
ResourceKey=
TextBoxStyle_FieldContent}" Text="{Binding SolveCnt}" />
<TextBlock Style="{StaticResource
ResourceKey=
TextBlockStyle_FieldContent_mm}" Text="次"/>
<TextBox Style="{StaticResource TextBoxStyle_FieldContent}" Text="{Binding SolveCnt}" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldContent_mm}" Text="次"/>
</StackPanel>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="5">
<TextBlock Style="{StaticResource
ResourceKey=
TextBlockStyle_FieldHeaderEditable}" Text="平滑" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeaderEditable}" Text="平滑" />
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource
ResourceKey=
TextBoxStyle_FieldContent}" Text="{Binding Smooth}" />
<TextBlock Style="{StaticResource
ResourceKey=
TextBlockStyle_FieldContent_mm}" Text="分区"/>
<TextBox Style="{StaticResource TextBoxStyle_FieldContent}" Text="{Binding Smooth}" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldContent_mm}" Text="分区"/>
</StackPanel>
</StackPanel>
...
...
@@ -479,10 +514,10 @@
<StackPanel Orientation="Horizontal">
<StackPanel Orientation="Vertical" Margin="5">
<TextBlock Style="{StaticResource
ResourceKey=
TextBlockStyle_FieldHeaderEditable}" Text="膜距离" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeaderEditable}" Text="膜距离" />
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource
ResourceKey=
TextBoxStyle_FieldContent}" Text="{Binding FilmLength, StringFormat=\{0:F1\}}"/>
<TextBlock Style="{StaticResource
ResourceKey=
TextBlockStyle_FieldContent_mm}" Text="m" FontSize="15" />
<TextBox Style="{StaticResource TextBoxStyle_FieldContent}" Text="{Binding FilmLength, StringFormat=\{0:F1\}}"/>
<TextBlock Style="{StaticResource TextBlockStyle_FieldContent_mm}" Text="m" FontSize="15" />
</StackPanel>
</StackPanel>
<Button Click="button_left_Click" >
...
...
@@ -495,11 +530,11 @@
<StackPanel Orientation="Horizontal">
<StackPanel Orientation="Vertical" Margin="5">
<TextBlock Style="{StaticResource
ResourceKey=
TextBlockStyle_FieldHeaderEditable}" Text="旋转角度" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeaderEditable}" Text="旋转角度" />
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource
ResourceKey=
TextBoxStyle_FieldContent}" Text="{Binding RAngle}" />
<TextBlock Style="{StaticResource
ResourceKey=
TextBlockStyle_FieldContent_mm}" Text="°" VerticalAlignment="Top" />
<TextBox Style="{StaticResource TextBoxStyle_FieldContent}" Text="{Binding RAngle}" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldContent_mm}" Text="°" VerticalAlignment="Top" />
</StackPanel>
</StackPanel>
<Button Click="button_collapse_Click" >
...
...
@@ -511,7 +546,7 @@
</StackPanel>
<StackPanel Orientation="Vertical" >
<Button Style="{StaticResource
ResourceKey=
ButtonStyle2}" Width="auto" Click="button_solve_Click" FontSize="30">
<Button Style="{StaticResource ButtonStyle2}" Width="auto" Click="button_solve_Click" FontSize="30">
<Grid>
<TextBlock Text="更新参数"/>
<Grid HorizontalAlignment="Right" VerticalAlignment="Bottom" Margin="20" x:Name="grid_solveprogress" Visibility="{Binding IsRunning,Converter={StaticResource visbilityconv}}">
...
...
@@ -562,10 +597,10 @@
<StackPanel Orientation="Horizontal">
<StackPanel Orientation="Vertical" Margin="5">
<StackPanel Orientation="Horizontal">
<TextBlock Style="{StaticResource
ResourceKey=
TextBlockStyle_FieldHeader2}" Text="记录点" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeader2}" Text="记录点" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Style="{StaticResource
ResourceKey=
TextBlockStyle_FieldContent2}" MinWidth="100" Text="{Binding Number}" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldContent2}" MinWidth="100" Text="{Binding Number}" />
</StackPanel>
</StackPanel>
<Button Click="button_pre1_Click" >
...
...
@@ -578,19 +613,19 @@
</StackPanel>
<StackPanel Orientation="Horizontal" Visibility="{Binding IsValid, Converter={StaticResource visbilityconv}}">
<StackPanel Orientation="Vertical" Margin="5">
<TextBlock Style="{StaticResource
ResourceKey=
TextBlockStyle_FieldHeader2}" Text="旋转方向" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeader2}" Text="旋转方向" />
<StackPanel Orientation="Horizontal">
<Grid>
<TextBlock Style="{StaticResource
ResourceKey=
TextBlockStyle_FieldContent2}" Text="正" Visibility="{Binding Direction, ConverterParameter={x:Static misc:DIRECTION.FORWARD}, Converter={StaticResource e2visconv}, Mode=OneWay}" />
<TextBlock Style="{StaticResource
ResourceKey=
TextBlockStyle_FieldContent2}" Text="反" Visibility="{Binding Direction, ConverterParameter={x:Static misc:DIRECTION.BACKWARD}, Converter={StaticResource e2visconv}, Mode=OneWay}" />
<TextBlock Style="{StaticResource
ResourceKey=
TextBlockStyle_FieldContent2}" Text="转向" Visibility="{Binding Direction, ConverterParameter={x:Static misc:DIRECTION.FIX}, Converter={StaticResource e2visconv}, Mode=OneWay}" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldContent2}" Text="正" Visibility="{Binding Direction, ConverterParameter={x:Static misc:DIRECTION.FORWARD}, Converter={StaticResource e2visconv}, Mode=OneWay}" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldContent2}" Text="反" Visibility="{Binding Direction, ConverterParameter={x:Static misc:DIRECTION.BACKWARD}, Converter={StaticResource e2visconv}, Mode=OneWay}" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldContent2}" Text="转向" Visibility="{Binding Direction, ConverterParameter={x:Static misc:DIRECTION.FIX}, Converter={StaticResource e2visconv}, Mode=OneWay}" />
</Grid>
</StackPanel>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="5">
<TextBlock Style="{StaticResource
ResourceKey=
TextBlockStyle_FieldHeader2}" Text="测量时间" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeader2}" Text="测量时间" />
<StackPanel Orientation="Horizontal">
<TextBlock Style="{StaticResource
ResourceKey=
TextBlockStyle_FieldContent2}" Text="{Binding Time, StringFormat={}{0:HH:mm:ss}}" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldContent2}" Text="{Binding Time, StringFormat={}{0:HH:mm:ss}}" />
</StackPanel>
</StackPanel>
...
...
@@ -624,10 +659,10 @@
<StackPanel Orientation="Horizontal">
<StackPanel Orientation="Vertical" Margin="5">
<StackPanel Orientation="Horizontal">
<TextBlock Style="{StaticResource
ResourceKey=
TextBlockStyle_FieldHeader2}" Text="记录点" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeader2}" Text="记录点" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Style="{StaticResource
ResourceKey=
TextBlockStyle_FieldContent2}" MinWidth="100" Text="{Binding Number}" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldContent2}" MinWidth="100" Text="{Binding Number}" />
</StackPanel>
</StackPanel>
<Button Click="button_pre2_Click" >
...
...
@@ -640,19 +675,19 @@
</StackPanel>
<StackPanel Orientation="Horizontal" Visibility="{Binding IsValid, Converter={StaticResource visbilityconv}}">
<StackPanel Orientation="Vertical" Margin="5">
<TextBlock Style="{StaticResource
ResourceKey=
TextBlockStyle_FieldHeader2}" Text="旋转方向" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeader2}" Text="旋转方向" />
<StackPanel Orientation="Horizontal">
<Grid>
<TextBlock Style="{StaticResource
ResourceKey=
TextBlockStyle_FieldContent2}" Text="正" Visibility="{Binding Direction, ConverterParameter={x:Static misc:DIRECTION.FORWARD}, Converter={StaticResource e2visconv}, Mode=OneWay}" />
<TextBlock Style="{StaticResource
ResourceKey=
TextBlockStyle_FieldContent2}" Text="反" Visibility="{Binding Direction, ConverterParameter={x:Static misc:DIRECTION.BACKWARD}, Converter={StaticResource e2visconv}, Mode=OneWay}" />
<TextBlock Style="{StaticResource
ResourceKey=
TextBlockStyle_FieldContent2}" Text="转向" Visibility="{Binding Direction, ConverterParameter={x:Static misc:DIRECTION.FIX}, Converter={StaticResource e2visconv}, Mode=OneWay}" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldContent2}" Text="正" Visibility="{Binding Direction, ConverterParameter={x:Static misc:DIRECTION.FORWARD}, Converter={StaticResource e2visconv}, Mode=OneWay}" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldContent2}" Text="反" Visibility="{Binding Direction, ConverterParameter={x:Static misc:DIRECTION.BACKWARD}, Converter={StaticResource e2visconv}, Mode=OneWay}" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldContent2}" Text="转向" Visibility="{Binding Direction, ConverterParameter={x:Static misc:DIRECTION.FIX}, Converter={StaticResource e2visconv}, Mode=OneWay}" />
</Grid>
</StackPanel>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="5">
<TextBlock Style="{StaticResource
ResourceKey=
TextBlockStyle_FieldHeader2}" Text="测量时间" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeader2}" Text="测量时间" />
<StackPanel Orientation="Horizontal">
<TextBlock Style="{StaticResource
ResourceKey=
TextBlockStyle_FieldContent2}" Text="{Binding Time, StringFormat=\{0:HH:mm:ss\}}" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldContent2}" Text="{Binding Time, StringFormat=\{0:HH:mm:ss\}}" />
</StackPanel>
</StackPanel>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment