Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
V
VIZ.H2V
Overview
Overview
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
刘龙飞
VIZ.H2V
Commits
ad452264
Commit
ad452264
authored
Oct 19, 2022
by
liulongfei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1. 算法配置增强
2. 替换WPFToolkit 控件
parent
c6959f2a
Hide whitespace changes
Inline
Side-by-side
Showing
37 changed files
with
732 additions
and
261 deletions
+732
-261
VIZ.H2V.ClipTestTool/VIZ.H2V.ClipTestTool.csproj
+15
-0
VIZ.H2V.ClipTestTool/View/MainView.xaml
+5
-4
VIZ.H2V.ClipTestTool/packages.config
+2
-0
VIZ.H2V.Domain/Model/Algorithm/AlgorithmProcessModel.cs
+6
-20
VIZ.H2V.Domain/Model/Algorithm/AlgorithmStrategyModel.cs
+35
-6
VIZ.H2V.Module.Resource/Converter/AlgorithmStrategyTagStringConverter.cs
+34
-0
VIZ.H2V.Module.Resource/Icons/triangle_down_16x16.png
+0
-0
VIZ.H2V.Module.Resource/Icons/triangle_up_16x16.png
+0
-0
VIZ.H2V.Module.Resource/Toolkit/NumericUpDown/NumericUpDown.xaml
+320
-0
VIZ.H2V.Module.Resource/VIZ.H2V.Module.Resource.csproj
+26
-0
VIZ.H2V.Module.Resource/packages.config
+5
-0
VIZ.H2V.Module/NDISettingView/View/Algorithm/AlgorithmCablewayPanelView.xaml
+19
-19
VIZ.H2V.Module/NDISettingView/View/Algorithm/AlgorithmNearPanelView.xaml
+19
-19
VIZ.H2V.Module/NDISettingView/View/Algorithm/AlgorithmSinglePanelView.xaml
+11
-11
VIZ.H2V.Module/NDISettingView/View/Algorithm/AlgorithmSixteenPanelView.xaml
+19
-19
VIZ.H2V.Module/NDISettingView/View/Algorithm/AlgorithmTacticsPanelView.xaml
+19
-19
VIZ.H2V.Module/NDISettingView/View/AlgorithmSettingPanelView.xaml
+10
-3
VIZ.H2V.Module/NDISettingView/View/NDISettingPanelView.xaml
+1
-0
VIZ.H2V.Module/NDISettingView/ViewModel/AlgorithmSettingPanelViewModel.cs
+11
-8
VIZ.H2V.Module/NDIView/Controller/Algorithm/AlgorithmControllerBase.cs
+60
-65
VIZ.H2V.Module/NDIView/Service/INDIViewService.cs
+5
-0
VIZ.H2V.Module/NDIView/View/NDIView.xaml
+0
-36
VIZ.H2V.Module/NDIView/VieweModel/NDIViewModel.Command.cs
+1
-1
VIZ.H2V.Module/NDIView/VieweModel/NDIViewModel.Property.cs
+14
-0
VIZ.H2V.Module/Setup/Provider/AppSetup_Algorithm.cs
+3
-4
VIZ.H2V.Module/Setup/Provider/AppSetup_InitCsv.cs
+1
-1
VIZ.H2V.Module/SystemSetting/View/StyleSettingPanelView.xaml
+8
-10
VIZ.H2V.Module/VIZ.H2V.Module.csproj
+15
-0
VIZ.H2V.Module/packages.config
+1
-0
VIZ.H2V.Storage/CSV/Algorithm/AlgorithmStrategy.cs
+21
-3
VIZ.H2V.Storage/CSV/CsvContext.cs
+15
-2
VIZ.H2V.Storage/LiteDB/NdiView/NdiViewConfig.cs
+5
-5
VIZ.H2V.sln
+2
-0
VIZ.H2V/App.xaml
+1
-0
VIZ.H2V/VIZ.H2V.csproj
+15
-0
VIZ.H2V/config/algorithm_strategy.csv
+7
-6
VIZ.H2V/packages.config
+1
-0
No files found.
VIZ.H2V.ClipTestTool/VIZ.H2V.ClipTestTool.csproj
View file @
ad452264
...
...
@@ -79,6 +79,21 @@
<Reference Include="WindowsBase" />
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
<Reference Include="Xceed.Wpf.AvalonDock, Version=4.4.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
<HintPath>..\packages\Extended.Wpf.Toolkit.4.4.0\lib\net40\Xceed.Wpf.AvalonDock.dll</HintPath>
</Reference>
<Reference Include="Xceed.Wpf.AvalonDock.Themes.Aero, Version=4.4.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
<HintPath>..\packages\Extended.Wpf.Toolkit.4.4.0\lib\net40\Xceed.Wpf.AvalonDock.Themes.Aero.dll</HintPath>
</Reference>
<Reference Include="Xceed.Wpf.AvalonDock.Themes.Metro, Version=4.4.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
<HintPath>..\packages\Extended.Wpf.Toolkit.4.4.0\lib\net40\Xceed.Wpf.AvalonDock.Themes.Metro.dll</HintPath>
</Reference>
<Reference Include="Xceed.Wpf.AvalonDock.Themes.VS2010, Version=4.4.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
<HintPath>..\packages\Extended.Wpf.Toolkit.4.4.0\lib\net40\Xceed.Wpf.AvalonDock.Themes.VS2010.dll</HintPath>
</Reference>
<Reference Include="Xceed.Wpf.Toolkit, Version=4.4.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
<HintPath>..\packages\Extended.Wpf.Toolkit.4.4.0\lib\net40\Xceed.Wpf.Toolkit.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<ApplicationDefinition Include="App.xaml">
...
...
VIZ.H2V.ClipTestTool/View/MainView.xaml
View file @
ad452264
...
...
@@ -4,6 +4,7 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:VIZ.H2V.ClipTestTool"
xmlns:toolkit="http://schemas.xceed.com/wpf/xaml/toolkit"
xmlns:fcommon="clr-namespace:VIZ.Framework.Common;assembly=VIZ.Framework.Common"
mc:Ignorable="d" Background="White" Loaded="UserControl_Loaded"
d:DesignHeight="800" d:DesignWidth="1200">
...
...
@@ -46,8 +47,8 @@
<ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="60"></ColumnDefinition>
</Grid.ColumnDefinitions>
<
fcommon:NumberBox MinValue="0" MaxValue="200" Interval
="1"
Value="{Binding Path=MoveValue,Mode=TwoWay}"></fcommon:NumberBox
>
<
toolkit:DoubleUpDown Minimum="0" Maximum="200" Increment
="1"
Value="{Binding Path=MoveValue,Mode=TwoWay}"></toolkit:DoubleUpDown
>
<TextBlock Text="像素" Foreground="Black" FontSize="18" VerticalAlignment="Center" Grid.Column="1" Margin="10,0,0,0"></TextBlock>
</Grid>
<Grid Grid.Row="1" Grid.Column="2">
...
...
@@ -55,8 +56,8 @@
<ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="80"></ColumnDefinition>
</Grid.ColumnDefinitions>
<
fcommon:NumberBox MinValue="0.001" MaxValue="0.05" Interval
="0.0001"
Value="{Binding Path=SmoothValue,Mode=TwoWay}"></fcommon:NumberBox
>
<
toolkit:DoubleUpDown Minimum="0.001" Maximum="0.05" Increment
="0.0001"
Value="{Binding Path=SmoothValue,Mode=TwoWay}"></toolkit:DoubleUpDown
>
<Button Content="刷新平滑系数" Foreground="Black" FontSize="12" Grid.Column="1" Command="{Binding Path=UpdateSmoothCommand}"></Button>
</Grid>
</Grid>
...
...
VIZ.H2V.ClipTestTool/packages.config
View file @
ad452264
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<
packages
>
<
package
id
=
"Extended.Wpf.Toolkit"
version
=
"4.4.0"
targetFramework
=
"net48"
/>
<
package
id
=
"log4net"
version
=
"2.0.15"
targetFramework
=
"net48"
/>
<
package
id
=
"MouseKeyHook"
version
=
"5.6.0"
targetFramework
=
"net48"
/>
</
packages
>
\ No newline at end of file
VIZ.H2V.Domain/Model/Algorithm/AlgorithmProcessModel.cs
View file @
ad452264
...
...
@@ -40,20 +40,6 @@ namespace VIZ.H2V.Domain
#
endregion
#
region
ProcessID
--
进程
ID
private
int
processID
;
/// <summary>
/// 当前的算法进程ID
/// </summary>
public
int
ProcessID
{
get
{
return
processID
;
}
set
{
processID
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
ProcessID
));
}
}
#
endregion
#
region
IP
--
IP
地址
private
string
ip
;
...
...
@@ -82,16 +68,16 @@ namespace VIZ.H2V.Domain
#
endregion
#
region
Process
--
进程信息
#
region
MainProcess
--
主进程
private
Process
p
rocess
;
private
Process
mainP
rocess
;
/// <summary>
///
进程信息
///
主进程
/// </summary>
public
Process
Process
public
Process
Main
Process
{
get
{
return
p
rocess
;
}
set
{
process
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
Process
));
}
get
{
return
mainP
rocess
;
}
set
{
mainProcess
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
Main
Process
));
}
}
#
endregion
...
...
VIZ.H2V.Domain/Model/Algorithm/AlgorithmStrategyModel.cs
View file @
ad452264
...
...
@@ -4,6 +4,7 @@ using System.Linq;
using
System.Text
;
using
System.Threading.Tasks
;
using
VIZ.Framework.Core
;
using
VIZ.H2V.Storage
;
namespace
VIZ.H2V.Domain
{
...
...
@@ -26,6 +27,34 @@ namespace VIZ.H2V.Domain
#
endregion
#
region
Type
--
算法类型
private
AlgorithmStrategyType
type
;
/// <summary>
/// 算法类型
/// </summary>
public
AlgorithmStrategyType
Type
{
get
{
return
type
;
}
set
{
type
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
Type
));
}
}
#
endregion
#
region
Tag
--
标记
private
string
tag
;
/// <summary>
/// 标记
/// </summary>
public
string
Tag
{
get
{
return
tag
;
}
set
{
tag
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
Tag
));
}
}
#
endregion
#
region
Name
--
名称
private
string
name
;
...
...
@@ -54,17 +83,17 @@ namespace VIZ.H2V.Domain
#
endregion
#
region
SetupPath
--
启动路径(绝对路径
or
相对路径)
#
region
MainPath
--
主进程路径
private
string
setup
Path
;
private
string
main
Path
;
/// <summary>
///
启动路径(绝对路径 or 相对路径)
///
主进程路径
/// </summary>
public
string
Setup
Path
public
string
Main
Path
{
get
{
return
setup
Path
;
}
set
{
setupPath
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
Setup
Path
));
}
get
{
return
main
Path
;
}
set
{
mainPath
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
Main
Path
));
}
}
#
endregion
...
...
VIZ.H2V.Module.Resource/Converter/AlgorithmStrategyTagStringConverter.cs
0 → 100644
View file @
ad452264
using
System
;
using
System.Collections.Generic
;
using
System.Globalization
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
using
System.Windows.Data
;
namespace
VIZ.H2V.Module.Resource
{
/// <summary>
/// 算法标记字符串转化器
/// </summary>
public
class
AlgorithmStrategyTagStringConverter
:
IValueConverter
{
public
object
Convert
(
object
value
,
Type
targetType
,
object
parameter
,
CultureInfo
culture
)
{
if
(
value
==
null
)
return
null
;
string
str
=
value
.
ToString
();
if
(
string
.
IsNullOrWhiteSpace
(
str
))
return
null
;
return
$" (
{
str
}
)"
;
}
public
object
ConvertBack
(
object
value
,
Type
targetType
,
object
parameter
,
CultureInfo
culture
)
{
throw
new
NotImplementedException
();
}
}
}
VIZ.H2V.Module.Resource/Icons/triangle_down_16x16.png
0 → 100644
View file @
ad452264
251 Bytes
VIZ.H2V.Module.Resource/Icons/triangle_up_16x16.png
0 → 100644
View file @
ad452264
251 Bytes
VIZ.H2V.Module.Resource/Toolkit/NumericUpDown/NumericUpDown.xaml
0 → 100644
View file @
ad452264
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:toolkit="http://schemas.xceed.com/wpf/xaml/toolkit"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<!-- =============================================================================== -->
<!-- ButtonSpinner -->
<!-- =============================================================================== -->
<BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
<Style x:Key="ButtonSpinner_Normal_RepeatButton" TargetType="{x:Type RepeatButton}">
<Setter Property="FocusVisualStyle" Value="{x:Null}"></Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type RepeatButton}">
<Border x:Name="bd" Background="Transparent">
<ContentPresenter></ContentPresenter>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="bd" Property="Background" Value="#22FFFFFF"></Setter>
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Opacity" Value="0.35"></Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="ButtonSpinner_Normal" TargetType="{x:Type toolkit:ButtonSpinner}">
<Setter Property="Background" Value="Transparent" />
<Setter Property="Foreground" Value="White" />
<Setter Property="BorderBrush" Value="Transparent" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="Focusable" Value="False" />
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
<Setter Property="IsTabStop" Value="True" />
<Setter Property="Padding" Value="0" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type toolkit:ButtonSpinner}">
<Border x:Name="Border" SnapsToDevicePixels="True"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition x:Name="firstContentColumn" Width="*" />
<ColumnDefinition x:Name="secondContentColumn" Width="Auto" />
</Grid.ColumnDefinitions>
<ContentPresenter x:Name="contentPresenter"
Focusable="False"
Margin="{TemplateBinding Padding}"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
<Grid x:Name="gridContent"
Grid.Column="1"
Width="{TemplateBinding SpinnerWidth}"
Height="{TemplateBinding SpinnerHeight}">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<RepeatButton x:Name="PART_IncreaseButton"
Style="{StaticResource ButtonSpinner_Normal_RepeatButton}"
IsTabStop="{TemplateBinding IsTabStop}">
<Image Width="6" Height="13" VerticalAlignment="Center" HorizontalAlignment="Center"
Source="/VIZ.H2V.Module.Resource;component/Icons/triangle_up_16x16.png"></Image>
</RepeatButton>
<RepeatButton x:Name="PART_DecreaseButton" Grid.Row="1"
Style="{StaticResource ButtonSpinner_Normal_RepeatButton}"
IsTabStop="{TemplateBinding IsTabStop}">
<Image Width="6" Height="13" VerticalAlignment="Center" HorizontalAlignment="Center"
Source="/VIZ.H2V.Module.Resource;component/Icons/triangle_down_16x16.png"></Image>
</RepeatButton>
</Grid>
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="ShowButtonSpinner" Value="False">
<Setter Property="Visibility" Value="Collapsed" TargetName="gridContent" />
</Trigger>
<Trigger Property="ShowSpinner" Value="False">
<Setter Property="Visibility" Value="Collapsed" TargetName="gridContent" />
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Opacity" Value="0.35" />
</Trigger>
<Trigger Property="SpinnerLocation" Value="Left">
<Setter TargetName="firstContentColumn" Property="Width" Value="Auto" />
<Setter TargetName="secondContentColumn" Property="Width" Value="*" />
<Setter TargetName="contentPresenter" Property="Grid.Column" Value="1" />
<Setter TargetName="gridContent" Property="Grid.Column" Value="0" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<!-- =============================================================================== -->
<!-- NumericUpDown -->
<!-- =============================================================================== -->
<toolkit:InverseBoolConverter x:Key="InverseBoolConverter" />
<DataTemplate x:Key="DefaultWatermarkTemplate">
<ContentControl Content="{Binding}"
Foreground="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"
Focusable="False"
Margin="0,0,3,0" />
</DataTemplate>
<DataTemplate x:Key="IncreaseGlyphNormalKey">
<TextBlock Text="UP" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
</DataTemplate>
<DataTemplate x:Key="IncreaseGlyphDisabledKey">
<TextBlock Text="UP" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
</DataTemplate>
<DataTemplate x:Key="DecreaseGlyphNormalKey">
<TextBlock Text="DOWN" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
</DataTemplate>
<DataTemplate x:Key="DecreaseGlyphDisabledKey">
<TextBlock Text="DOWN" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
</DataTemplate>
<Style x:Key="NumericUpDown_Normal" TargetType="{x:Type toolkit:InputBase}">
<Setter Property="FocusVisualStyle" Value="{x:Null}"></Setter>
<Setter Property="Background" Value="#ff0e131e" />
<Setter Property="Foreground" Value="White" />
<Setter Property="BorderBrush" Value="#ff3d4758" />
<Setter Property="BorderThickness" Value="0,0,0,1" />
<Setter Property="Padding" Value="10,0,10,0"></Setter>
<Setter Property="HorizontalContentAlignment" Value="Right" />
<Setter Property="IsTabStop" Value="False" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="TextAlignment" Value="Left" />
<Setter Property="FontSize" Value="14"></Setter>
<Setter Property="WatermarkTemplate" Value="{StaticResource DefaultWatermarkTemplate}" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Control">
<toolkit:ButtonSpinner x:Name="PART_Spinner"
Style="{StaticResource ButtonSpinner_Normal}"
IsTabStop="False"
Background="{TemplateBinding Background}"
BorderThickness="{TemplateBinding BorderThickness}"
BorderBrush="{TemplateBinding BorderBrush}"
HorizontalContentAlignment="Stretch"
VerticalContentAlignment="Stretch"
AllowSpin="{Binding AllowSpin, RelativeSource={RelativeSource TemplatedParent}}"
ShowSpinner="{Binding ShowButtonSpinner, RelativeSource={RelativeSource TemplatedParent}}"
ShowButtonSpinner="{Binding ShowButtonSpinner, RelativeSource={RelativeSource TemplatedParent}}"
SpinnerLocation="{Binding ButtonSpinnerLocation, RelativeSource={RelativeSource TemplatedParent}}"
SpinnerWidth="{Binding ButtonSpinnerWidth, RelativeSource={RelativeSource TemplatedParent}}"
SpinnerHeight="{Binding ButtonSpinnerHeight, RelativeSource={RelativeSource TemplatedParent}}"
SpinnerUpContentTemplate="{Binding ButtonSpinnerUpContentTemplate, RelativeSource={RelativeSource TemplatedParent}, TargetNullValue={StaticResource IncreaseGlyphNormalKey}}"
SpinnerDownContentTemplate="{Binding ButtonSpinnerDownContentTemplate, RelativeSource={RelativeSource TemplatedParent}, TargetNullValue={StaticResource DecreaseGlyphNormalKey}}"
SpinnerUpDisabledContentTemplate="{Binding ButtonSpinnerUpDisabledContentTemplate, RelativeSource={RelativeSource TemplatedParent}, TargetNullValue={StaticResource IncreaseGlyphDisabledKey}}"
SpinnerDownDisabledContentTemplate="{Binding ButtonSpinnerDownDisabledContentTemplate, RelativeSource={RelativeSource TemplatedParent}, TargetNullValue={StaticResource DecreaseGlyphDisabledKey}}">
<toolkit:WatermarkTextBox x:Name="PART_TextBox"
BorderThickness="0"
Background="Transparent"
CaretBrush="White"
ContextMenu="{TemplateBinding ContextMenu}"
FontFamily="{TemplateBinding FontFamily}"
FontSize="{TemplateBinding FontSize}"
FontStretch="{TemplateBinding FontStretch}"
FontStyle="{TemplateBinding FontStyle}"
FontWeight="{TemplateBinding FontWeight}"
Foreground="{TemplateBinding Foreground}"
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
IsUndoEnabled="{Binding IsUndoEnabled, RelativeSource={RelativeSource TemplatedParent}}"
IsTabStop="True"
MinWidth="20"
AcceptsReturn="False"
Padding="{TemplateBinding Padding}"
AutoSelectBehavior="{Binding AutoSelectBehavior, RelativeSource={RelativeSource TemplatedParent}}"
AutoMoveFocus="{Binding AutoMoveFocus, RelativeSource={RelativeSource TemplatedParent}}"
TextAlignment="{Binding TextAlignment, RelativeSource={RelativeSource TemplatedParent}}"
TextWrapping="NoWrap"
TabIndex="{TemplateBinding TabIndex}"
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
Watermark="{Binding Watermark, RelativeSource={RelativeSource TemplatedParent}}"
WatermarkTemplate="{Binding WatermarkTemplate, RelativeSource={RelativeSource TemplatedParent}}"
MaxLength="{Binding MaxLength, RelativeSource={RelativeSource TemplatedParent}}">
</toolkit:WatermarkTextBox>
</toolkit:ButtonSpinner>
<ControlTemplate.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding IsReadOnly, RelativeSource={RelativeSource Self}}" Value="False" />
<Condition Binding="{Binding AllowTextInput, RelativeSource={RelativeSource Self}}" Value="False" />
</MultiDataTrigger.Conditions>
<Setter Property="IsReadOnly" Value="True" TargetName="PART_TextBox" />
</MultiDataTrigger>
<DataTrigger Binding="{Binding IsReadOnly, RelativeSource={RelativeSource Self}}" Value="True">
<Setter Property="IsReadOnly" Value="True" TargetName="PART_TextBox" />
</DataTrigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}" />
</Trigger>
<Trigger Property="IsFocused" Value="True">
<Setter TargetName="PART_TextBox" Property="FocusManager.FocusedElement" Value="{Binding ElementName=PART_TextBox}" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<!-- =============================================================================== -->
<!-- DecimalUpDown -->
<!-- =============================================================================== -->
<Style TargetType="{x:Type toolkit:DecimalUpDown}"
BasedOn="{StaticResource NumericUpDown_Normal}">
<Setter Property="ButtonSpinnerWidth" Value="40"></Setter>
</Style>
<!-- =============================================================================== -->
<!-- DoubleUpDown -->
<!-- =============================================================================== -->
<Style TargetType="{x:Type toolkit:DoubleUpDown}"
BasedOn="{StaticResource NumericUpDown_Normal}">
<Setter Property="ButtonSpinnerWidth" Value="40"></Setter>
</Style>
<!-- =============================================================================== -->
<!-- IntegerUpDown -->
<!-- =============================================================================== -->
<Style TargetType="{x:Type toolkit:IntegerUpDown}"
BasedOn="{StaticResource NumericUpDown_Normal}">
<Setter Property="ButtonSpinnerWidth" Value="40"></Setter>
</Style>
<!-- =============================================================================== -->
<!-- ShortUpDown -->
<!-- =============================================================================== -->
<Style TargetType="{x:Type toolkit:ShortUpDown}"
BasedOn="{StaticResource NumericUpDown_Normal}">
<Setter Property="ButtonSpinnerWidth" Value="40"></Setter>
</Style>
<!-- =============================================================================== -->
<!-- LongUpDown -->
<!-- =============================================================================== -->
<Style TargetType="{x:Type toolkit:LongUpDown}"
BasedOn="{StaticResource NumericUpDown_Normal}">
<Setter Property="ButtonSpinnerWidth" Value="40"></Setter>
</Style>
<!-- =============================================================================== -->
<!-- ByteUpDown -->
<!-- =============================================================================== -->
<Style TargetType="{x:Type toolkit:ByteUpDown}"
BasedOn="{StaticResource NumericUpDown_Normal}">
<Setter Property="ButtonSpinnerWidth" Value="40"></Setter>
</Style>
<!-- =============================================================================== -->
<!-- SingleUpDown -->
<!-- =============================================================================== -->
<Style TargetType="{x:Type toolkit:SingleUpDown}"
BasedOn="{StaticResource NumericUpDown_Normal}">
<Setter Property="ButtonSpinnerWidth" Value="40"></Setter>
</Style>
<!-- =============================================================================== -->
<!-- Style for all internal derived types of NumericUpDown will be done in code-behind -->
<!-- for external themes to redefine the default style. The reason is that the -->
<!-- toolkit.dll uses the InternalsVisibleTo attribute which makes internal data only -->
<!-- available in code-behind (not xaml). -->
<!-- (ex. Office2007 theme) -->
<!-- =============================================================================== -->
<!-- =============================================================================== -->
<!-- SByteUpDown -->
<!-- =============================================================================== -->
<Style TargetType="{x:Type toolkit:SByteUpDown}"
BasedOn="{StaticResource NumericUpDown_Normal}">
<Setter Property="ButtonSpinnerWidth" Value="40"></Setter>
</Style>
<!-- =============================================================================== -->
<!-- UIntegerUpDown -->
<!-- =============================================================================== -->
<Style TargetType="{x:Type toolkit:UIntegerUpDown}"
BasedOn="{StaticResource NumericUpDown_Normal}">
<Setter Property="ButtonSpinnerWidth" Value="40"></Setter>
</Style>
<!-- =============================================================================== -->
<!-- ULongUpDown -->
<!-- =============================================================================== -->
<Style TargetType="{x:Type toolkit:ULongUpDown}"
BasedOn="{StaticResource NumericUpDown_Normal}">
<Setter Property="ButtonSpinnerWidth" Value="40"></Setter>
</Style>
<!-- =============================================================================== -->
<!-- UShortUpDown -->
<!-- =============================================================================== -->
<Style TargetType="{x:Type toolkit:UShortUpDown}"
BasedOn="{StaticResource NumericUpDown_Normal}">
<Setter Property="ButtonSpinnerWidth" Value="40"></Setter>
</Style>
</ResourceDictionary>
\ No newline at end of file
VIZ.H2V.Module.Resource/VIZ.H2V.Module.Resource.csproj
View file @
ad452264
...
...
@@ -64,6 +64,21 @@
<Reference Include="WindowsBase" />
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
<Reference Include="Xceed.Wpf.AvalonDock, Version=4.4.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
<HintPath>..\packages\Extended.Wpf.Toolkit.4.4.0\lib\net40\Xceed.Wpf.AvalonDock.dll</HintPath>
</Reference>
<Reference Include="Xceed.Wpf.AvalonDock.Themes.Aero, Version=4.4.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
<HintPath>..\packages\Extended.Wpf.Toolkit.4.4.0\lib\net40\Xceed.Wpf.AvalonDock.Themes.Aero.dll</HintPath>
</Reference>
<Reference Include="Xceed.Wpf.AvalonDock.Themes.Metro, Version=4.4.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
<HintPath>..\packages\Extended.Wpf.Toolkit.4.4.0\lib\net40\Xceed.Wpf.AvalonDock.Themes.Metro.dll</HintPath>
</Reference>
<Reference Include="Xceed.Wpf.AvalonDock.Themes.VS2010, Version=4.4.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
<HintPath>..\packages\Extended.Wpf.Toolkit.4.4.0\lib\net40\Xceed.Wpf.AvalonDock.Themes.VS2010.dll</HintPath>
</Reference>
<Reference Include="Xceed.Wpf.Toolkit, Version=4.4.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
<HintPath>..\packages\Extended.Wpf.Toolkit.4.4.0\lib\net40\Xceed.Wpf.Toolkit.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Page Include="Style\Button\Button_NdiView.xaml">
...
...
@@ -122,8 +137,13 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="Toolkit\NumericUpDown\NumericUpDown.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
</ItemGroup>
<ItemGroup>
<Compile Include="Converter\AlgorithmStrategyTagStringConverter.cs" />
<Compile Include="Converter\AlgorithmStrategyType2FootballFieldHeightConverter.cs" />
<Compile Include="Converter\AlgorithmStrategyType2FootballFieldOrientationConverter.cs" />
<Compile Include="Converter\TallyColor2RadialGradientBrushConverter.cs" />
...
...
@@ -148,6 +168,7 @@
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
<None Include="app.config" />
<None Include="packages.config" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
...
...
@@ -216,5 +237,9 @@
<ItemGroup>
<Resource Include="Icons\tally_24x24.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Icons\triangle_down_16x16.png" />
<Resource Include="Icons\triangle_up_16x16.png" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
\ No newline at end of file
VIZ.H2V.Module.Resource/packages.config
0 → 100644
View file @
ad452264
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<
packages
>
<
package
id
=
"Extended.Wpf.Toolkit"
version
=
"4.4.0"
targetFramework
=
"net48"
/>
</
packages
>
\ No newline at end of file
VIZ.H2V.Module/NDISettingView/View/Algorithm/AlgorithmCablewayPanelView.xaml
View file @
ad452264
...
...
@@ -6,6 +6,7 @@
xmlns:local="clr-namespace:VIZ.H2V.Module"
xmlns:fcommon="clr-namespace:VIZ.Framework.Common;assembly=VIZ.Framework.Common"
xmlns:behaviors="http://schemas.microsoft.com/xaml/behaviors"
xmlns:toolkit="http://schemas.xceed.com/wpf/xaml/toolkit"
d:DataContext="{d:DesignInstance Type=local:AlgorithmCablewayPanelViewModel}"
mc:Ignorable="d"
d:DesignHeight="800" d:DesignWidth="1000">
...
...
@@ -17,7 +18,6 @@
<ResourceDictionary Source="/VIZ.H2V.Module.Resource;component/Style/TextBox/TextBox_Setting.xaml"></ResourceDictionary>
<ResourceDictionary Source="/VIZ.H2V.Module.Resource;component/Style/Slider/Slider_Setting.xaml"></ResourceDictionary>
<ResourceDictionary Source="/VIZ.H2V.Module.Resource;component/Style/CheckBox/CheckBox_Setting.xaml"></ResourceDictionary>
<ResourceDictionary Source="/VIZ.Framework.Common.Resource;component/Style/NumberBox/NumberBox.xaml"></ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
...
...
@@ -62,20 +62,20 @@
</Grid.ColumnDefinitions>
<TextBlock Text="权重(%)" Foreground="White" FontSize="18" VerticalAlignment="Center" Grid.Row="0"></TextBlock>
<!-- 人物面积占比 -->
<
fcommon:NumberBox Grid.Row="1" Height="40" MinValue="0" MaxValue="100" Interval
="1"
Value="{Binding Path=PersonAreaProportionWeight,Mode=TwoWay}"></fcommon:NumberBox
>
<
toolkit:DoubleUpDown Grid.Row="1" Height="40" Minimum="0" Maximum="100" Increment
="1"
Value="{Binding Path=PersonAreaProportionWeight,Mode=TwoWay}"></toolkit:DoubleUpDown
>
<TextBlock Text="人物面积占比" Margin="10,0,0,0" Foreground="White" FontSize="18" VerticalAlignment="Center" Grid.Row="1" Grid.Column="1"></TextBlock>
<
fcommon:NumberBox Grid.Row="1" Height="40" MinValue="0" MaxValue="100" Interval
="0.1" Grid.Column="2"
Value="{Binding Path=PersonAreaProportion,Mode=TwoWay}"></fcommon:NumberBox
>
<
toolkit:DoubleUpDown Grid.Row="1" Height="40" Minimum="0" Maximum="100" Increment
="0.1" Grid.Column="2"
Value="{Binding Path=PersonAreaProportion,Mode=TwoWay}"></toolkit:DoubleUpDown
>
<!-- 置信度 -->
<
fcommon:NumberBox Grid.Row="2" Height="40" MinValue="0" MaxValue="100" Interval
="1"
Value="{Binding Path=ConfidenceWeight,Mode=TwoWay}"></fcommon:NumberBox
>
<
toolkit:DoubleUpDown Grid.Row="2" Height="40" Minimum="0" Maximum="100" Increment
="1"
Value="{Binding Path=ConfidenceWeight,Mode=TwoWay}"></toolkit:DoubleUpDown
>
<TextBlock Text="置信度" Margin="10,0,0,0" Foreground="White" FontSize="18" VerticalAlignment="Center" Grid.Row="2" Grid.Column="1"></TextBlock>
<
fcommon:NumberBox Grid.Row="2" Height="40" MinValue="0" MaxValue="100" Interval
="0.1" Grid.Column="2"
Value="{Binding Path=Confidence,Mode=TwoWay}"></fcommon:NumberBox
>
<
toolkit:DoubleUpDown Grid.Row="2" Height="40" Minimum="0" Maximum="100" Increment
="0.1" Grid.Column="2"
Value="{Binding Path=Confidence,Mode=TwoWay}"></toolkit:DoubleUpDown
>
<!-- 距离画面中心的位置 -->
<
fcommon:NumberBox Grid.Row="3" Height="40" MinValue="0" MaxValue="100" Interval
="1"
Value="{Binding Path=PositionToCenterWeight,Mode=TwoWay}"></fcommon:NumberBox
>
<
toolkit:DoubleUpDown Grid.Row="3" Height="40" Minimum="0" Maximum="100" Increment
="1"
Value="{Binding Path=PositionToCenterWeight,Mode=TwoWay}"></toolkit:DoubleUpDown
>
<TextBlock Text="距离画面中心的位置" Margin="10,0,0,0" Foreground="White" FontSize="18" VerticalAlignment="Center" Grid.Row="3" Grid.Column="1"></TextBlock>
</Grid>
...
...
@@ -90,7 +90,7 @@
<ColumnDefinition Width="80"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="80"></ColumnDefinition>
<ColumnDefinition Width="
8
0"></ColumnDefinition>
<ColumnDefinition Width="
10
0"></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Text="非常平滑,移动速度慢" Foreground="#aaffffff" FontSize="14" Grid.ColumnSpan="2" VerticalAlignment="Center" Margin="18,0,0,0"></TextBlock>
<TextBlock Text="一般平滑,移动速度快" Foreground="#aaffffff" FontSize="14" Grid.ColumnSpan="2" Grid.Column="1" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,0,24,0"></TextBlock>
...
...
@@ -99,9 +99,9 @@
Minimum="0.001" Maximum="0.05" IsSnapToTickEnabled="True" TickFrequency="0.001"
Value="{Binding Path=SmoothCoeff,Mode=TwoWay}"></Slider>
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Center" Text="0.05" Foreground="White" FontSize="16" Grid.Column="2" Grid.Row="1"></TextBlock>
<
fcommon:NumberBox Grid.Column="3" Height="40" IsShowUpAndDownButton="False
" Grid.Row="1"
MinValue="0.001" MaxValue="0.05" Interval
="0.001"
Value="{Binding Path=SmoothCoeff,Mode=TwoWay}"></fcommon:NumberBox
>
<
toolkit:DoubleUpDown Grid.Column="3" Height="40
" Grid.Row="1"
Minimum="0.001" Maximum="0.05" Increment
="0.001"
Value="{Binding Path=SmoothCoeff,Mode=TwoWay}"></toolkit:DoubleUpDown
>
</Grid>
<!-- 默认策略 -->
<!-- 维持上一帧位置(帧) -->
...
...
@@ -114,8 +114,8 @@
<ColumnDefinition Width="40"></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Text="维持上一帧位置(帧)" Foreground="White" FontSize="18" VerticalAlignment="Center"></TextBlock>
<
fcommon:NumberBox Grid.Column="1" MinValue="0" MaxValue="1000000" Interval
="1" Height="40"
Value="{Binding Path=KeepPrevFrame,Mode=TwoWay}"></fcommon:NumberBox
>
<
toolkit:DoubleUpDown Grid.Column="1" Minimum="0" Maximum="1000000" Increment
="1" Height="40"
Value="{Binding Path=KeepPrevFrame,Mode=TwoWay}"></toolkit:DoubleUpDown
>
<TextBlock Text="内" Foreground="White" FontSize="18" VerticalAlignment="Center" Grid.Column="2"
HorizontalAlignment="Right"></TextBlock>
</Grid>
...
...
@@ -180,8 +180,8 @@
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Text="手动校准半径(像素)" Foreground="White" FontSize="18" VerticalAlignment="Center"></TextBlock>
<
fcommon:NumberBox Grid.Column="1" MinValue="200" MaxValue="400" Interval
="1" Height="40"
Value="{Binding Path=ManualCorrectionRadius,Mode=TwoWay}"></fcommon:NumberBox
>
<
toolkit:DoubleUpDown Grid.Column="1" Minimum="200" Maximum="400" Increment
="1" Height="40"
Value="{Binding Path=ManualCorrectionRadius,Mode=TwoWay}"></toolkit:DoubleUpDown
>
</Grid>
</Grid>
</Border>
...
...
VIZ.H2V.Module/NDISettingView/View/Algorithm/AlgorithmNearPanelView.xaml
View file @
ad452264
...
...
@@ -6,6 +6,7 @@
xmlns:local="clr-namespace:VIZ.H2V.Module"
xmlns:fcommon="clr-namespace:VIZ.Framework.Common;assembly=VIZ.Framework.Common"
xmlns:behaviors="http://schemas.microsoft.com/xaml/behaviors"
xmlns:toolkit="http://schemas.xceed.com/wpf/xaml/toolkit"
d:DataContext="{d:DesignInstance Type=local:AlgorithmNearPanelViewModel}"
mc:Ignorable="d"
d:DesignHeight="800" d:DesignWidth="1000">
...
...
@@ -17,7 +18,6 @@
<ResourceDictionary Source="/VIZ.H2V.Module.Resource;component/Style/TextBox/TextBox_Setting.xaml"></ResourceDictionary>
<ResourceDictionary Source="/VIZ.H2V.Module.Resource;component/Style/Slider/Slider_Setting.xaml"></ResourceDictionary>
<ResourceDictionary Source="/VIZ.H2V.Module.Resource;component/Style/CheckBox/CheckBox_Setting.xaml"></ResourceDictionary>
<ResourceDictionary Source="/VIZ.Framework.Common.Resource;component/Style/NumberBox/NumberBox.xaml"></ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
...
...
@@ -62,20 +62,20 @@
</Grid.ColumnDefinitions>
<TextBlock Text="权重(%)" Foreground="White" FontSize="18" VerticalAlignment="Center" Grid.Row="0"></TextBlock>
<!-- 人物面积占比 -->
<
fcommon:NumberBox Grid.Row="1" Height="40" MinValue="0" MaxValue="100" Interval
="1"
Value="{Binding Path=PersonAreaProportionWeight,Mode=TwoWay}"></fcommon:NumberBox
>
<
toolkit:DoubleUpDown Grid.Row="1" Height="40" Minimum="0" Maximum="100" Increment
="1"
Value="{Binding Path=PersonAreaProportionWeight,Mode=TwoWay}"></toolkit:DoubleUpDown
>
<TextBlock Text="人物面积占比" Margin="10,0,0,0" Foreground="White" FontSize="18" VerticalAlignment="Center" Grid.Row="1" Grid.Column="1"></TextBlock>
<
fcommon:NumberBox Grid.Row="1" Height="40" MinValue="0" MaxValue="100" Interval
="0.1" Grid.Column="2"
Value="{Binding Path=PersonAreaProportion,Mode=TwoWay}"></fcommon:NumberBox
>
<
toolkit:DoubleUpDown Grid.Row="1" Height="40" Minimum="0" Maximum="100" Increment
="0.1" Grid.Column="2"
Value="{Binding Path=PersonAreaProportion,Mode=TwoWay}"></toolkit:DoubleUpDown
>
<!-- 置信度 -->
<
fcommon:NumberBox Grid.Row="2" Height="40" MinValue="0" MaxValue="100" Interval
="1"
Value="{Binding Path=ConfidenceWeight,Mode=TwoWay}"></fcommon:NumberBox
>
<
toolkit:DoubleUpDown Grid.Row="2" Height="40" Minimum="0" Maximum="100" Increment
="1"
Value="{Binding Path=ConfidenceWeight,Mode=TwoWay}"></toolkit:DoubleUpDown
>
<TextBlock Text="置信度" Margin="10,0,0,0" Foreground="White" FontSize="18" VerticalAlignment="Center" Grid.Row="2" Grid.Column="1"></TextBlock>
<
fcommon:NumberBox Grid.Row="2" Height="40" MinValue="0" MaxValue="100" Interval
="0.1" Grid.Column="2"
Value="{Binding Path=Confidence,Mode=TwoWay}"></fcommon:NumberBox
>
<
toolkit:DoubleUpDown Grid.Row="2" Height="40" Minimum="0" Maximum="100" Increment
="0.1" Grid.Column="2"
Value="{Binding Path=Confidence,Mode=TwoWay}"></toolkit:DoubleUpDown
>
<!-- 距离画面中心的位置 -->
<
fcommon:NumberBox Grid.Row="3" Height="40" MinValue="0" MaxValue="100" Interval
="1"
Value="{Binding Path=PositionToCenterWeight,Mode=TwoWay}"></fcommon:NumberBox
>
<
toolkit:DoubleUpDown Grid.Row="3" Height="40" Minimum="0" Maximum="100" Increment
="1"
Value="{Binding Path=PositionToCenterWeight,Mode=TwoWay}"></toolkit:DoubleUpDown
>
<TextBlock Text="距离画面中心的位置" Margin="10,0,0,0" Foreground="White" FontSize="18" VerticalAlignment="Center" Grid.Row="3" Grid.Column="1"></TextBlock>
</Grid>
...
...
@@ -90,7 +90,7 @@
<ColumnDefinition Width="80"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="80"></ColumnDefinition>
<ColumnDefinition Width="
8
0"></ColumnDefinition>
<ColumnDefinition Width="
10
0"></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Text="非常平滑,移动速度慢" Foreground="#aaffffff" FontSize="14" Grid.ColumnSpan="2" VerticalAlignment="Center" Margin="18,0,0,0"></TextBlock>
<TextBlock Text="一般平滑,移动速度快" Foreground="#aaffffff" FontSize="14" Grid.ColumnSpan="2" Grid.Column="1" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,0,24,0"></TextBlock>
...
...
@@ -99,9 +99,9 @@
Minimum="0.001" Maximum="0.05" IsSnapToTickEnabled="True" TickFrequency="0.001"
Value="{Binding Path=SmoothCoeff,Mode=TwoWay}"></Slider>
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Center" Text="0.05" Foreground="White" FontSize="16" Grid.Column="2" Grid.Row="1"></TextBlock>
<
fcommon:NumberBox Grid.Column="3" Height="40" IsShowUpAndDownButton="False
" Grid.Row="1"
MinValue="0.001" MaxValue="0.05" Interval
="0.001"
Value="{Binding Path=SmoothCoeff,Mode=TwoWay}"></fcommon:NumberBox
>
<
toolkit:DoubleUpDown Grid.Column="3" Height="40
" Grid.Row="1"
Minimum="0.001" Maximum="0.05" Increment
="0.001"
Value="{Binding Path=SmoothCoeff,Mode=TwoWay}"></toolkit:DoubleUpDown
>
</Grid>
<!-- 默认策略 -->
<!-- 维持上一帧位置(帧) -->
...
...
@@ -114,8 +114,8 @@
<ColumnDefinition Width="40"></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Text="维持上一帧位置(帧)" Foreground="White" FontSize="18" VerticalAlignment="Center"></TextBlock>
<
fcommon:NumberBox Grid.Column="1" MinValue="0" MaxValue="1000000" Interval
="1" Height="40"
Value="{Binding Path=KeepPrevFrame,Mode=TwoWay}"></fcommon:NumberBox
>
<
toolkit:DoubleUpDown Grid.Column="1" Minimum="0" Maximum="1000000" Increment
="1" Height="40"
Value="{Binding Path=KeepPrevFrame,Mode=TwoWay}"></toolkit:DoubleUpDown
>
<TextBlock Text="内" Foreground="White" FontSize="18" VerticalAlignment="Center" Grid.Column="2"
Margin="10,0,0,0"></TextBlock>
</Grid>
...
...
@@ -180,8 +180,8 @@
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Text="手动校准半径(像素)" Foreground="White" FontSize="18" VerticalAlignment="Center"></TextBlock>
<
fcommon:NumberBox Grid.Column="1" MinValue="200" MaxValue="400" Interval
="1" Height="40"
Value="{Binding Path=ManualCorrectionRadius,Mode=TwoWay}"></fcommon:NumberBox
>
<
toolkit:DoubleUpDown Grid.Column="1" Minimum="200" Maximum="400" Increment
="1" Height="40"
Value="{Binding Path=ManualCorrectionRadius,Mode=TwoWay}"></toolkit:DoubleUpDown
>
</Grid>
</Grid>
</Border>
...
...
VIZ.H2V.Module/NDISettingView/View/Algorithm/AlgorithmSinglePanelView.xaml
View file @
ad452264
...
...
@@ -6,6 +6,7 @@
xmlns:local="clr-namespace:VIZ.H2V.Module"
xmlns:fcommon="clr-namespace:VIZ.Framework.Common;assembly=VIZ.Framework.Common"
xmlns:behaviors="http://schemas.microsoft.com/xaml/behaviors"
xmlns:toolkit="http://schemas.xceed.com/wpf/xaml/toolkit"
d:DataContext="{d:DesignInstance Type=local:AlgorithmSinglePanelViewModel}"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
...
...
@@ -17,7 +18,6 @@
<ResourceDictionary Source="/VIZ.H2V.Module.Resource;component/Style/Button/Button_Setting.xaml"></ResourceDictionary>
<ResourceDictionary Source="/VIZ.H2V.Module.Resource;component/Style/TextBox/TextBox_Setting.xaml"></ResourceDictionary>
<ResourceDictionary Source="/VIZ.H2V.Module.Resource;component/Style/Slider/Slider_Setting.xaml"></ResourceDictionary>
<ResourceDictionary Source="/VIZ.Framework.Common.Resource;component/Style/NumberBox/NumberBox.xaml"></ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
...
...
@@ -53,7 +53,7 @@
<ColumnDefinition Width="80"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="80"></ColumnDefinition>
<ColumnDefinition Width="
8
0"></ColumnDefinition>
<ColumnDefinition Width="
10
0"></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Text="非常平滑,移动速度慢" Foreground="#aaffffff" FontSize="14" Grid.ColumnSpan="2" VerticalAlignment="Center" Margin="18,0,0,0"></TextBlock>
<TextBlock Text="一般平滑,移动速度快" Foreground="#aaffffff" FontSize="14" Grid.ColumnSpan="2" Grid.Column="1" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,0,24,0"></TextBlock>
...
...
@@ -62,9 +62,9 @@
Minimum="0.001" Maximum="0.05" IsSnapToTickEnabled="True" TickFrequency="0.001"
Value="{Binding Path=SmoothCoeff,Mode=TwoWay}"></Slider>
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Center" Text="0.05" Foreground="White" FontSize="16" Grid.Column="2" Grid.Row="1"></TextBlock>
<
fcommon:NumberBox Grid.Column="3" Height="40" IsShowUpAndDownButton="False
" Grid.Row="1"
MinValue="0.001" MaxValue="0.05" Interval
="0.001"
Value="{Binding Path=SmoothCoeff,Mode=TwoWay}"></fcommon:NumberBox
>
<
toolkit:DoubleUpDown Grid.Column="3" Height="40
" Grid.Row="1"
Minimum="0.001" Maximum="0.05" Increment
="0.001"
Value="{Binding Path=SmoothCoeff,Mode=TwoWay}"></toolkit:DoubleUpDown
>
</Grid>
<!-- 默认策略 -->
<!-- 维持上一帧位置(帧) -->
...
...
@@ -77,8 +77,8 @@
<ColumnDefinition Width="40"></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Text="维持上一帧位置(帧)" Foreground="White" FontSize="18" VerticalAlignment="Center"></TextBlock>
<
fcommon:NumberBox Grid.Column="1" MinValue="0" MaxValue="1000000" Interval
="1" Height="40"
Value="{Binding Path=KeepPrevFrame,Mode=TwoWay}"></fcommon:NumberBox
>
<
toolkit:DoubleUpDown Grid.Column="1" Minimum="0" Maximum="1000000" Increment
="1" Height="40"
Value="{Binding Path=KeepPrevFrame,Mode=TwoWay}"></toolkit:DoubleUpDown
>
<TextBlock Text="内" Foreground="White" FontSize="18" VerticalAlignment="Center" Grid.Column="2"
Margin="10,0,0,0"></TextBlock>
</Grid>
...
...
@@ -145,8 +145,8 @@
<ColumnDefinition Width="40"></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Text="跟踪框面积占比小于x%时自动校准" Foreground="White" FontSize="18" VerticalAlignment="Center"></TextBlock>
<
fcommon:NumberBox Grid.Column="1" MinValue="0" MaxValue="100" Interval
="0.01" Height="40"
Value="{Binding Path=AreaCorrectionRatio,Mode=TwoWay}"></fcommon:NumberBox
>
<
toolkit:DoubleUpDown Grid.Column="1" Minimum="0" Maximum="100" Increment
="0.01" Height="40"
Value="{Binding Path=AreaCorrectionRatio,Mode=TwoWay}"></toolkit:DoubleUpDown
>
<TextBlock Text="%" Foreground="White" FontSize="18" VerticalAlignment="Center" Grid.Column="2"
Margin="10,0,0,0"></TextBlock>
</Grid>
...
...
@@ -158,8 +158,8 @@
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Text="自动校准置信度" Foreground="White" FontSize="18" VerticalAlignment="Center"></TextBlock>
<
fcommon:NumberBox Grid.Column="1" MinValue="0" MaxValue="100" Interval
="0.01" Height="40"
Value="{Binding Path=AreaCorrectionConfidence,Mode=TwoWay}"></fcommon:NumberBox
>
<
toolkit:DoubleUpDown Grid.Column="1" Minimum="0" Maximum="100" Increment
="0.01" Height="40"
Value="{Binding Path=AreaCorrectionConfidence,Mode=TwoWay}"></toolkit:DoubleUpDown
>
</Grid>
</Grid>
</Border>
...
...
VIZ.H2V.Module/NDISettingView/View/Algorithm/AlgorithmSixteenPanelView.xaml
View file @
ad452264
...
...
@@ -6,6 +6,7 @@
xmlns:local="clr-namespace:VIZ.H2V.Module"
xmlns:fcommon="clr-namespace:VIZ.Framework.Common;assembly=VIZ.Framework.Common"
xmlns:behaviors="http://schemas.microsoft.com/xaml/behaviors"
xmlns:toolkit="http://schemas.xceed.com/wpf/xaml/toolkit"
d:DataContext="{d:DesignInstance Type=local:AlgorithmSixteenPanelViewModel}"
mc:Ignorable="d"
d:DesignHeight="800" d:DesignWidth="1000">
...
...
@@ -17,7 +18,6 @@
<ResourceDictionary Source="/VIZ.H2V.Module.Resource;component/Style/TextBox/TextBox_Setting.xaml"></ResourceDictionary>
<ResourceDictionary Source="/VIZ.H2V.Module.Resource;component/Style/Slider/Slider_Setting.xaml"></ResourceDictionary>
<ResourceDictionary Source="/VIZ.H2V.Module.Resource;component/Style/CheckBox/CheckBox_Setting.xaml"></ResourceDictionary>
<ResourceDictionary Source="/VIZ.Framework.Common.Resource;component/Style/NumberBox/NumberBox.xaml"></ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
...
...
@@ -62,20 +62,20 @@
</Grid.ColumnDefinitions>
<TextBlock Text="权重(%)" Foreground="White" FontSize="18" VerticalAlignment="Center" Grid.Row="0"></TextBlock>
<!-- 人物面积占比 -->
<
fcommon:NumberBox Grid.Row="1" Height="40" MinValue="0" MaxValue="100" Interval
="1"
Value="{Binding Path=PersonAreaProportionWeight,Mode=TwoWay}"></
fcommon:NumberBox
>
<
toolkit:DoubleUpDown Grid.Row="1" Height="40" Minimum="0" Maximum="100" Increment
="1"
Value="{Binding Path=PersonAreaProportionWeight,Mode=TwoWay}"></
toolkit:DoubleUpDown
>
<TextBlock Text="人物面积占比" Margin="10,0,0,0" Foreground="White" FontSize="18" VerticalAlignment="Center" Grid.Row="1" Grid.Column="1"></TextBlock>
<
fcommon:NumberBox Grid.Row="1" Height="40" MinValue="0" MaxValue="100" Interval
="0.1" Grid.Column="2"
Value="{Binding Path=PersonAreaProportion,Mode=TwoWay}"></
fcommon:NumberBox
>
<
toolkit:DoubleUpDown Grid.Row="1" Height="40" Minimum="0" Maximum="100" Increment
="0.1" Grid.Column="2"
Value="{Binding Path=PersonAreaProportion,Mode=TwoWay}"></
toolkit:DoubleUpDown
>
<!-- 置信度 -->
<
fcommon:NumberBox Grid.Row="2" Height="40" MinValue="0" MaxValue="100" Interval
="1"
Value="{Binding Path=ConfidenceWeight,Mode=TwoWay}"></fcommon:NumberBox
>
<
toolkit:DoubleUpDown Grid.Row="2" Height="40" Minimum="0" Maximum="100" Increment
="1"
Value="{Binding Path=ConfidenceWeight,Mode=TwoWay}"></toolkit:DoubleUpDown
>
<TextBlock Text="置信度" Margin="10,0,0,0" Foreground="White" FontSize="18" VerticalAlignment="Center" Grid.Row="2" Grid.Column="1"></TextBlock>
<
fcommon:NumberBox Grid.Row="2" Height="40" MinValue="0" MaxValue="100" Interval
="0.1" Grid.Column="2"
Value="{Binding Path=Confidence,Mode=TwoWay}"></fcommon:NumberBox
>
<
toolkit:DoubleUpDown Grid.Row="2" Height="40" Minimum="0" Maximum="100" Increment
="0.1" Grid.Column="2"
Value="{Binding Path=Confidence,Mode=TwoWay}"></toolkit:DoubleUpDown
>
<!-- 距离画面中心的位置 -->
<
fcommon:NumberBox Grid.Row="3" Height="40" MinValue="0" MaxValue="100" Interval
="1"
Value="{Binding Path=PositionToCenterWeight,Mode=TwoWay}"></fcommon:NumberBox
>
<
toolkit:DoubleUpDown Grid.Row="3" Height="40" Minimum="0" Maximum="100" Increment
="1"
Value="{Binding Path=PositionToCenterWeight,Mode=TwoWay}"></toolkit:DoubleUpDown
>
<TextBlock Text="距离画面中心的位置" Margin="10,0,0,0" Foreground="White" FontSize="18" VerticalAlignment="Center" Grid.Row="3" Grid.Column="1"></TextBlock>
</Grid>
...
...
@@ -90,7 +90,7 @@
<ColumnDefinition Width="80"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="80"></ColumnDefinition>
<ColumnDefinition Width="
8
0"></ColumnDefinition>
<ColumnDefinition Width="
10
0"></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Text="非常平滑,移动速度慢" Foreground="#aaffffff" FontSize="14" Grid.ColumnSpan="2" VerticalAlignment="Center" Margin="18,0,0,0"></TextBlock>
<TextBlock Text="一般平滑,移动速度快" Foreground="#aaffffff" FontSize="14" Grid.ColumnSpan="2" Grid.Column="1" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,0,24,0"></TextBlock>
...
...
@@ -99,9 +99,9 @@
Minimum="0.001" Maximum="0.05" IsSnapToTickEnabled="True" TickFrequency="0.001"
Value="{Binding Path=SmoothCoeff,Mode=TwoWay}"></Slider>
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Center" Text="0.05" Foreground="White" FontSize="16" Grid.Column="2" Grid.Row="1"></TextBlock>
<
fcommon:NumberBox Grid.Column="3" Height="40" IsShowUpAndDownButton="False
" Grid.Row="1"
MinValue="0.001" MaxValue="0.05" Interval
="0.001"
Value="{Binding Path=SmoothCoeff,Mode=TwoWay}"></fcommon:NumberBox
>
<
toolkit:DoubleUpDown Grid.Column="3" Height="40
" Grid.Row="1"
Minimum="0.001" Maximum="0.05" Increment
="0.001"
Value="{Binding Path=SmoothCoeff,Mode=TwoWay}"></toolkit:DoubleUpDown
>
</Grid>
<!-- 默认策略 -->
<!-- 维持上一帧位置(帧) -->
...
...
@@ -114,8 +114,8 @@
<ColumnDefinition Width="40"></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Text="维持上一帧位置(帧)" Foreground="White" FontSize="18" VerticalAlignment="Center"></TextBlock>
<
fcommon:NumberBox Grid.Column="1" MinValue="0" MaxValue="1000000" Interval
="1" Height="40"
Value="{Binding Path=KeepPrevFrame,Mode=TwoWay}"></fcommon:NumberBox
>
<
toolkit:DoubleUpDown Grid.Column="1" Minimum="0" Maximum="1000000" Increment
="1" Height="40"
Value="{Binding Path=KeepPrevFrame,Mode=TwoWay}"></toolkit:DoubleUpDown
>
<TextBlock Text="内" Foreground="White" FontSize="18" VerticalAlignment="Center" Grid.Column="2"
HorizontalAlignment="Right"></TextBlock>
</Grid>
...
...
@@ -180,8 +180,8 @@
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Text="手动校准半径(像素)" Foreground="White" FontSize="18" VerticalAlignment="Center"></TextBlock>
<
fcommon:NumberBox Grid.Column="1" MinValue="200" MaxValue="400" Interval
="1" Height="40"
Value="{Binding Path=ManualCorrectionRadius,Mode=TwoWay}"></fcommon:NumberBox
>
<
toolkit:DoubleUpDown Grid.Column="1" Minimum="200" Maximum="400" Increment
="1" Height="40"
Value="{Binding Path=ManualCorrectionRadius,Mode=TwoWay}"></toolkit:DoubleUpDown
>
</Grid>
</Grid>
</Border>
...
...
VIZ.H2V.Module/NDISettingView/View/Algorithm/AlgorithmTacticsPanelView.xaml
View file @
ad452264
...
...
@@ -6,6 +6,7 @@
xmlns:local="clr-namespace:VIZ.H2V.Module"
xmlns:fcommon="clr-namespace:VIZ.Framework.Common;assembly=VIZ.Framework.Common"
xmlns:behaviors="http://schemas.microsoft.com/xaml/behaviors"
xmlns:toolkit="http://schemas.xceed.com/wpf/xaml/toolkit"
d:DataContext="{d:DesignInstance Type=local:AlgorithmTacticsPanelViewModel}"
mc:Ignorable="d"
d:DesignHeight="800" d:DesignWidth="1000">
...
...
@@ -17,7 +18,6 @@
<ResourceDictionary Source="/VIZ.H2V.Module.Resource;component/Style/TextBox/TextBox_Setting.xaml"></ResourceDictionary>
<ResourceDictionary Source="/VIZ.H2V.Module.Resource;component/Style/Slider/Slider_Setting.xaml"></ResourceDictionary>
<ResourceDictionary Source="/VIZ.H2V.Module.Resource;component/Style/CheckBox/CheckBox_Setting.xaml"></ResourceDictionary>
<ResourceDictionary Source="/VIZ.Framework.Common.Resource;component/Style/NumberBox/NumberBox.xaml"></ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
...
...
@@ -62,20 +62,20 @@
</Grid.ColumnDefinitions>
<TextBlock Text="权重(%)" Foreground="White" FontSize="18" VerticalAlignment="Center" Grid.Row="0"></TextBlock>
<!-- 人物面积占比 -->
<
fcommon:NumberBox Grid.Row="1" Height="40" MinValue="0" MaxValue="100" Interval
="1"
Value="{Binding Path=PersonAreaProportionWeight,Mode=TwoWay}"></fcommon:NumberBox
>
<
toolkit:DoubleUpDown Grid.Row="1" Height="40" Minimum="0" Maximum="100" Increment
="1"
Value="{Binding Path=PersonAreaProportionWeight,Mode=TwoWay}"></toolkit:DoubleUpDown
>
<TextBlock Text="人物面积占比" Margin="10,0,0,0" Foreground="White" FontSize="18" VerticalAlignment="Center" Grid.Row="1" Grid.Column="1"></TextBlock>
<
fcommon:NumberBox Grid.Row="1" Height="40" MinValue="0" MaxValue="100" Interval
="0.1" Grid.Column="2"
Value="{Binding Path=PersonAreaProportion,Mode=TwoWay}"></fcommon:NumberBox
>
<
toolkit:DoubleUpDown Grid.Row="1" Height="40" Minimum="0" Maximum="100" Increment
="0.1" Grid.Column="2"
Value="{Binding Path=PersonAreaProportion,Mode=TwoWay}"></toolkit:DoubleUpDown
>
<!-- 置信度 -->
<
fcommon:NumberBox Grid.Row="2" Height="40" MinValue="0" MaxValue="100" Interval
="1"
Value="{Binding Path=ConfidenceWeight,Mode=TwoWay}"></fcommon:NumberBox
>
<
toolkit:DoubleUpDown Grid.Row="2" Height="40" Minimum="0" Maximum="100" Increment
="1"
Value="{Binding Path=ConfidenceWeight,Mode=TwoWay}"></toolkit:DoubleUpDown
>
<TextBlock Text="置信度" Margin="10,0,0,0" Foreground="White" FontSize="18" VerticalAlignment="Center" Grid.Row="2" Grid.Column="1"></TextBlock>
<
fcommon:NumberBox Grid.Row="2" Height="40" MinValue="0" MaxValue="100" Interval
="0.1" Grid.Column="2"
Value="{Binding Path=Confidence,Mode=TwoWay}"></fcommon:NumberBox
>
<
toolkit:DoubleUpDown Grid.Row="2" Height="40" Minimum="0" Maximum="100" Increment
="0.1" Grid.Column="2"
Value="{Binding Path=Confidence,Mode=TwoWay}"></toolkit:DoubleUpDown
>
<!-- 距离画面中心的位置 -->
<
fcommon:NumberBox Grid.Row="3" Height="40" MinValue="0" MaxValue="100" Interval
="1"
Value="{Binding Path=PositionToCenterWeight,Mode=TwoWay}"></fcommon:NumberBox
>
<
toolkit:DoubleUpDown Grid.Row="3" Height="40" Minimum="0" Maximum="100" Increment
="1"
Value="{Binding Path=PositionToCenterWeight,Mode=TwoWay}"></toolkit:DoubleUpDown
>
<TextBlock Text="距离画面中心的位置" Margin="10,0,0,0" Foreground="White" FontSize="18" VerticalAlignment="Center" Grid.Row="3" Grid.Column="1"></TextBlock>
</Grid>
...
...
@@ -90,7 +90,7 @@
<ColumnDefinition Width="80"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="80"></ColumnDefinition>
<ColumnDefinition Width="
8
0"></ColumnDefinition>
<ColumnDefinition Width="
10
0"></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Text="非常平滑,移动速度慢" Foreground="#aaffffff" FontSize="14" Grid.ColumnSpan="2" VerticalAlignment="Center" Margin="18,0,0,0"></TextBlock>
<TextBlock Text="一般平滑,移动速度快" Foreground="#aaffffff" FontSize="14" Grid.ColumnSpan="2" Grid.Column="1" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,0,24,0"></TextBlock>
...
...
@@ -99,9 +99,9 @@
Minimum="0.001" Maximum="0.05" IsSnapToTickEnabled="True" TickFrequency="0.001"
Value="{Binding Path=SmoothCoeff,Mode=TwoWay}"></Slider>
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Center" Text="0.05" Foreground="White" FontSize="16" Grid.Column="2" Grid.Row="1"></TextBlock>
<
fcommon:NumberBox Grid.Column="3" Height="40" IsShowUpAndDownButton="False
" Grid.Row="1"
MinValue="0.001" MaxValue="0.05" Interval
="0.001"
Value="{Binding Path=SmoothCoeff,Mode=TwoWay}"></fcommon:NumberBox
>
<
toolkit:DoubleUpDown Grid.Column="3" Height="40
" Grid.Row="1"
Minimum="0.001" Maximum="0.05" Increment
="0.001"
Value="{Binding Path=SmoothCoeff,Mode=TwoWay}"></toolkit:DoubleUpDown
>
</Grid>
<!-- 默认策略 -->
<!-- 维持上一帧位置(帧) -->
...
...
@@ -114,8 +114,8 @@
<ColumnDefinition Width="40"></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Text="维持上一帧位置(帧)" Foreground="White" FontSize="18" VerticalAlignment="Center"></TextBlock>
<
fcommon:NumberBox Grid.Column="1" MinValue="0" MaxValue="1000000" Interval
="1" Height="40"
Value="{Binding Path=KeepPrevFrame,Mode=TwoWay}"></fcommon:NumberBox
>
<
toolkit:DoubleUpDown Grid.Column="1" Minimum="0" Maximum="1000000" Increment
="1" Height="40"
Value="{Binding Path=KeepPrevFrame,Mode=TwoWay}"></toolkit:DoubleUpDown
>
<TextBlock Text="内" Foreground="White" FontSize="18" VerticalAlignment="Center" Grid.Column="2"
HorizontalAlignment="Right"></TextBlock>
</Grid>
...
...
@@ -180,8 +180,8 @@
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Text="手动校准半径(像素)" Foreground="White" FontSize="18" VerticalAlignment="Center"></TextBlock>
<
fcommon:NumberBox Grid.Column="1" MinValue="200" MaxValue="400" Interval
="1" Height="40"
Value="{Binding Path=ManualCorrectionRadius,Mode=TwoWay}"></fcommon:NumberBox
>
<
toolkit:DoubleUpDown Grid.Column="1" Minimum="200" Maximum="400" Increment
="1" Height="40"
Value="{Binding Path=ManualCorrectionRadius,Mode=TwoWay}"></toolkit:DoubleUpDown
>
</Grid>
</Grid>
</Border>
...
...
VIZ.H2V.Module/NDISettingView/View/AlgorithmSettingPanelView.xaml
View file @
ad452264
...
...
@@ -6,6 +6,7 @@
xmlns:local="clr-namespace:VIZ.H2V.Module"
xmlns:behaviors="http://schemas.microsoft.com/xaml/behaviors"
xmlns:fcommon="clr-namespace:VIZ.Framework.Common;assembly=VIZ.Framework.Common"
xmlns:resource="clr-namespace:VIZ.H2V.Module.Resource;assembly=VIZ.H2V.Module.Resource"
d:DataContext="{d:DesignInstance Type=local:AlgorithmSettingPanelViewModel}"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
...
...
@@ -16,6 +17,8 @@
<ResourceDictionary Source="/VIZ.H2V.Module.Resource;component/Style/Button/Button_Setting.xaml"></ResourceDictionary>
<ResourceDictionary Source="/VIZ.H2V.Module.Resource;component/Style/TextBox/TextBox_Setting.xaml"></ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
<resource:AlgorithmStrategyTagStringConverter x:Key="AlgorithmStrategyTagStringConverter"></resource:AlgorithmStrategyTagStringConverter>
</ResourceDictionary>
</UserControl.Resources>
...
...
@@ -40,15 +43,19 @@
<ComboBox.ItemTemplate>
<DataTemplate>
<Border Background="Transparent" IsHitTestVisible="False">
<TextBlock Text="{Binding Path=DisplayName}" Foreground="White" FontSize="16"></TextBlock>
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Left">
<TextBlock Text="{Binding Path=DisplayName}" Foreground="White" FontSize="16"></TextBlock>
<TextBlock Text="{Binding Path=Tag,Mode=OneWay,Converter={StaticResource AlgorithmStrategyTagStringConverter}}"
Foreground="White" FontSize="16" Margin="10,0,0,0"></TextBlock>
</StackPanel>
</Border>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
<fcommon:NavigationControl Grid.Row="3"
ItemsSource="{Binding Path=AlgorithmStrategys}"
SelectedValue="{Binding Path=SelectedAlgorithmStrategy,Mode=OneWay}">
ItemsSource="{Binding Path=AlgorithmStrategys}"
SelectedValue="{Binding Path=SelectedAlgorithmStrategy,Mode=OneWay}">
</fcommon:NavigationControl>
</Grid>
...
...
VIZ.H2V.Module/NDISettingView/View/NDISettingPanelView.xaml
View file @
ad452264
...
...
@@ -5,6 +5,7 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:VIZ.H2V.Module"
xmlns:behaviors="http://schemas.microsoft.com/xaml/behaviors"
xmlns:toolkit="http://schemas.xceed.com/wpf/xaml/toolkit"
d:DataContext="{d:DesignInstance Type=local:NDISettingPanelViewModel}"
mc:Ignorable="d"
d:DesignHeight="600" d:DesignWidth="800">
...
...
VIZ.H2V.Module/NDISettingView/ViewModel/AlgorithmSettingPanelViewModel.cs
View file @
ad452264
...
...
@@ -109,10 +109,10 @@ namespace VIZ.H2V.Module
/// </summary>
private
void
Loaded
()
{
NDISettingView
settingView
=
WPFHelper
.
GetAncestorByType
<
NDISettingView
>(
this
.
GetView
<
System
.
Windows
.
FrameworkElement
>());
NDISettingView
settingView
=
WPFHelper
.
GetAncestorByType
<
NDISettingView
>(
this
.
GetView
<
FrameworkElement
>());
NDISettingViewModel
vm
=
settingView
.
DataContext
as
NDISettingViewModel
;
this
.
ViewConfig
=
vm
.
ViewConfig
;
AlgorithmStrategyType
StrategyType
=
this
.
ViewConfig
.
StrategyType
;
int
strategyID
=
this
.
ViewConfig
.
StrategyID
;
vm
.
Settings
.
Add
(
this
);
// 加载算法分类信息
...
...
@@ -125,13 +125,15 @@ namespace VIZ.H2V.Module
{
AlgorithmStrategyModel
model
=
new
AlgorithmStrategyModel
();
model
.
ID
=
entity
.
ID
;
model
.
Type
=
entity
.
Type
;
model
.
Tag
=
entity
.
Tag
;
model
.
Name
=
entity
.
Name
;
model
.
DisplayName
=
entity
.
DisplayName
;
model
.
SetupPath
=
entity
.
Setup
Path
;
model
.
ViewType
=
this
.
GetViewType
(
(
AlgorithmStrategyType
)
entity
.
ID
);
model
.
MainPath
=
entity
.
Main
Path
;
model
.
ViewType
=
this
.
GetViewType
(
entity
.
Type
);
if
(
selected
==
null
)
{
selected
=
(
AlgorithmStrategyType
)
entity
.
ID
==
StrategyType
?
model
:
null
;
selected
=
(
entity
.
ID
==
strategyID
)
?
model
:
null
;
}
list
.
Add
(
model
);
...
...
@@ -203,7 +205,8 @@ namespace VIZ.H2V.Module
/// <returns>是否成功保存</returns>
public
bool
Save
()
{
this
.
ViewConfig
.
StrategyType
=
(
AlgorithmStrategyType
)
this
.
SelectedAlgorithmStrategy
.
ID
;
this
.
ViewConfig
.
StrategyID
=
this
.
SelectedAlgorithmStrategy
.
ID
;
this
.
ViewConfig
.
StrategyType
=
this
.
SelectedAlgorithmStrategy
.
Type
;
ApplicationDomainEx
.
LiteDbContext
.
ViewConfig
.
Update
(
this
.
ViewConfig
);
return
true
;
...
...
@@ -219,10 +222,10 @@ namespace VIZ.H2V.Module
if
(
service
==
null
)
return
false
;
AlgorithmStrategy
strategy
=
ApplicationDomainEx
.
CsvContext
.
AlgorithmStrategys
.
FirstOrDefault
(
p
=>
p
.
ID
==
(
int
)
this
.
ViewConfig
.
StrategyType
);
AlgorithmStrategy
strategy
=
ApplicationDomainEx
.
CsvContext
.
AlgorithmStrategys
.
FirstOrDefault
(
p
=>
p
.
ID
==
this
.
ViewConfig
.
StrategyID
);
if
(
strategy
!=
null
)
{
// 设置算法显示名称
service
.
StrategyID
=
strategy
.
ID
;
service
.
StrategyDisplayName
=
strategy
.
DisplayName
;
service
.
StrategyType
=
this
.
ViewConfig
.
StrategyType
;
}
...
...
VIZ.H2V.Module/NDIView/Controller/Algorithm/AlgorithmControllerBase.cs
View file @
ad452264
...
...
@@ -99,7 +99,7 @@ namespace VIZ.H2V.Module
public
void
StopAlgorithm
()
{
// 已经处于等待停止状态 || 处于停止状态 || 进程ID不存在 那么不处理
if
(
this
.
Support
.
ViewStatus
==
NDIViewStatus
.
WaitStop
||
this
.
Support
.
ViewStatus
==
NDIViewStatus
.
Stop
||
this
.
Support
.
ProcessModel
.
ProcessID
==
0
)
if
(
this
.
Support
.
ViewStatus
==
NDIViewStatus
.
WaitStop
||
this
.
Support
.
ViewStatus
==
NDIViewStatus
.
Stop
||
this
.
Support
.
ProcessModel
.
MainProcess
==
null
)
return
;
this
.
Support
.
ViewStatus
=
NDIViewStatus
.
WaitStop
;
...
...
@@ -229,7 +229,7 @@ namespace VIZ.H2V.Module
private
bool
ExecuteRestartAlgorithm
()
{
// 需要先停止
if
(
this
.
Support
.
ProcessModel
.
ProcessID
>
0
)
if
(
this
.
Support
.
ProcessModel
.
MainProcess
!=
null
)
{
// 停止算法进程
if
(!
this
.
ExecuteRestartAlgorithm_StopProcess
())
...
...
@@ -264,7 +264,6 @@ namespace VIZ.H2V.Module
// 发送停止消息
UdpEndpointManager
manager
=
ConnectionManager
.
UdpConnection
.
GetEndpointManager
(
this
.
Support
.
ViewKey
);
Process
process
=
null
;
// 拥有UDP链接管理器,那么尝试发送停止消息
if
(
manager
!=
null
)
{
...
...
@@ -276,17 +275,19 @@ namespace VIZ.H2V.Module
{
// 发送停止指令,即便异常也不需要处理
}
}
// 检测进程是否已经结束
if
(
this
.
Support
.
ProcessModel
.
MainProcess
!=
null
)
{
DateTime
beginTime
=
DateTime
.
Now
;
// 等待停止
while
((
DateTime
.
Now
-
beginTime
).
TotalMilliseconds
<
this
.
ALGORITHM_STOP_TIMEOUT
)
{
try
{
if
(
this
.
Support
.
ProcessModel
.
ProcessID
>
0
)
{
process
=
Process
.
GetProcessById
(
this
.
Support
.
ProcessModel
.
ProcessID
);
}
if
(
this
.
Support
.
ProcessModel
.
MainProcess
.
HasExited
)
break
;
}
catch
{
...
...
@@ -294,31 +295,12 @@ namespace VIZ.H2V.Module
break
;
}
if
(
process
==
null
)
break
;
Task
.
Delay
(
1000
).
Wait
();
}
}
try
{
if
(
this
.
Support
.
ProcessModel
.
ProcessID
>
0
)
{
process
=
Process
.
GetProcessById
(
this
.
Support
.
ProcessModel
.
ProcessID
);
}
}
catch
{
// 如果未获取到进程会报错,但不需要处理该异常
}
// 如果没有被停止,那么KILL
if
(
process
!=
null
)
{
try
{
p
rocess
.
Kill
();
this
.
Support
.
ProcessModel
.
MainP
rocess
.
Kill
();
}
catch
(
Exception
ex
)
{
...
...
@@ -332,15 +314,7 @@ namespace VIZ.H2V.Module
GlobalUsedPorts
.
Remove
(
this
.
Support
.
ProcessModel
.
Port
);
}
this
.
Support
.
ProcessModel
.
ProcessID
=
0
;
// 如果缓存已经被释放,那么不处理更新缓存
if
(
ApplicationDomainEx
.
LiteDbContext
==
null
)
return
true
;
// 更新缓存
this
.
Support
.
ViewConfig
.
ProcessID
=
0
;
ApplicationDomainEx
.
LiteDbContext
.
ViewConfig
.
Update
(
this
.
Support
.
ViewConfig
);
this
.
Support
.
ProcessModel
.
MainProcess
=
null
;
return
true
;
}
...
...
@@ -367,7 +341,8 @@ namespace VIZ.H2V.Module
private
bool
ExecuteRestartAlgorithm_StartProcess
()
{
// 算法配置
AlgorithmStrategy
strategy
=
ApplicationDomainEx
.
CsvContext
.
AlgorithmStrategys
.
FirstOrDefault
(
p
=>
p
.
ID
==
(
int
)
this
.
Support
.
ViewConfig
.
StrategyType
);
AlgorithmStrategy
strategy
=
ApplicationDomainEx
.
CsvContext
.
AlgorithmStrategys
.
FirstOrDefault
(
p
=>
p
.
ID
==
this
.
Support
.
ViewConfig
.
StrategyID
);
if
(
strategy
==
null
)
{
log
.
Error
(
$"未找到对应算法'
{
this
.
Support
.
ViewConfig
.
StrategyType
}
'的配置信息"
);
...
...
@@ -375,10 +350,10 @@ namespace VIZ.H2V.Module
return
false
;
}
if
(!
System
.
IO
.
File
.
Exists
(
strategy
.
Setup
Path
))
if
(!
System
.
IO
.
File
.
Exists
(
strategy
.
Main
Path
))
{
log
.
Error
(
$"算法'
{
this
.
Support
.
ViewConfig
.
StrategyType
}
'的启动路径:'
{
strategy
.
Setup
Path
}
'不正确!"
);
MessageBoxEx
.
ShowDialog
(
$"算法'
{
this
.
Support
.
ViewConfig
.
StrategyType
}
'的启动路径:'
{
strategy
.
Setup
Path
}
'不正确!"
);
log
.
Error
(
$"算法'
{
this
.
Support
.
ViewConfig
.
StrategyType
}
'的启动路径:'
{
strategy
.
Main
Path
}
'不正确!"
);
MessageBoxEx
.
ShowDialog
(
$"算法'
{
this
.
Support
.
ViewConfig
.
StrategyType
}
'的启动路径:'
{
strategy
.
Main
Path
}
'不正确!"
);
return
false
;
}
...
...
@@ -391,39 +366,26 @@ namespace VIZ.H2V.Module
// GPU设备号
int
device
=
this
.
Support
.
ViewConfig
.
GPU
;
string
fullPath
=
null
;
Uri
uri
=
new
Uri
(
strategy
.
SetupPath
,
UriKind
.
RelativeOrAbsolute
);
if
(
uri
.
IsAbsoluteUri
)
{
fullPath
=
uri
.
LocalPath
;
}
else
{
fullPath
=
new
Uri
(
new
Uri
(
AppDomain
.
CurrentDomain
.
BaseDirectory
),
uri
).
LocalPath
;
}
Dictionary
<
string
,
string
>
args
=
new
Dictionary
<
string
,
string
>();
args
[
"--port"
]
=
$"
{
port
}
"
;
// 端口
args
[
"--ndi_name"
]
=
$"
{
ndi_name
}
"
;
// NDI流名称
args
[
"--id"
]
=
$"
{
id
}
"
;
// 窗口ID
args
[
"--device"
]
=
$"
{
device
}
"
;
// GPU设备ID
args
[
"--vis_port"
]
=
$"
{
CLIENT_PORT
}
"
;
// 软件端口
Process
proc
=
new
Process
();
proc
.
StartInfo
.
UseShellExecute
=
true
;
proc
.
StartInfo
.
FileName
=
ALGORITHM_PYTHON_PATH
;
proc
.
StartInfo
.
Arguments
=
$"\"
{
fullPath
}
\" --port=\"
{
port
}
\" --ndi_name=\"
{
ndi_name
}
\" --id=\"
{
id
}
\" --device=\"
{
device
}
\" --vis_port=\"
{
CLIENT_PORT
}
\""
;
proc
.
StartInfo
.
WindowStyle
=
ProcessWindowStyle
.
Normal
;
Process
mainProcess
=
this
.
CreateSetupProcess
(
strategy
.
MainPath
,
args
);
if
(!
proc
.
Start
())
if
(!
mainProcess
.
Start
())
{
log
.
Error
(
$"算法'
{
this
.
Support
.
ViewConfig
.
StrategyType
}
'的启动路径:'
{
strategy
.
Setup
Path
}
'启动失败!"
);
MessageBoxEx
.
ShowDialog
(
$"算法'
{
this
.
Support
.
ViewConfig
.
StrategyType
}
'的启动路径:'
{
strategy
.
Setup
Path
}
'启动失败!"
);
log
.
Error
(
$"算法'
{
this
.
Support
.
ViewConfig
.
StrategyType
}
'的启动路径:'
{
strategy
.
Main
Path
}
'启动失败!"
);
MessageBoxEx
.
ShowDialog
(
$"算法'
{
this
.
Support
.
ViewConfig
.
StrategyType
}
'的启动路径:'
{
strategy
.
Main
Path
}
'启动失败!"
);
return
false
;
}
// 记录进程模型
this
.
Support
.
ProcessModel
.
ViewKey
=
this
.
Support
.
ViewKey
;
this
.
Support
.
ProcessModel
.
ProcessID
=
proc
.
Id
;
this
.
Support
.
ProcessModel
.
Process
=
proc
;
// 更新缓存
this
.
Support
.
ViewConfig
.
ProcessID
=
this
.
Support
.
ProcessModel
.
ProcessID
;
ApplicationDomainEx
.
LiteDbContext
.
ViewConfig
.
Update
(
this
.
Support
.
ViewConfig
);
this
.
Support
.
ProcessModel
.
MainProcess
=
mainProcess
;
return
true
;
}
...
...
@@ -436,7 +398,7 @@ namespace VIZ.H2V.Module
{
// 添加新的UDP管理器
string
clientIP
=
ApplicationDomainEx
.
IniStorage
.
GetValue
<
UdpConfig
,
string
>(
p
=>
p
.
UDP_BINDING_IP
);
AlgorithmStrategy
strategy
=
ApplicationDomainEx
.
CsvContext
.
AlgorithmStrategys
.
FirstOrDefault
(
p
=>
p
.
ID
==
(
int
)
this
.
Support
.
ViewConfig
.
StrategyType
);
AlgorithmStrategy
strategy
=
ApplicationDomainEx
.
CsvContext
.
AlgorithmStrategys
.
FirstOrDefault
(
p
=>
p
.
Type
==
this
.
Support
.
ViewConfig
.
StrategyType
);
if
(
strategy
==
null
)
{
...
...
@@ -469,5 +431,38 @@ namespace VIZ.H2V.Module
return
true
;
}
/// <summary>
/// 创建启动进程
/// </summary>
/// <param name="path">进程路径</param>
/// <param name="args">进程参数</param>
/// <returns>进程对象</returns>
private
Process
CreateSetupProcess
(
string
path
,
Dictionary
<
string
,
string
>
args
)
{
StringBuilder
sb
=
new
StringBuilder
();
foreach
(
var
kv
in
args
)
{
sb
.
Append
(
$"
{
kv
.
Key
}
=\"
{
kv
.
Value
}
\" "
);
}
string
fileName
=
path
;
string
fileNameArgs
=
string
.
Empty
;
if
(
System
.
IO
.
Path
.
GetExtension
(
fileName
).
ToLower
()
==
".py"
)
{
// 如果是 .py 文件那么 采用 CMD 启动python程序
fileName
=
"python"
;
fileNameArgs
=
path
;
}
Process
proc
=
new
Process
();
proc
.
StartInfo
.
UseShellExecute
=
true
;
proc
.
StartInfo
.
FileName
=
path
;
//proc.StartInfo.Arguments = $"\"{fullPath}\" --port=\"{port}\" --ndi_name=\"{ndi_name}\" --id=\"{id}\" --device=\"{device}\" --vis_port=\"{CLIENT_PORT}\"";
proc
.
StartInfo
.
Arguments
=
$"
{
fileNameArgs
}
{
sb
}
"
;
proc
.
StartInfo
.
WindowStyle
=
ProcessWindowStyle
.
Normal
;
return
proc
;
}
}
}
VIZ.H2V.Module/NDIView/Service/INDIViewService.cs
View file @
ad452264
...
...
@@ -35,6 +35,11 @@ namespace VIZ.H2V.Module
bool
IsActive
{
get
;
set
;
}
/// <summary>
/// 算法ID
/// </summary>
int
StrategyID
{
get
;
set
;
}
/// <summary>
/// 算法类型
/// </summary>
AlgorithmStrategyType
StrategyType
{
get
;
set
;
}
...
...
VIZ.H2V.Module/NDIView/View/NDIView.xaml
View file @
ad452264
...
...
@@ -182,42 +182,6 @@
<RowDefinition Height="auto"></RowDefinition>
</Grid.RowDefinitions>
<!--<RadioButton Content="手动校准" Foreground="White" FontSize="20"
Style="{StaticResource RadioButton_NdiView_Tool}"
IsChecked="{Binding Path=ToolPartViewModel.IsManualCorrectionChecked,Mode=TwoWay}"
GroupName="{Binding Path=ViewKey,Converter={StaticResource StringAppendConverter}, ConverterParameter=Tool}"
HorizontalContentAlignment="Center" VerticalContentAlignment="Center">
<RadioButton.Visibility>
<MultiBinding Converter="{StaticResource NDIViewProperty2VisibilityConverter_ManualCorrection}">
<Binding Path="DataContext.ViewStatus" ElementName="uc"></Binding>
<Binding Path="DataContext.StrategyMode" ElementName="uc"></Binding>
<Binding Path="DataContext.StrategyType" ElementName="uc"></Binding>
</MultiBinding>
</RadioButton.Visibility>
</RadioButton>-->
<!-- 近景机位 & 16米机位 & 战术机位 ===== 边线检测选择面板 -->
<!--<Border Grid.Row="1" Background="{x:Null}"
Visibility="{Binding Path=AlgorithmConfig.IsShowBorder,Mode=OneWay,Converter={StaticResource Bool2VisibilityConverter}}">
<RadioButton Style="{StaticResource RadioButton_NdiView_None}"
Height="{Binding ElementName=uc,Path=DataContext.StrategyType,Converter={StaticResource AlgorithmStrategyType2FootballFieldHeightConverter}}"
IsChecked="{Binding Path=ToolPartViewModel.IsSideCheckPolygonChecked,Mode=TwoWay}"
GroupName="{Binding Path=ViewKey,Converter={StaticResource StringAppendConverter}, ConverterParameter=Tool}"
HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch">
<RadioButton.Visibility>
<MultiBinding Converter="{StaticResource NDIViewProperty2VisibilityConverter_FootballFieldPanel}">
<Binding Path="DataContext.ViewStatus" ElementName="uc"></Binding>
<Binding Path="DataContext.StrategyMode" ElementName="uc"></Binding>
<Binding Path="DataContext.StrategyType" ElementName="uc"></Binding>
</MultiBinding>
</RadioButton.Visibility>
<common:FootballFieldPanel FootballFieldWidth="150" FootballFieldHeight="100"
DataContext="{Binding Path=FootballFieldPanelModel}"
Orientation="{Binding ElementName=uc,Path=DataContext.StrategyType,Converter={StaticResource AlgorithmStrategyType2FootballFieldOrientationConverter}}">
</common:FootballFieldPanel>
</RadioButton>
</Border>-->
<!-- 居中模式 按钮组-->
<Grid Grid.Row="1" Background="{x:Null}">
<Grid.Visibility>
...
...
VIZ.H2V.Module/NDIView/VieweModel/NDIViewModel.Command.cs
View file @
ad452264
...
...
@@ -91,7 +91,7 @@ namespace VIZ.H2V.Module
private
void
Loaded_Property
()
{
SystemConfig
systemConfig
=
ApplicationDomainEx
.
LiteDbContext
.
SystemConfig
.
FindAll
().
FirstOrDefault
();
AlgorithmStrategy
strategy
=
ApplicationDomainEx
.
CsvContext
.
AlgorithmStrategys
.
FirstOrDefault
(
p
=>
p
.
ID
==
(
int
)
this
.
ViewConfig
.
StrategyType
);
AlgorithmStrategy
strategy
=
ApplicationDomainEx
.
CsvContext
.
AlgorithmStrategys
.
FirstOrDefault
(
p
=>
p
.
ID
==
this
.
ViewConfig
.
StrategyID
);
// 算法ID
this
.
ID
=
$"
{
ApplicationDomainEx
.
LOCAL_LOGIC_MAC
}
__
{
this
.
ViewKey
}
"
;
...
...
VIZ.H2V.Module/NDIView/VieweModel/NDIViewModel.Property.cs
View file @
ad452264
...
...
@@ -242,6 +242,20 @@ namespace VIZ.H2V.Module
#
endregion
#
region
StrategyID
--
算法
ID
private
int
strategyID
;
/// <summary>
/// 算法ID
/// </summary>
public
int
StrategyID
{
get
{
return
strategyID
;
}
set
{
strategyID
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
StrategyID
));
}
}
#
endregion
#
region
StrategyType
--
算法类型
private
AlgorithmStrategyType
strategyType
=
AlgorithmStrategyType
.
Single
;
...
...
VIZ.H2V.Module/Setup/Provider/AppSetup_Algorithm.cs
View file @
ad452264
...
...
@@ -90,14 +90,13 @@ namespace VIZ.H2V.Module
{
foreach
(
AlgorithmProcessModel
model
in
AlgorithmProcessModel
.
AllProcessModelList
)
{
if
(
model
.
ProcessID
<=
0
||
model
.
Process
==
null
)
if
(
model
.
Main
Process
==
null
)
continue
;
if
(!
model
.
Process
.
HasExited
)
if
(!
model
.
Main
Process
.
HasExited
)
continue
;
model
.
ProcessID
=
0
;
model
.
Process
=
null
;
model
.
MainProcess
=
null
;
WPFHelper
.
BeginInvoke
(()
=>
{
...
...
VIZ.H2V.Module/Setup/Provider/AppSetup_InitCsv.cs
View file @
ad452264
...
...
@@ -41,7 +41,7 @@ namespace VIZ.H2V.Module
// CSV配置
ApplicationDomainEx
.
CsvContext
=
new
CsvContext
();
ApplicationDomainEx
.
CsvContext
.
LoadAlgorithmStrategys
(
algorithm_strategy_path
);
ApplicationDomainEx
.
CsvContext
.
LoadAlgorithmStrategys
(
algorithm_strategy_path
,
ApplicationDomainEx
.
IS_DEBUG
);
ApplicationDomainEx
.
CsvContext
.
LoadAlgorithmBorderScenes
(
algorithm_border_scence_path
);
ApplicationDomainEx
.
CsvContext
.
LoadClipSystems
(
clip_system_path
);
ApplicationDomainEx
.
CsvContext
.
LoadNavigation3DMappings
(
navigation_3d_mapping_dir
);
...
...
VIZ.H2V.Module/SystemSetting/View/StyleSettingPanelView.xaml
View file @
ad452264
...
...
@@ -6,6 +6,7 @@
xmlns:local="clr-namespace:VIZ.H2V.Module"
xmlns:fcommon="clr-namespace:VIZ.Framework.Common;assembly=VIZ.Framework.Common"
xmlns:behaviors="http://schemas.microsoft.com/xaml/behaviors"
xmlns:toolkit="http://schemas.xceed.com/wpf/xaml/toolkit"
d:DataContext="{d:DesignInstance Type=local:StyleSettingPanelViewModel}"
mc:Ignorable="d"
d:DesignHeight="800" d:DesignWidth="800">
...
...
@@ -17,7 +18,6 @@
<ResourceDictionary Source="/VIZ.H2V.Module.Resource;component/Style/TextBox/TextBox_Setting.xaml"></ResourceDictionary>
<ResourceDictionary Source="/VIZ.H2V.Module.Resource;component/Style/Slider/Slider_Setting.xaml"></ResourceDictionary>
<ResourceDictionary Source="/VIZ.H2V.Module.Resource;component/Style/CheckBox/CheckBox_Setting.xaml"></ResourceDictionary>
<ResourceDictionary Source="/VIZ.Framework.Common.Resource;component/Style/NumberBox/NumberBox.xaml"></ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
...
...
@@ -39,7 +39,7 @@
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="
6
0"></RowDefinition>
<RowDefinition Height="
7
0"></RowDefinition>
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
...
...
@@ -121,8 +121,8 @@
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Text="手动裁切框移动倍率" Foreground="White" FontSize="18" VerticalAlignment="Center" Grid.Row="2"></TextBlock>
<
fcommon:NumberBox Grid.Column="1" MinValue="0.1" MaxValue="5" Interval
="0.1" Height="40"
Value="{Binding Path=Navigation3DMappingMultiple,Mode=TwoWay}"></fcommon:NumberBox
>
<
toolkit:DoubleUpDown Grid.Column="1" Minimum="0.1" Maximum="5" Increment
="0.1" Height="40"
Value="{Binding Path=Navigation3DMappingMultiple,Mode=TwoWay}"></toolkit:DoubleUpDown
>
</Grid>
<!-- 手动裁切框移动 -->
<TextBlock Text="手动裁切框移动平滑系数" Foreground="White" FontSize="18" VerticalAlignment="Center" Grid.Row="7"></TextBlock>
...
...
@@ -135,7 +135,7 @@
<ColumnDefinition Width="80"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="80"></ColumnDefinition>
<ColumnDefinition Width="
8
0"></ColumnDefinition>
<ColumnDefinition Width="
10
0"></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Text="非常平滑,移动速度慢" Foreground="#aaffffff" FontSize="14" Grid.ColumnSpan="2" VerticalAlignment="Center" Margin="18,0,0,0"></TextBlock>
<TextBlock Text="一般平滑,移动速度快" Foreground="#aaffffff" FontSize="14" Grid.ColumnSpan="2" Grid.Column="1" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,0,24,0"></TextBlock>
...
...
@@ -144,11 +144,10 @@
Minimum="0.001" Maximum="0.2" IsSnapToTickEnabled="True" TickFrequency="0.001"
Value="{Binding Path=ManualSmoothCoeff,Mode=TwoWay}"></Slider>
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Center" Text="0.2" Foreground="White" FontSize="16" Grid.Column="2" Grid.Row="1"></TextBlock>
<
fcommon:NumberBox Grid.Column="3" Height="40" IsShowUpAndDownButton="False
" Grid.Row="1"
MinValue="0.001" MaxValue="0.2" Interval
="0.001"
Value="{Binding Path=ManualSmoothCoeff,Mode=TwoWay}"></fcommon:NumberBox
>
<
toolkit:DoubleUpDown Grid.Column="3" Height="40
" Grid.Row="1"
Minimum="0.001" Maximum="0.2" Increment
="0.001"
Value="{Binding Path=ManualSmoothCoeff,Mode=TwoWay}"></toolkit:DoubleUpDown
>
</Grid>
</Grid>
</Border>
</UserControl>
\ No newline at end of file
VIZ.H2V.Module/VIZ.H2V.Module.csproj
View file @
ad452264
...
...
@@ -115,6 +115,21 @@
<Reference Include="WindowsBase" />
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
<Reference Include="Xceed.Wpf.AvalonDock, Version=4.4.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
<HintPath>..\packages\Extended.Wpf.Toolkit.4.4.0\lib\net40\Xceed.Wpf.AvalonDock.dll</HintPath>
</Reference>
<Reference Include="Xceed.Wpf.AvalonDock.Themes.Aero, Version=4.4.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
<HintPath>..\packages\Extended.Wpf.Toolkit.4.4.0\lib\net40\Xceed.Wpf.AvalonDock.Themes.Aero.dll</HintPath>
</Reference>
<Reference Include="Xceed.Wpf.AvalonDock.Themes.Metro, Version=4.4.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
<HintPath>..\packages\Extended.Wpf.Toolkit.4.4.0\lib\net40\Xceed.Wpf.AvalonDock.Themes.Metro.dll</HintPath>
</Reference>
<Reference Include="Xceed.Wpf.AvalonDock.Themes.VS2010, Version=4.4.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
<HintPath>..\packages\Extended.Wpf.Toolkit.4.4.0\lib\net40\Xceed.Wpf.AvalonDock.Themes.VS2010.dll</HintPath>
</Reference>
<Reference Include="Xceed.Wpf.Toolkit, Version=4.4.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
<HintPath>..\packages\Extended.Wpf.Toolkit.4.4.0\lib\net40\Xceed.Wpf.Toolkit.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Page Include="NDIMainView\View\AlgorithmServiceStatusPanelView.xaml">
...
...
VIZ.H2V.Module/packages.config
View file @
ad452264
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<
packages
>
<
package
id
=
"Extended.Wpf.Toolkit"
version
=
"4.4.0"
targetFramework
=
"net48"
/>
<
package
id
=
"LiteDB"
version
=
"5.0.12"
targetFramework
=
"net48"
/>
<
package
id
=
"log4net"
version
=
"2.0.14"
targetFramework
=
"net48"
/>
<
package
id
=
"Microsoft.Xaml.Behaviors.Wpf"
version
=
"1.1.39"
targetFramework
=
"net48"
/>
...
...
VIZ.H2V.Storage/CSV/Algorithm/AlgorithmStrategy.cs
View file @
ad452264
...
...
@@ -13,11 +13,25 @@ namespace VIZ.H2V.Storage
{
/// <summary>
/// 编号
/// <see cref="AlgorithmStrategyType"/>
/// </summary>
public
int
ID
{
get
;
set
;
}
/// <summary>
/// 是否启用
/// </summary>
public
bool
IsEnabled
{
get
;
set
;
}
/// <summary>
/// 标记
/// </summary>
public
string
Tag
{
get
;
set
;
}
/// <summary>
/// 算法类型
/// </summary>
public
AlgorithmStrategyType
Type
{
get
;
set
;
}
/// <summary>
/// 名称
/// </summary>
public
string
Name
{
get
;
set
;
}
...
...
@@ -28,8 +42,12 @@ namespace VIZ.H2V.Storage
public
string
DisplayName
{
get
;
set
;
}
/// <summary>
///
启动路径(绝对路径 or 相对路径)
///
主进程路径
/// </summary>
public
string
SetupPath
{
get
;
set
;
}
/// <remarks>
/// 后缀为 .exe 则直接启动
/// 后缀为 .py 则调用CMD使用 python 命令启动
/// </remarks>
public
string
MainPath
{
get
;
set
;
}
}
}
VIZ.H2V.Storage/CSV/CsvContext.cs
View file @
ad452264
...
...
@@ -52,12 +52,25 @@ namespace VIZ.H2V.Storage
/// 加载算法信息
/// </summary>
/// <param name="path">文件路径</param>
public
void
LoadAlgorithmStrategys
(
string
path
)
/// <param name="isDebug">是否是调试模式</param>
public
void
LoadAlgorithmStrategys
(
string
path
,
bool
isDebug
)
{
using
(
StreamReader
sr
=
new
StreamReader
(
path
,
Encoding
.
Default
))
using
(
CsvReader
reader
=
new
CsvReader
(
sr
,
CultureInfo
.
InvariantCulture
))
{
this
.
AlgorithmStrategys
=
reader
.
GetRecords
<
AlgorithmStrategy
>()?.
ToList
();
List
<
AlgorithmStrategy
>
list
=
new
List
<
AlgorithmStrategy
>();
foreach
(
AlgorithmStrategy
item
in
reader
.
GetRecords
<
AlgorithmStrategy
>())
{
if
(!
item
.
IsEnabled
)
continue
;
if
(!
isDebug
&&
item
.
Tag
==
"DEBUG"
)
continue
;
list
.
Add
(
item
);
}
this
.
AlgorithmStrategys
=
list
;
}
}
...
...
VIZ.H2V.Storage/LiteDB/NdiView/NdiViewConfig.cs
View file @
ad452264
...
...
@@ -54,6 +54,11 @@ namespace VIZ.H2V.Storage
public
bool
IsUseClip
{
get
;
set
;
}
=
true
;
/// <summary>
/// 算法类型ID
/// </summary>
public
int
StrategyID
{
get
;
set
;
}
/// <summary>
/// 算法类型类型
/// </summary>
public
AlgorithmStrategyType
StrategyType
{
get
;
set
;
}
=
AlgorithmStrategyType
.
Single
;
...
...
@@ -62,10 +67,5 @@ namespace VIZ.H2V.Storage
/// 裁切模式
/// </summary>
public
AlgorithmStrategyMode
StrategyMode
{
get
;
set
;
}
=
AlgorithmStrategyMode
.
auto_mode
;
/// <summary>
/// 算法进程ID
/// </summary>
public
int
ProcessID
{
get
;
set
;
}
}
}
VIZ.H2V.sln
View file @
ad452264
...
...
@@ -67,6 +67,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VIZ.H2V.ClipTestTool", "VIZ
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VIZ.Framework.Core.Navigation3D", "..\VIZ.Framework\VIZ.Framework.Core.Navigation3D\VIZ.Framework.Core.Navigation3D.vcxproj", "{D1AA6399-2000-42BA-A577-D50BC5FCA393}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "03-Driver", "03-Driver", "{EA9A2679-B43B-4D2C-A418-6CA223D55104}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
...
...
VIZ.H2V/App.xaml
View file @
ad452264
...
...
@@ -9,6 +9,7 @@
<ResourceDictionary Source="/VIZ.Framework.Common.Resource;component/Style/ScrollView/ScrollView_Default.xaml"></ResourceDictionary>
<ResourceDictionary Source="/VIZ.Framework.Common;component/Themes/Generic.xaml"></ResourceDictionary>
<ResourceDictionary Source="/VIZ.H2V.Module.Resource;component/Style/MessageBox/MessageBoxEx.xaml"></ResourceDictionary>
<ResourceDictionary Source="/VIZ.H2V.Module.Resource;component/Toolkit/NumericUpDown/NumericUpDown.xaml"></ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
...
...
VIZ.H2V/VIZ.H2V.csproj
View file @
ad452264
...
...
@@ -102,6 +102,21 @@
<Reference Include="WindowsBase" />
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
<Reference Include="Xceed.Wpf.AvalonDock, Version=4.4.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
<HintPath>..\packages\Extended.Wpf.Toolkit.4.4.0\lib\net40\Xceed.Wpf.AvalonDock.dll</HintPath>
</Reference>
<Reference Include="Xceed.Wpf.AvalonDock.Themes.Aero, Version=4.4.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
<HintPath>..\packages\Extended.Wpf.Toolkit.4.4.0\lib\net40\Xceed.Wpf.AvalonDock.Themes.Aero.dll</HintPath>
</Reference>
<Reference Include="Xceed.Wpf.AvalonDock.Themes.Metro, Version=4.4.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
<HintPath>..\packages\Extended.Wpf.Toolkit.4.4.0\lib\net40\Xceed.Wpf.AvalonDock.Themes.Metro.dll</HintPath>
</Reference>
<Reference Include="Xceed.Wpf.AvalonDock.Themes.VS2010, Version=4.4.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
<HintPath>..\packages\Extended.Wpf.Toolkit.4.4.0\lib\net40\Xceed.Wpf.AvalonDock.Themes.VS2010.dll</HintPath>
</Reference>
<Reference Include="Xceed.Wpf.Toolkit, Version=4.4.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
<HintPath>..\packages\Extended.Wpf.Toolkit.4.4.0\lib\net40\Xceed.Wpf.Toolkit.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<ApplicationDefinition Include="App.xaml">
...
...
VIZ.H2V/config/algorithm_strategy.csv
View file @
ad452264
ID,Name,DisplayName,SetupPath
1,单人机位,单人机位,E:\Projects\VIZ.H2V\VIZ.H2V.UdpTestTool\bin\x64\Debug\VIZ.H2V.UdpTestTool.exe
2,近景机位,近景机位,E:\Projects\VIZ.H2V\VIZ.H2V.UdpTestTool\bin\x64\Debug\VIZ.H2V.UdpTestTool.exe
3,16米机位,16米机位,E:\Projects\VIZ.H2V\VIZ.H2V.UdpTestTool\bin\x64\Debug\VIZ.H2V.UdpTestTool.exe
4,战术机位,战术机位,E:\Projects\VIZ.H2V\VIZ.H2V.UdpTestTool\bin\x64\Debug\VIZ.H2V.UdpTestTool.exe
5,索道机位,索道机位,E:\Projects\VIZ.H2V\VIZ.H2V.UdpTestTool\bin\x64\Debug\VIZ.H2V.UdpTestTool.exe
ID,IsEnabled,Tag,Type,Name,DisplayName,MainPath,
1,TRUE,,Single,单人机位,单人机位,E:\Projects\VIZ.H2V\VIZ.H2V.UdpTestTool\bin\x64\Debug\VIZ.H2V.UdpTestTool.exe
2,TRUE,,Near,近景机位,近景机位,E:\Projects\VIZ.H2V\VIZ.H2V.UdpTestTool\bin\x64\Debug\VIZ.H2V.UdpTestTool.exe
3,TRUE,,Sixteen,16米机位,16米机位,E:\Projects\VIZ.H2V\VIZ.H2V.UdpTestTool\bin\x64\Debug\VIZ.H2V.UdpTestTool.exe
4,TRUE,,Tactics,战术机位,战术机位,E:\Projects\VIZ.H2V\VIZ.H2V.UdpTestTool\bin\x64\Debug\VIZ.H2V.UdpTestTool.exe
5,TRUE,,Cableway,索道机位,索道机位,E:\Projects\VIZ.H2V\VIZ.H2V.UdpTestTool\bin\x64\Debug\VIZ.H2V.UdpTestTool.exe
6,TRUE,DEBUG,Single,单人机位,单人机位,E:\Projects\VIZ.H2V\VIZ.H2V.UdpTestTool\bin\x64\Debug\VIZ.H2V.UdpTestTool.exe
VIZ.H2V/packages.config
View file @
ad452264
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<
packages
>
<
package
id
=
"Extended.Wpf.Toolkit"
version
=
"4.4.0"
targetFramework
=
"net48"
/>
<
package
id
=
"LiteDB"
version
=
"5.0.12"
targetFramework
=
"net48"
/>
<
package
id
=
"log4net"
version
=
"2.0.14"
targetFramework
=
"net48"
/>
<
package
id
=
"Microsoft.Xaml.Behaviors.Wpf"
version
=
"1.1.39"
targetFramework
=
"net48"
/>
...
...
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