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
7969fb3b
Commit
7969fb3b
authored
Feb 29, 2020
by
540597360@qq.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix bugs
parent
9baaa760
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
477 additions
and
563 deletions
+477
-563
Page_HeatDetector.xaml
....Fix/FLY.HeatingHelper.UI/UIModule/Page_HeatDetector.xaml
+1
-89
Page_HeatDetector.xaml.cs
...x/FLY.HeatingHelper.UI/UIModule/Page_HeatDetector.xaml.cs
+210
-327
UC_AirRingShift.xaml.cs
...Fix/FLY.HeatingHelper.UI/UIModule/UC_AirRingShift.xaml.cs
+31
-42
UC_FrameDiffViewModel.cs
...ix/FLY.HeatingHelper.UI/UIModule/UC_FrameDiffViewModel.cs
+4
-4
UC_FramePicker.xaml
...yst.Fix/FLY.HeatingHelper.UI/UIModule/UC_FramePicker.xaml
+4
-2
UC_FramePicker.xaml.cs
....Fix/FLY.HeatingHelper.UI/UIModule/UC_FramePicker.xaml.cs
+47
-13
UC_HeatBoltAnalystViewModel.cs
....HeatingHelper.UI/UIModule/UC_HeatBoltAnalystViewModel.cs
+2
-19
AlarmZone.cs
.../FLY.HeatingHelper.UI/UIModule/UC_SelectData/AlarmZone.cs
+36
-20
UC_SelectData.xaml
...eatingHelper.UI/UIModule/UC_SelectData/UC_SelectData.xaml
+14
-6
UC_SelectData.xaml.cs
...ingHelper.UI/UIModule/UC_SelectData/UC_SelectData.xaml.cs
+5
-0
ViewModel_UC_SelectData.cs
...lper.UI/UIModule/UC_SelectData/ViewModel_UC_SelectData.cs
+34
-3
IThickHeatData.cs
....ThickHeatAnalyst.Fix/FLY.HeatingHelper/IThickHeatData.cs
+13
-5
ThickHeatData.cs
...Y.ThickHeatAnalyst.Fix/FLY.HeatingHelper/ThickHeatData.cs
+76
-33
No files found.
Project.FLY.ThickHeatAnalyst.Fix/FLY.HeatingHelper.UI/UIModule/Page_HeatDetector.xaml
View file @
7969fb3b
...
...
@@ -172,95 +172,7 @@
</StackPanel>
</StackPanel >
<TabControl Name="tc1" Style="{DynamicResource TabControlStyle_ABC}" >
<TabItem Header="数据选择" Style="{DynamicResource TabItemStyle1}" x:Name="tabitem_dataChoose">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<DockPanel>
<DockPanel.Resources>
<Style x:Key="tb_style1" TargetType="TextBlock">
<Setter Property="FontSize" Value="16"/>
</Style>
</DockPanel.Resources>
<StackPanel Orientation="Vertical" Margin="5">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeader2}" Text="数据库覆盖时间:" />
<StackPanel Orientation="Horizontal">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldContent2}" Text="{Binding DBFrom, StringFormat={}{0:s}}" />
<TextBlock Text="-" FontSize="15"/>
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldContent2}" Text="{Binding DBTo, StringFormat={}{0:s}}" />
</StackPanel>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="5">
<StackPanel Orientation="Horizontal">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeader2}" Text="设定数据范围:" />
<CheckBox x:Name="default_cb" Content="缺省范围"
FontSize="16"
Margin="2"
IsChecked="{Binding IsDefault}"
Click="Default_cb_Click"/>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldContent2}" Text="{Binding DataFrom, StringFormat={}{0:MM/dd/yyyy HH:mm:ss}}" />
<TextBlock Text="-" FontSize="15"/>
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldContent2}" Text="{Binding DataTo, StringFormat={}{0:s}}" />
</StackPanel>
</StackPanel>
<Button Background="Aquamarine" Click="Button_Click_1" Height="47" Margin="5,0,5,5" Width="68">
<TextBlock Text="按厚度选择Pre" FontSize="13" TextWrapping="Wrap" HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Button>
<Button Background="Aquamarine" Click="Button_Click_2" Height="47" Margin="5,0,5,5" Width="68">
<TextBlock Text="按厚度选择Nxt" FontSize="13" TextWrapping="Wrap" HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Button>
<Button BorderBrush="Blue"
BorderThickness="2" Content="下一步" Margin="5"
Background="Aquamarine"
Click="Button_Click"/>
</DockPanel>
<Border Grid.Row="1">
<lvc:CartesianChart x:Name="myChart" Series="{Binding MySeries}"
DisableAnimations="True"
Hoverable="False"
DataTooltip="{x:Null}"
LegendLocation="Top"
FontSize="20"
Margin="2,2,2,2"
MouseDown="MyChart_MouseDown"
MouseUp="MyChart_MouseUp"
MouseMove="MyChart_MouseMove"
MouseLeftButtonDown="MyChart_MouseLeftButtonDown">
<lvc:CartesianChart.VisualElements>
<lvc:VisualElement x:Name="ve1" HorizontalAlignment="Right" VerticalAlignment="Bottom" X="{Binding RX}" Y="{Binding RY}">
<lvc:VisualElement.UIElement>
<Rectangle Opacity="0.4"
Visibility="Visible"
Fill="DodgerBlue"
Height="{Binding RH}"
Width="{Binding RW}"/>
</lvc:VisualElement.UIElement>
</lvc:VisualElement>
</lvc:CartesianChart.VisualElements>
<lvc:CartesianChart.AxisY>
<lvc:Axis Foreground="DodgerBlue" Title="厚度">
</lvc:Axis>
<lvc:Axis x:Name="yax2" Foreground="IndianRed" Position="RightTop" Title="2Sigma">
<lvc:Axis.Separator>
<lvc:Separator IsEnabled="False"></lvc:Separator>
</lvc:Axis.Separator>
</lvc:Axis>
</lvc:CartesianChart.AxisY>
<lvc:CartesianChart.AxisX>
<lvc:Axis LabelFormatter="{Binding Formatter}"/>
</lvc:CartesianChart.AxisX>
</lvc:CartesianChart>
</Border>
</Grid>
</TabItem>
<TabItem Header="数据选择new" Style="{DynamicResource TabItemStyle1}">
<TabItem Header="数据选择" Style="{DynamicResource TabItemStyle1}">
<local1:UC_SelectData/>
</TabItem>
<TabItem Header="风环偏转" Style="{DynamicResource TabItemStyle1}" x:Name="tabitem_ringShift">
...
...
Project.FLY.ThickHeatAnalyst.Fix/FLY.HeatingHelper.UI/UIModule/Page_HeatDetector.xaml.cs
View file @
7969fb3b
This diff is collapsed.
Click to expand it.
Project.FLY.ThickHeatAnalyst.Fix/FLY.HeatingHelper.UI/UIModule/UC_AirRingShift.xaml.cs
View file @
7969fb3b
...
...
@@ -172,27 +172,30 @@ namespace FLY.HeatingHelper.UI.UIModule
public
void
Init
(
object
dat
)
{
_data
=
dat
as
IThickHeatData
;
var
tmpVM
=
ViewModel_HeatDetector
.
Instance
;
vm1
.
InitData
(
dat
,
tmpVM
.
Selected_Idx_From
,
tmpVM
.
Selected_Idx_To
);
vm2
.
InitData
(
dat
,
tmpVM
.
Selected_Idx_From
,
tmpVM
.
Selected_Idx_To
);
UpdateData
(
1
);
UpdateData
(
2
);
UpdateVarChart
();
//var tmpVM = ViewModel_HeatDetector.Instance;
//vm1.InitData(dat, tmpVM.Selected_Idx_From, tmpVM.Selected_Idx_To);
//vm2.InitData(dat, tmpVM.Selected_Idx_From, tmpVM.Selected_Idx_To);
vm1
.
InitData
(
_data
);
vm2
.
InitData
(
_data
);
}
public
void
Loaded
(
object
s
)
{
var
tmpVM
=
ViewModel_HeatDetector
.
Instance
;
tmpVM
.
PropertyChanged
+=
DataSelecter_PropertyChanged
;
vm2
.
SelectedFrame
=
vm2
.
MaxFrame
;
//var tmpVM = ViewModel_HeatDetector.Instance;
//tmpVM.PropertyChanged += DataSelecter_PropertyChanged;
vm1
.
OnLoaded
(
true
);
vm2
.
OnLoaded
();
vm1
.
UpdateChart
();
vm2
.
UpdateChart
();
UpdateData
(
1
);
UpdateData
(
2
);
UpdateVarChart
();
}
public
void
UnLoaded
(
object
s
)
{
var
tmpVM
=
ViewModel_HeatDetector
.
Instance
;
tmpVM
.
PropertyChanged
-=
DataSelecter_PropertyChanged
;
//
var tmpVM = ViewModel_HeatDetector.Instance;
//
tmpVM.PropertyChanged -= DataSelecter_PropertyChanged;
}
private
double
[]
vth1
;
...
...
@@ -205,20 +208,6 @@ namespace FLY.HeatingHelper.UI.UIModule
private
int
resetBolt2
;
private
double
[]
correls
;
private
void
DataSelecter_PropertyChanged
(
object
s
,
PropertyChangedEventArgs
e
)
{
if
(
e
.
PropertyName
==
"Selected_Idx_From"
)
{
vm1
.
MinFrame
=
(
s
as
ViewModel_HeatDetector
).
Selected_Idx_From
;
vm2
.
MinFrame
=
vm1
.
MinFrame
;
}
if
(
e
.
PropertyName
==
"Selected_Idx_To"
)
{
vm1
.
MaxFrame
=
(
s
as
ViewModel_HeatDetector
).
Selected_Idx_To
;
vm2
.
MaxFrame
=
vm1
.
MaxFrame
;
}
}
private
void
PickerVM_PropertyChanged
(
object
s
,
PropertyChangedEventArgs
e
)
{
if
(
e
.
PropertyName
==
"SelectedFrame"
)
...
...
@@ -247,17 +236,17 @@ namespace FLY.HeatingHelper.UI.UIModule
switch
(
whichframe
)
{
case
1
:
vth1
=
_data
.
GetThicks
(
vm1
.
SelectedFrame
,
vm2
.
ResetBolt
,
RotAngle
);
vheat1
=
_data
.
GetHeats
(
vm1
.
SelectedFrame
,
-
1
,
-
1
);
resetBolt1
=
_data
.
GetResetBolt
(
vm1
.
SelectedFrame
);
rotAngle1
=
_data
.
GetRotAngle
(
vm1
.
SelectedFrame
);
vth1
=
_data
.
GetThicks
ByIndex
(
vm1
.
SelectedFrame
,
vm2
.
ResetBolt
,
RotAngle
);
vheat1
=
_data
.
GetHeats
ByIndex
(
vm1
.
SelectedFrame
,
-
1
,
-
1
);
resetBolt1
=
_data
.
GetResetBolt
ByIndex
(
vm1
.
SelectedFrame
);
rotAngle1
=
_data
.
GetRotAngle
ByIndex
(
vm1
.
SelectedFrame
);
break
;
case
2
:
vth2
=
_data
.
GetThicks
(
vm2
.
SelectedFrame
,
vm2
.
ResetBolt
,
RotAngle
);
vth1
=
_data
.
GetThicks
(
vm1
.
SelectedFrame
,
vm2
.
ResetBolt
,
RotAngle
);
vheat2
=
_data
.
GetHeats
(
vm2
.
SelectedFrame
,
-
1
,
-
1
);
resetBolt2
=
_data
.
GetResetBolt
(
vm2
.
SelectedFrame
);
rotAngle2
=
_data
.
GetRotAngle
(
vm2
.
SelectedFrame
);
vth2
=
_data
.
GetThicks
ByIndex
(
vm2
.
SelectedFrame
,
vm2
.
ResetBolt
,
RotAngle
);
vth1
=
_data
.
GetThicks
ByIndex
(
vm1
.
SelectedFrame
,
vm2
.
ResetBolt
,
RotAngle
);
vheat2
=
_data
.
GetHeats
ByIndex
(
vm2
.
SelectedFrame
,
-
1
,
-
1
);
resetBolt2
=
_data
.
GetResetBolt
ByIndex
(
vm2
.
SelectedFrame
);
rotAngle2
=
_data
.
GetRotAngle
ByIndex
(
vm2
.
SelectedFrame
);
break
;
default
:
return
;
...
...
@@ -276,8 +265,8 @@ namespace FLY.HeatingHelper.UI.UIModule
/// <returns></returns>
private
bool
UpdateThickData
()
{
vth1
=
_data
.
GetThicks
(
vm1
.
SelectedFrame
,
vm2
.
ResetBolt
,
RotAngle
);
vth2
=
_data
.
GetThicks
(
vm2
.
SelectedFrame
,
vm2
.
ResetBolt
,
RotAngle
);
vth1
=
_data
.
GetThicks
ByIndex
(
vm1
.
SelectedFrame
,
vm2
.
ResetBolt
,
RotAngle
);
vth2
=
_data
.
GetThicks
ByIndex
(
vm2
.
SelectedFrame
,
vm2
.
ResetBolt
,
RotAngle
);
if
((
vth1
==
null
)
||
(
vth2
==
null
)
||
(
vheat1
==
null
)
||
(
vheat2
==
null
))
{
return
false
;
...
...
@@ -363,7 +352,7 @@ namespace FLY.HeatingHelper.UI.UIModule
if
(
s
==
int
.
MaxValue
)
{
AirRingShift
=
0
;
//ResetBolt = _data.GetResetBolt(vm1.SelectedFrame);
//ResetBolt = _data.GetResetBolt
ByID
(vm1.SelectedFrame);
return
;
}
else
...
...
@@ -376,7 +365,7 @@ namespace FLY.HeatingHelper.UI.UIModule
{
if
(
double
.
IsNaN
(
angle
))
{
RotAngle
=
_data
.
GetRotAngle
(
vm1
.
SelectedFrame
);
RotAngle
=
_data
.
GetRotAngle
ByIndex
(
vm1
.
SelectedFrame
);
return
;
}
else
...
...
@@ -392,8 +381,7 @@ namespace FLY.HeatingHelper.UI.UIModule
public
void
SearchAngle
()
{
var
tmp
=
_data
.
SearchMaxSimilarity
(
_data
.
GetIndexFromID
(
vm1
.
SelectedFrame
),
_data
.
GetIndexFromID
(
vm2
.
SelectedFrame
),
15
,
true
);
var
tmp
=
_data
.
SearchMaxSimilarity
(
vm1
.
SelectedFrame
,
vm2
.
SelectedFrame
,
15
,
true
);
RotAngle
=
tmp
.
Item3
+
vm1
.
RotAngle
;
TandH_Corel
=
tmp
.
Item2
;
AirRingShift
=
tmp
.
Item1
;
...
...
@@ -428,8 +416,9 @@ namespace FLY.HeatingHelper.UI.UIModule
},
(
o
,
e
)
=>
{
int
rb
=
_data
.
GetResetBolt
(
result
.
frameIdx2
);
double
ra
=
_data
.
GetRotAngle
(
result
.
frameIdx2
);
if
(
result
.
frameIdx1
<
0
||
result
.
frameIdx2
<
0
)
return
;
int
rb
=
_data
.
GetResetBoltByIndex
(
result
.
frameIdx2
);
double
ra
=
_data
.
GetRotAngleByIndex
(
result
.
frameIdx2
);
SearchProgressValue
=
0
;
SearchEnabled
=
true
;
vm2
.
SelectedFrame
=
result
.
frameIdx1
;
...
...
Project.FLY.ThickHeatAnalyst.Fix/FLY.HeatingHelper.UI/UIModule/UC_FrameDiffViewModel.cs
View file @
7969fb3b
...
...
@@ -44,10 +44,10 @@ namespace FLY.HeatingHelper.UI.UIModule
{
return
;
}
thick1
=
Vector
<
double
>.
Build
.
DenseOfArray
(
mdata
.
GetThicks
(
FrameIdx1
,
-
1
,
-
1
));
thick2
=
Vector
<
double
>.
Build
.
DenseOfArray
(
mdata
.
GetThicks
(
FrameIdx2
,
-
1
,
-
1
));
heat1
=
Vector
<
double
>.
Build
.
DenseOfArray
(
mdata
.
GetHeats
(
FrameIdx1
,
-
1
,
-
1
));
heat2
=
Vector
<
double
>.
Build
.
DenseOfArray
(
mdata
.
GetHeats
(
FrameIdx2
,
-
1
,
-
1
));
thick1
=
Vector
<
double
>.
Build
.
DenseOfArray
(
mdata
.
GetThicks
ByIndex
(
FrameIdx1
,
-
1
,
-
1
));
thick2
=
Vector
<
double
>.
Build
.
DenseOfArray
(
mdata
.
GetThicks
ByIndex
(
FrameIdx2
,
-
1
,
-
1
));
heat1
=
Vector
<
double
>.
Build
.
DenseOfArray
(
mdata
.
GetHeats
ByIndex
(
FrameIdx1
,
-
1
,
-
1
));
heat2
=
Vector
<
double
>.
Build
.
DenseOfArray
(
mdata
.
GetHeats
ByIndex
(
FrameIdx2
,
-
1
,
-
1
));
thickDiff
=
thick2
-
thick1
;
heatDiff
=
heat1
-
heat2
;
UpdateSeries
();
...
...
Project.FLY.ThickHeatAnalyst.Fix/FLY.HeatingHelper.UI/UIModule/UC_FramePicker.xaml
View file @
7969fb3b
...
...
@@ -57,8 +57,10 @@
</c1c:C1Chart>
</Border>
<StackPanel Orientation="Horizontal" Grid.Row="1">
<TextBlock Text="{Binding ResetBolt, StringFormat=复位分区:{0}}"/>
<TextBlock Text="{Binding RotAngle, StringFormat=旋转角度:{0:f1}}"/>
<TextBlock Text="{Binding FrameID,StringFormat=ID:{0}, Mode=OneWay}" Margin="0,0,5,0"/>
<TextBlock Text="{Binding FrameTime,StringFormat={}{0:MM/dd HH:mm:ss}, Mode=OneWay}" Margin="0,0,5,0"/>
<TextBlock Text="{Binding ResetBolt, StringFormat=复位分区:{0}}" Margin="0,0,5,0"/>
<TextBlock Text="{Binding RotAngle, StringFormat=旋转角度:{0:f1}}" Margin="0,0,5,0"/>
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="{}{0}/({1})-({2})">
...
...
Project.FLY.ThickHeatAnalyst.Fix/FLY.HeatingHelper.UI/UIModule/UC_FramePicker.xaml.cs
View file @
7969fb3b
...
...
@@ -169,6 +169,7 @@ namespace FLY.HeatingHelper.UI.UIModule
}
}
}
private
double
_rotAngle
=
double
.
NaN
;
public
double
RotAngle
{
...
...
@@ -185,6 +186,20 @@ namespace FLY.HeatingHelper.UI.UIModule
}
}
public
int
FrameID
{
get
=>
_data
==
null
?
-
2
:
_data
.
Index2ID
(
SelectedFrame
);
}
public
DateTime
FrameTime
{
get
{
if
(
_data
==
null
)
return
DateTime
.
MinValue
;
if
(
SelectedFrame
<
MinFrame
&&
SelectedFrame
>
MaxFrame
)
return
DateTime
.
MinValue
;
return
_data
.
Dat_Times
[
SelectedFrame
];
}
}
public
RelayCommand
PreCmd
{
get
;
internal
set
;
}
public
RelayCommand
NxtCmd
{
get
;
internal
set
;
}
...
...
@@ -211,10 +226,29 @@ namespace FLY.HeatingHelper.UI.UIModule
}
if
(
update
>
0
)
{
UpdateData
();
//
UpdateData();
}
}
public
void
InitData
(
IThickHeatData
_dat
)
{
_data
=
_dat
as
IThickHeatData
;
/*ThickHeatData4SQLite_V1*/
MinFrame
=
_data
.
AnalystIndexFrom
;
MaxFrame
=
_data
.
AnalystIndexTo
;
//UpdateData();
}
/// <summary>
/// 界面加载时调用
/// </summary>
public
void
OnLoaded
(
bool
selectMin
=
false
)
{
MinFrame
=
_data
.
AnalystIndexFrom
;
MaxFrame
=
_data
.
AnalystIndexTo
;
SelectedFrame
=
selectMin
?
MinFrame
:
MaxFrame
;
UpdateData
();
}
//private ChartValues<double> v1 = new ChartValues<double>();
//private ChartValues<double> v2 = new ChartValues<double>();
...
...
@@ -224,8 +258,11 @@ namespace FLY.HeatingHelper.UI.UIModule
public
void
UpdateChart
()
{
DS_thick
=
new
DoubleCollection
(
_data
.
GetThicks
(
SelectedFrame
,
ResetBolt
,
RotAngle
));
DS_heat
=
new
DoubleCollection
(
_data
.
GetHeats
(
SelectedFrame
,
-
1
,
-
1
));
double
[]
tmp
=
_data
.
GetThicksByIndex
(
SelectedFrame
,
ResetBolt
,
RotAngle
);
double
[]
tmph
=
_data
.
GetHeatsByIndex
(
SelectedFrame
,
-
1
,
-
1
);
if
(
tmp
==
null
||
tmph
==
null
)
return
;
DS_thick
=
new
DoubleCollection
(
tmp
);
DS_heat
=
new
DoubleCollection
(
tmph
);
//if (MySeries.Count == 0)
//{
// var L1 = new LineSeries
...
...
@@ -249,14 +286,15 @@ namespace FLY.HeatingHelper.UI.UIModule
// MySeries.Add(L1);
// MySeries.Add(L2);
//}
//v1.Clear(); v1.AddRange(_data.GetThicks(SelectedFrame, ResetBolt, RotAngle));
//v2.Clear(); v2.AddRange(_data.GetHeats(SelectedFrame, -1, -1));
//v1.Clear(); v1.AddRange(_data.GetThicks
ByID
(SelectedFrame, ResetBolt, RotAngle));
//v2.Clear(); v2.AddRange(_data.GetHeats
ByID
(SelectedFrame, -1, -1));
}
private
void
UpdateData
()
{
ResetBolt
=
_data
.
GetResetBolt
(
SelectedFrame
);
RotAngle
=
_data
.
GetRotAngle
(
SelectedFrame
);
if
(
SelectedFrame
<
0
)
return
;
ResetBolt
=
_data
.
GetResetBoltByIndex
(
SelectedFrame
);
RotAngle
=
_data
.
GetRotAngleByIndex
(
SelectedFrame
);
UpdateChart
();
}
...
...
@@ -266,18 +304,14 @@ namespace FLY.HeatingHelper.UI.UIModule
{
if
(
SelectedFrame
>
MinFrame
)
{
var
tmp
=
_data
.
GetRelativeID
(
SelectedFrame
,
-
1
);
if
(
tmp
>=
0
)
SelectedFrame
=
tmp
;
SelectedFrame
--;
}
});
NxtCmd
=
new
RelayCommand
(()
=>
{
if
(
SelectedFrame
<
MaxFrame
)
{
var
tmp
=
_data
.
GetRelativeID
(
SelectedFrame
,
1
);
if
(
tmp
>=
0
)
SelectedFrame
=
tmp
;
SelectedFrame
++;
}
});
}
...
...
Project.FLY.ThickHeatAnalyst.Fix/FLY.HeatingHelper.UI/UIModule/UC_HeatBoltAnalystViewModel.cs
View file @
7969fb3b
...
...
@@ -82,10 +82,8 @@ namespace FLY.HeatingHelper.UI.UIModule
public
void
Loaded
(
object
s
)
{
var
tmpVM
=
ViewModel_HeatDetector
.
Instance
;
tmpVM
.
PropertyChanged
+=
DataSelecter_PropertyChanged
;
vm1
.
InitData
(
mdata
,
tmpVM
.
Selected_Idx_From
,
tmpVM
.
Selected_Idx_To
);
vm2
.
InitData
(
mdata
,
tmpVM
.
Selected_Idx_From
,
tmpVM
.
Selected_Idx_To
);
vm1
.
InitData
(
mdata
);
vm2
.
InitData
(
mdata
);
vmDiff
.
Init
(
mdata
);
vm1
.
UpdateChart
();
vm2
.
UpdateChart
();
...
...
@@ -93,22 +91,7 @@ namespace FLY.HeatingHelper.UI.UIModule
public
void
UnLoaded
(
object
s
)
{
var
tmpVM
=
ViewModel_HeatDetector
.
Instance
;
tmpVM
.
PropertyChanged
-=
DataSelecter_PropertyChanged
;
}
private
void
DataSelecter_PropertyChanged
(
object
s
,
PropertyChangedEventArgs
e
)
{
if
(
e
.
PropertyName
==
"Selected_Idx_From"
)
{
vm1
.
MinFrame
=
(
s
as
ViewModel_HeatDetector
).
Selected_Idx_From
;
vm2
.
MinFrame
=
vm1
.
MinFrame
;
}
if
(
e
.
PropertyName
==
"Selected_Idx_To"
)
{
vm1
.
MaxFrame
=
(
s
as
ViewModel_HeatDetector
).
Selected_Idx_To
;
vm2
.
MaxFrame
=
vm1
.
MaxFrame
;
}
}
public
void
Wrap_SearchFeaturedBoltsItems
()
...
...
Project.FLY.ThickHeatAnalyst.Fix/FLY.HeatingHelper.UI/UIModule/UC_SelectData/AlarmZone.cs
View file @
7969fb3b
...
...
@@ -7,6 +7,7 @@ using System.Windows.Media;
using
System.Windows.Controls
;
using
C1.WPF.C1Chart
;
using
System.Windows
;
using
System.ComponentModel
;
namespace
Chart_AlarmZones_WPF_CS
{
...
...
@@ -19,15 +20,32 @@ namespace Chart_AlarmZones_WPF_CS
this
.
ChartType
=
C1
.
WPF
.
C1Chart
.
ChartType
.
PolygonFilled
;
this
.
XValues
=
new
DoubleCollection
();
this
.
Values
=
new
DoubleCollection
();
this
.
Opacity
=
0.5
;
UpdateLegend
();
Update
();
}
#
endregion
public
static
readonly
DependencyProperty
NearProperty
=
DependencyProperty
.
Register
(
"Near"
,
typeof
(
double
?),
typeof
(
AlarmZone
),
new
FrameworkPropertyMetadata
(
null
));
public
static
readonly
DependencyProperty
FarProperty
=
DependencyProperty
.
Register
(
"Far"
,
typeof
(
double
?),
typeof
(
AlarmZone
),
new
FrameworkPropertyMetadata
(
null
));
public
static
readonly
DependencyProperty
LowExtentProperty
=
DependencyProperty
.
Register
(
"LowExtent"
,
typeof
(
double
?),
typeof
(
AlarmZone
),
new
FrameworkPropertyMetadata
(
null
));
public
static
readonly
DependencyProperty
UpperExtentProperty
=
DependencyProperty
.
Register
(
"UpperExtent"
,
typeof
(
double
?),
typeof
(
AlarmZone
),
new
FrameworkPropertyMetadata
(
null
));
public
static
readonly
DependencyProperty
NearProperty
=
DependencyProperty
.
Register
(
"Near"
,
typeof
(
double
?),
typeof
(
AlarmZone
),
new
FrameworkPropertyMetadata
(
null
,
new
PropertyChangedCallback
((
d
,
e
)
=>
{
(
d
as
AlarmZone
).
Update
();
})));
public
static
readonly
DependencyProperty
FarProperty
=
DependencyProperty
.
Register
(
"Far"
,
typeof
(
double
?),
typeof
(
AlarmZone
),
new
FrameworkPropertyMetadata
(
null
,
new
PropertyChangedCallback
((
d
,
e
)
=>
{
(
d
as
AlarmZone
).
Update
();
})));
public
static
readonly
DependencyProperty
LowExtentProperty
=
DependencyProperty
.
Register
(
"LowExtent"
,
typeof
(
double
?),
typeof
(
AlarmZone
),
new
FrameworkPropertyMetadata
(
null
,
new
PropertyChangedCallback
((
d
,
e
)
=>
{
(
d
as
AlarmZone
).
Update
();
})));
public
static
readonly
DependencyProperty
UpperExtentProperty
=
DependencyProperty
.
Register
(
"UpperExtent"
,
typeof
(
double
?),
typeof
(
AlarmZone
),
new
FrameworkPropertyMetadata
(
null
,
new
PropertyChangedCallback
((
d
,
e
)
=>
{
(
d
as
AlarmZone
).
Update
();
})));
#
region
"members"
private
C1Chart
_chart
;
...
...
@@ -36,42 +54,40 @@ namespace Chart_AlarmZones_WPF_CS
get
{
return
_chart
;
}
set
{
_chart
=
value
;
}
}
[
Bindable
(
true
)]
public
double
?
Near
{
get
{
return
(
double
?)
this
.
GetValue
(
NearProperty
);
}
set
{
this
.
SetValue
(
NearProperty
,
value
);
Update
();
}
}
[
Bindable
(
true
)]
public
double
?
Far
{
get
{
return
(
double
?)
this
.
GetValue
(
FarProperty
);
}
set
{
this
.
SetValue
(
FarProperty
,
value
);
Update
();
}
}
[
Bindable
(
true
)]
public
double
?
LowExtent
{
get
{
return
(
double
?)
this
.
GetValue
(
LowExtentProperty
);
}
set
{
this
.
SetValue
(
LowExtentProperty
,
value
);
Update
();
}
}
[
Bindable
(
true
)]
public
double
?
UpperExtent
{
get
{
return
(
double
?)
this
.
GetValue
(
UpperExtentProperty
);
}
set
{
this
.
SetValue
(
UpperExtentProperty
,
value
);
Update
();
}
}
...
...
@@ -139,16 +155,16 @@ namespace Chart_AlarmZones_WPF_CS
Far
=
Chart
.
View
.
AxisX
.
ActualMax
;
Update
();
}
if
(
LowExtent
==
null
)
{
LowExtent
=
Chart
.
View
.
AxisY
.
ActualMin
;
Update
();
}
if
(
UpperExtent
==
null
)
{
UpperExtent
=
Chart
.
View
.
AxisY
.
ActualMax
;
Update
();
}
//
if (LowExtent == null)
//
{
//
LowExtent = Chart.View.AxisY.ActualMin;
//
Update();
//
}
//
if (UpperExtent == null)
//
{
//
UpperExtent = Chart.View.AxisY.ActualMax;
//
Update();
//
}
}
}
}
...
...
Project.FLY.ThickHeatAnalyst.Fix/FLY.HeatingHelper.UI/UIModule/UC_SelectData/UC_SelectData.xaml
View file @
7969fb3b
...
...
@@ -9,7 +9,7 @@
xmlns:Controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800" Background="WhiteSmoke" x:Name="uc1">
d:DesignHeight="450" d:DesignWidth="800" Background="WhiteSmoke" x:Name="uc1"
Loaded="uc1_Loaded"
>
<!--<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
...
...
@@ -59,7 +59,7 @@
</StackPanel>
<StackPanel Orientation="Vertical" Grid.Column="1" Margin="0,0,5,0">
<Label Content="
选定
数据范围:" Margin="0,0,0,3"/>
<Label Content="
加载
数据范围:" Margin="0,0,0,3"/>
<Controls:DateTimePicker Controls:TextBoxHelper.UseFloatingWatermark="False"
SelectedDateTime="{Binding Path=Dat.LoadDataFrom}"
Margin="0,0,0,1">
...
...
@@ -98,7 +98,7 @@
<ColumnDefinition Width="auto"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Vertical" Grid.Column="0" Margin="0,0,5,0">
<Label Content="
选择
数据范围:"/>
<Label Content="
分析
数据范围:"/>
<Controls:RangeSlider Minimum="0"
Maximum="{Binding RecordCount, Mode=OneWay}"
LowerValue="{Binding Dat.AnalystIndexFrom}"
...
...
@@ -116,21 +116,29 @@
<Button Content="缺省项" Style="{DynamicResource MahApps.Styles.Button.AccentedSquare}"
Grid.Column="3" MinWidth="80"
Command="{Binding DefaultAnalystData}"/>
<Button Content="test" Click="Button_Click" Grid.Column="4"/>
<Button Content="test" Click="Button_Click" Grid.Column="4"
Command="{Binding Test}"/>
</Grid>
<Border Grid.Row="2" Margin="2,5,2,2">
<c1c:C1Chart ChartType="Line" Margin="5,0,0,0">
<c1c:C1Chart.Data>
<c1c:ChartData>
<az:AlarmZone Near="{Binding Dat.AnalystIndexFrom}" Far="{Binding Dat.AnalystIndexTo}"/>
<az:AlarmZone Near="{Binding Dat.AnalystIndexFrom}"
Far="{Binding Dat.AnalystIndexTo}"
LowExtent="-1"
UpperExtent="11"
ConnectionFill="AliceBlue"/>
<c1c:DataSeries ValuesSource="{Binding DS_thick}" AxisY="ay0" Label="厚度"/>
</c1c:ChartData>
</c1c:C1Chart.Data>
<c1c:C1Chart.View>
<c1c:ChartView>
<c1c:ChartView.AxisY>
<c1c:Axis Visible="False"/>
<c1c:Axis Visible="False"
Min="0" Max="10"
/>
</c1c:ChartView.AxisY>
<c1c:ChartView.AxisX>
<c1c:Axis Max="{Binding RecordCount, Mode=OneWay}"/>
</c1c:ChartView.AxisX>
<c1c:Axis Name="ay0" AxisType="Y" Title="厚度" Position="Near"/>
</c1c:ChartView>
</c1c:C1Chart.View>
...
...
Project.FLY.ThickHeatAnalyst.Fix/FLY.HeatingHelper.UI/UIModule/UC_SelectData/UC_SelectData.xaml.cs
View file @
7969fb3b
...
...
@@ -30,5 +30,10 @@ namespace FLY.HeatingHelper.UI.UIModule.UC_SelectData
{
}
private
void
uc1_Loaded
(
object
sender
,
RoutedEventArgs
e
)
{
(
DataContext
as
ViewModel_UC_SelectData
).
OnLoaded
();
}
}
}
Project.FLY.ThickHeatAnalyst.Fix/FLY.HeatingHelper.UI/UIModule/UC_SelectData/ViewModel_UC_SelectData.cs
View file @
7969fb3b
...
...
@@ -18,6 +18,8 @@ namespace FLY.HeatingHelper.UI.UIModule.UC_SelectData
PreData
=
new
RelayCommand
(
Command_PreData
);
NextData
=
new
RelayCommand
(
Command_NextData
);
DefaultAnalystData
=
new
RelayCommand
(
Command_DefaultAnalystData
);
Test
=
new
RelayCommand
(
Command_Test
);
Command_DefaultLoadDataRange
();
}
#
region
UI
界面
...
...
@@ -29,14 +31,26 @@ namespace FLY.HeatingHelper.UI.UIModule.UC_SelectData
{
get
{
if
(
Dat
is
null
)
return
0
;
if
(
Dat
is
null
)
return
-
1
;
return
Dat
.
Dat_Times
.
Count
();
}
set
{
}
}
public
double
[]
DS_thick
{
get
;
set
;
}
#
endregion
#
region
内部功能函数
private
void
UpdateChart
()
{
if
(
RecordCount
<=
0
)
return
;
DS_thick
=
Dat
.
Dat_Means
.
ToArray
();
}
#
endregion
#
region
UI
界面按钮功能
(
Command
)
public
RelayCommand
DefaultLoadDataRange
{
get
;
internal
set
;
}
=
null
;
...
...
@@ -53,20 +67,24 @@ namespace FLY.HeatingHelper.UI.UIModule.UC_SelectData
Dat
.
LoadDataFromDB
(
1
);
Dat
.
ResetCluster
();
Dat
.
ClusterOnThickMean
();
RecordCount
=
1
;
UpdateChart
();
}
public
RelayCommand
PreData
{
get
;
internal
set
;
}
=
null
;
private
void
Command_PreData
()
{
int
from
=
0
,
to
=
0
;
if
(
Dat
.
CalculateFromToByClass
(
int
.
MaxValue
,
ref
from
,
ref
to
)
<
0
)
return
;
}
public
RelayCommand
NextData
{
get
;
internal
set
;
}
=
null
;
private
void
Command_NextData
()
{
int
from
=
0
,
to
=
0
;
if
(
Dat
.
CalculateFromToByClass
(
int
.
MinValue
,
ref
from
,
ref
to
)
<
0
)
return
;
}
public
RelayCommand
DefaultAnalystData
{
get
;
internal
set
;
}
=
null
;
...
...
@@ -75,6 +93,19 @@ namespace FLY.HeatingHelper.UI.UIModule.UC_SelectData
{
Dat
.
SetDefaultAnalystIndexs
();
}
public
RelayCommand
Test
{
get
;
set
;
}
=
null
;
private
void
Command_Test
()
{
}
public
void
OnLoaded
()
{
Command_DefaultAnalystData
();
UpdateChart
();
}
#
endregion
public
event
PropertyChangedEventHandler
PropertyChanged
;
}
...
...
Project.FLY.ThickHeatAnalyst.Fix/FLY.HeatingHelper/IThickHeatData.cs
View file @
7969fb3b
...
...
@@ -81,11 +81,19 @@ namespace FLY.HeatingHelper
/// </summary>
/// <param name="idx"></param>
/// <returns></returns>
double
[]
GetThicks
(
int
idx
,
int
from
,
int
to
);
double
[]
GetHeats
(
int
idx
,
int
from
,
int
to
);
double
[]
GetThicks
(
int
idx
,
int
newResetBolt
,
double
newAngle
);
int
GetResetBolt
(
int
idx
);
double
GetRotAngle
(
int
idx
);
double
[]
GetThicksByID
(
int
idx
,
int
from
,
int
to
);
double
[]
GetHeatsByID
(
int
idx
,
int
from
,
int
to
);
double
[]
GetThicksByID
(
int
idx
,
int
newResetBolt
,
double
newAngle
);
int
GetResetBoltByID
(
int
idx
);
double
GetRotAngleByID
(
int
idx
);
double
[]
GetThicksByIndex
(
int
idx
,
int
from
,
int
to
);
double
[]
GetHeatsByIndex
(
int
idx
,
int
from
,
int
to
);
double
[]
GetThicksByIndex
(
int
idx
,
int
newResetBolt
,
double
newAngle
);
int
GetResetBoltByIndex
(
int
idx
);
double
GetRotAngleByIndex
(
int
idx
);
int
Index2ID
(
int
idx
);
int
NormalBolt
(
int
bolt
,
int
boltcnt
);
List
<
DateTime
>
Dat_Times
{
get
;
}
...
...
Project.FLY.ThickHeatAnalyst.Fix/FLY.HeatingHelper/ThickHeatData.cs
View file @
7969fb3b
This diff is collapsed.
Click to expand it.
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