Commit 17b61dcf by 鲁志-悦动

客户端图标先用横转竖的 And 点击Delete热键从集合中最后一个位置标记开始删除

parent 61f6e3b8
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
namespace XamlGeneratedNamespace {
/// <summary>
/// GeneratedInternalTypeHelper
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
public sealed class GeneratedInternalTypeHelper : System.Windows.Markup.InternalTypeHelper {
/// <summary>
/// CreateInstance
/// </summary>
protected override object CreateInstance(System.Type type, System.Globalization.CultureInfo culture) {
return System.Activator.CreateInstance(type, ((System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic)
| (System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.CreateInstance)), null, null, culture);
}
/// <summary>
/// GetPropertyValue
/// </summary>
protected override object GetPropertyValue(System.Reflection.PropertyInfo propertyInfo, object target, System.Globalization.CultureInfo culture) {
return propertyInfo.GetValue(target, System.Reflection.BindingFlags.Default, null, null, culture);
}
/// <summary>
/// SetPropertyValue
/// </summary>
protected override void SetPropertyValue(System.Reflection.PropertyInfo propertyInfo, object target, object value, System.Globalization.CultureInfo culture) {
propertyInfo.SetValue(target, value, System.Reflection.BindingFlags.Default, null, null, culture);
}
/// <summary>
/// CreateDelegate
/// </summary>
protected override System.Delegate CreateDelegate(System.Type delegateType, object target, string handler) {
return ((System.Delegate)(target.GetType().InvokeMember("_CreateDelegate", (System.Reflection.BindingFlags.InvokeMethod
| (System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance)), null, target, new object[] {
delegateType,
handler}, null)));
}
/// <summary>
/// AddEventHandler
/// </summary>
protected override void AddEventHandler(System.Reflection.EventInfo eventInfo, object target, System.Delegate handler) {
eventInfo.AddEventHandler(target, handler);
}
}
}

......@@ -10,11 +10,11 @@ none
false
2-725104376
21870986562
3947974750
17-1462717611
31364711570
17-1683084370
Themes\Generic.xaml;Widgets\FootballFieldPanel\FootballFieldPanel.xaml;
True
False
namespace VIZ.FGOUT.Domain
{
public enum NDIViewHotkeys
{
/// <summary>
/// In Point
/// </summary>
I,
/// <summary>
/// Out Point
/// </summary>
O,
/// <summary>
/// 删除位置标记
/// </summary>
Delete
}
}
......@@ -65,6 +65,7 @@
<Compile Include="ApplicationDomainEx.cs" />
<Compile Include="Enum\NDIViewKeys.cs" />
<Compile Include="Enum\NDIViewStatus.cs" />
<Compile Include="Enum\NDIViewHotkeys.cs" />
<Compile Include="Enum\ReplayStatus.cs" />
<Compile Include="Enum\ServiceKeys.cs" />
<Compile Include="Enum\SystemPermissions.cs" />
......
9e62ad6b71bec937a3610a93e2b7bceffd49164e
96138fc77e1d71fde39f5fd3f92f5a032e421a59
using log4net;
using System.Linq;
using OpenCvSharp;
using VIZ.FGOUT.Connection;
using VIZ.FGOUT.Domain;
using VIZ.FGOUT.Storage;
using VIZ.Framework.Connection;
using VIZ.Framework.Domain;
namespace VIZ.FGOUT.Module
{
......@@ -118,9 +121,56 @@ namespace VIZ.FGOUT.Module
/// 处理自动裁切
/// </summary> <param name="hotkey">热键</param>
/// <returns>是否完成处理</returns>
private bool ExecuteAuto(string hotkey) {
//INDIViewService service = null;
private bool ExecuteAuto(string hotkey)
{
INDIViewService service = null;
//Replay入点命令
if (string.Equals(this.Support.HotkeyConfig.I, hotkey))
{
service = ApplicationDomain.ServiceManager.GetService<INDIViewService>(NDIViewKeys.CAM_1);
if (service == null) return false;
var context = new NDIViewHotkeyContext()
{
hotkey = NDIViewHotkeys.I
};
service.NDIViewHotkeyMode(context);
return true;
}
//Replay出点命令
if (string.Equals(this.Support.HotkeyConfig.O, hotkey))
{
service = ApplicationDomain.ServiceManager.GetService<INDIViewService>(NDIViewKeys.CAM_1);
if (service == null) return false;
var context = new NDIViewHotkeyContext()
{
hotkey = NDIViewHotkeys.O
};
service.NDIViewHotkeyMode(context);
return true;
}
//位置标记删除命令
if (string.Equals(this.Support.HotkeyConfig.Delete, hotkey))
{
service = ApplicationDomain.ServiceManager.GetService<INDIViewService>(NDIViewKeys.CAM_1);
if (service == null) return false;
var context = new NDIViewHotkeyContext()
{
hotkey = NDIViewHotkeys.Delete
};
service.NDIViewHotkeyMode(context);
return true;
}
//INDIViewService service = null;
//if (ApplicationDomainEx.LiteDbContext.SetManualConfig.FindAll().FirstOrDefault().IsManual) return false;
//如果不是手动,返回false
var manualConfig = ApplicationDomainEx.LiteDbContext.SetManualConfig.FindAll().FirstOrDefault();
......@@ -143,7 +193,7 @@ namespace VIZ.FGOUT.Module
}
if (string.Equals(this.Support.HotkeyConfig.EncCmd, hotkey))
if (string.Equals(this.Support.HotkeyConfig.EndCmd, hotkey))
{
//service = ApplicationDomainEx.ServiceManager.GetService<INDIViewService>(NDIViewKeys.CAM_2);
......@@ -159,7 +209,7 @@ namespace VIZ.FGOUT.Module
//点击空格实现算法手动模式下的开始、结束抠像
//先实现不兼容S、D的情况
if(string.Equals("Space", hotkey))
if(string.Equals(this.Support.HotkeyConfig.Delete, hotkey))
{
UdpEndpointManager manager = ConnectionManager.UdpConnection.GetEndpointManager(NDIViewKeys.CAM_1);
AlgorithmPackage__MatCmd algorithmPackage__MatCmd = new AlgorithmPackage__MatCmd();
......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using VIZ.FGOUT.Storage;
using VIZ.FGOUT.Storage;
namespace VIZ.FGOUT.Module
{
......
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Media;
using VIZ.FGOUT.Domain;
using VIZ.Framework.Core;
......
......@@ -92,7 +92,7 @@ namespace VIZ.FGOUT.Module
{
base.ChangeManualMode();
// 单人机位在切换居中模式后需要清理跟踪框
// 单人机位在切换手动模式后需要清理跟踪框
ClearVideoControlContext clear_context = new ClearVideoControlContext(false, false);
clear_context.IsClearTrackingBox = true;
this.Support.ClearVideoControl(clear_context);
......
using System;
using log4net;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Management.Instrumentation;
using System.Security.Policy;
using System.Text;
using System.Threading.Tasks;
using VIZ.Framework.Core;
using VIZ.FGOUT.Domain;
using log4net;
using VIZ.FGOUT.Storage;
using VIZ.Framework.Storage;
using System.Windows;
using VIZ.Framework.Core;
namespace VIZ.FGOUT.Module
{
......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VIZ.FGOUT.Module
namespace VIZ.FGOUT.Module
{
/// <summary>
/// 清理视图控件上下文
......
using VIZ.FGOUT.Domain;
namespace VIZ.FGOUT.Module
{
/// <summary>
/// NDIView热键上下文
/// </summary>
public class NDIViewHotkeyContext
{
public NDIViewHotkeys hotkey { get; set; }
}
}
......@@ -122,9 +122,9 @@ namespace VIZ.FGOUT.Module
void StopAlgorithm();
/// <summary>
/// 切换模式
/// 切换算法模式
/// </summary>
/// <param name="context">切换模式上下文</param>
/// <param name="context">切换算法模式上下文</param>
void ChangeStrategyMode(ChangeStrategyContext context);
/// <summary>
......@@ -147,5 +147,11 @@ namespace VIZ.FGOUT.Module
/// 当算法停止时处理
/// </summary>
void WhenAlgorithmStop();
/// <summary>
/// NDIView热键模式
/// </summary>
/// <param name="context"></param>
void NDIViewHotkeyMode(NDIViewHotkeyContext context);
}
}
......@@ -883,7 +883,8 @@ namespace VIZ.FGOUT.Module
p.SportCode == this.viewConfig.GameName);
//if (setPlaceConfig == null) return;
if (setPlaceNewConfig == null) return;
if(setPlaceNewConfig.EndPlace.Count ==0) return;
//如果结束位置的count为0,则不加载位置标记
if (setPlaceNewConfig.EndPlace.Count == 0) return;
//points.Add(point);
//polygon.Points = points;
......@@ -1260,5 +1261,50 @@ namespace VIZ.FGOUT.Module
this.ViewStatus == NDIViewStatus.Stop ||
this.ViewStatus == NDIViewStatus.WaitCheckOK);
}
public void NDIViewHotkeyMode(NDIViewHotkeyContext context)
{
if(context.hotkey.Equals(NDIViewHotkeys.Delete))
DeletePositionMarker();
}
/// <summary>
/// 从位置集合中最后一个标记开始删除
/// </summary>
private void DeletePositionMarker()
{
if (IsCleanPlace)
return;
var view = this.GetView<NDIView>();
if (view == null) return;
if (IsDrawStartPlace && view.polygonsStart.Count > 0)
view.polygonsStart.RemoveAt(view.polygonsStart.Count - 1);
else if (IsDrawEndPlace && view.polygonsEnd.Count > 0)
view.polygonsEnd.RemoveAt(view.polygonsEnd.Count - 1);
else if (IsDrawInvalidPlace && view.rectsInvalid.Count > 0)
view.rectsInvalid.RemoveAt(view.rectsInvalid.Count - 1);
//先清空
view.canvas1.Children.Clear();
view.polygon = null;
//再显示
if (view.polygonsStart.Count > 0)
{
foreach (var points in view.polygonsStart)
AddPoints(view, points, Brushes.Blue);
}
if (view.polygonsEnd.Count > 0)
{
foreach (var points in view.polygonsEnd)
AddPoints(view, points, Brushes.Green);
}
if (view.rectsInvalid.Count > 0)
{
foreach (var points in view.rectsInvalid)
AddRects(view, points, Brushes.Red);
}
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Reflection;
using VIZ.Framework.Core;
using VIZ.FGOUT.Storage;
using System.Windows;
using VIZ.FGOUT.Domain;
using VIZ.FGOUT.Storage;
using VIZ.Framework.Common;
using System.Windows;
using VIZ.Framework.Core;
namespace VIZ.FGOUT.Module
{
......@@ -58,9 +55,6 @@ namespace VIZ.FGOUT.Module
#endregion
#region 结束快捷键
private string endCmd;
......@@ -112,7 +106,7 @@ namespace VIZ.FGOUT.Module
this.StartCmd = this.HotkeyConfig.StartCmd;
this.EndCmd = this.HotkeyConfig.EncCmd;
this.EndCmd = this.HotkeyConfig.EndCmd;
}
......@@ -128,7 +122,7 @@ namespace VIZ.FGOUT.Module
if (this.StartCmd != this.HotkeyConfig.StartCmd)
return true;
if (this.EndCmd != this.HotkeyConfig.EncCmd)
if (this.EndCmd != this.HotkeyConfig.EndCmd)
return true;
//// 算法裁切
//if (this.AutoCAM1 != this.HotkeyConfig.AutoCAM1)
......@@ -216,7 +210,7 @@ namespace VIZ.FGOUT.Module
this.HotkeyConfig.StartCmd =StartCmd;
this.HotkeyConfig.EncCmd = EndCmd;
this.HotkeyConfig.EndCmd = EndCmd;
// 更新配置
ApplicationDomainEx.LiteDbContext.HotkeyConfig.Upsert(this.HotkeyConfig);
......
......@@ -195,6 +195,7 @@
<Compile Include="NDIView\Enum\NDIViewScene.cs" />
<Compile Include="NDIView\Info\ChangeStrategyContext.cs" />
<Compile Include="NDIView\Info\ClearVideoControlContext.cs" />
<Compile Include="NDIView\Info\ReplayHotkeyContext.cs" />
<Compile Include="NDIView\Service\INDIViewService.cs" />
<Compile Include="NDIView\ViewModel\NDIViewModel.Command.cs" />
<Compile Include="NDIView\ViewModel\NDIViewModel.cs" />
......
4156c46619b9cbfad1abdf5e4a91bb275250987c
3b8e09664c65a6a50551da999b589c53f93c1785
......@@ -10,11 +10,11 @@ none
false
DEBUG;TRACE
22-1559853185
4-1529606353
90-1236168610
151915249285
22-808211288
4-699044453
91-804925372
151674092382
NDIMainView\View\NDIMainView.xaml;NDIPreviewView\View\NDIPreviewView.xaml;NDISettingView\View\AlgorithmSettingPanelView.xaml;NDISettingView\View\Algorithm\AlgorithmCablewayPanelView.xaml;NDISettingView\View\Algorithm\AlgorithmNearPanelView.xaml;NDISettingView\View\Algorithm\AlgorithmSinglePanelView.xaml;NDISettingView\View\Algorithm\AlgorithmSixteenPanelView.xaml;NDISettingView\View\Algorithm\AlgorithmTacticsPanelView.xaml;NDISettingView\View\NDISettingPanelView.xaml;NDISettingView\View\NDISettingView.xaml;NDIView\View\NDIView.xaml;SystemSetting\View\AboutPanelView.xaml;SystemSetting\View\CheckDataPanelView.xaml;SystemSetting\View\HotkeySettingPanelView.xaml;SystemSetting\View\MattingImagePanelView.xaml;SystemSetting\View\PackageSettingPanelView.xaml;SystemSetting\View\PreviewSettingPanelView.xaml;SystemSetting\View\ReplayPanelView.xaml;SystemSetting\View\StyleSettingPanelView.xaml;SystemSetting\View\SystemSettingView.xaml;SystemSetting\View\UEControlPanelView.xaml;SystemSetting\View\UESettingPanelView.xaml;
True
False
......@@ -12,7 +12,7 @@ DEBUG;TRACE
22-808211288
4-699044453
91978002453
92920518115
151674092382
NDIMainView\View\NDIMainView.xaml;NDIPreviewView\View\NDIPreviewView.xaml;NDISettingView\View\AlgorithmSettingPanelView.xaml;NDISettingView\View\Algorithm\AlgorithmCablewayPanelView.xaml;NDISettingView\View\Algorithm\AlgorithmNearPanelView.xaml;NDISettingView\View\Algorithm\AlgorithmSinglePanelView.xaml;NDISettingView\View\Algorithm\AlgorithmSixteenPanelView.xaml;NDISettingView\View\Algorithm\AlgorithmTacticsPanelView.xaml;NDISettingView\View\NDISettingPanelView.xaml;NDISettingView\View\NDISettingView.xaml;NDIView\View\NDIView.xaml;SystemSetting\View\AboutPanelView.xaml;SystemSetting\View\CheckDataPanelView.xaml;SystemSetting\View\HotkeySettingPanelView.xaml;SystemSetting\View\MattingImagePanelView.xaml;SystemSetting\View\PackageSettingPanelView.xaml;SystemSetting\View\PreviewSettingPanelView.xaml;SystemSetting\View\ReplayPanelView.xaml;SystemSetting\View\StyleSettingPanelView.xaml;SystemSetting\View\SystemSettingView.xaml;SystemSetting\View\UEControlPanelView.xaml;SystemSetting\View\UESettingPanelView.xaml;
......
C:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\obj\x64\Debug\GeneratedInternalTypeHelper.g.cs

FC:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDIMainView\View\NDIMainView.xaml;;
FC:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDIPreviewView\View\NDIPreviewView.xaml;;
......
namespace VIZ.FGOUT.Storage
using NPOI.SS.Formula.Functions;
namespace VIZ.FGOUT.Storage
{
/// <summary>
/// 热键配置
......@@ -19,8 +21,26 @@
/// <summary>
/// 结束命令
/// </summary>
public string EncCmd { get; set; } = "Alt + D";
public string EndCmd { get; set; } = "Alt + D";
/// <summary>
/// Replay入点命令
/// </summary>
public string I { get; set; } = "I";
/// <summary>
/// Replay出点命令
/// </summary>
public string O { get; set; } = "O";
/// <summary>
/// 位置标记删除命令
/// </summary>
public string Delete { get; set; } = "Delete";
/// <summary>
/// 手动开始/结束抠像命令
/// </summary>
public string Space { get; set;} = "Space";
}
}
......@@ -14,6 +14,21 @@
<WarningLevel>4</WarningLevel>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
......@@ -54,6 +69,9 @@
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>logo.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup>
<Reference Include="BouncyCastle.Crypto, Version=1.8.9.0, Culture=neutral, PublicKeyToken=0e99375e54769942, processorArchitecture=MSIL">
<HintPath>..\packages\Portable.BouncyCastle.1.8.9\lib\net40\BouncyCastle.Crypto.dll</HintPath>
......@@ -235,5 +253,20 @@
<Name>VIZ.FGOUT.Storage</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Resource Include="logo.ico" />
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include=".NETFramework,Version=v4.8">
<Visible>False</Visible>
<ProductName>Microsoft .NET Framework 4.8 %28x86 和 x64%29</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>false</Install>
</BootstrapperPackage>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
2023-09-04 18:43:20,756 [1] ERROR VIZ.Framework.Module.AppSetup - System.BadImageFormatException: 未能加载文件或程序集“NDILibDotNet2, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。试图加载格式不正确的程序。
文件名:“NDILibDotNet2, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”
在 VIZ.FGOUT.Module.AppSetup_InitNDI.Setup(AppSetupContext context)
在 VIZ.Framework.Module.AppSetup.Setup() 位置 D:\wyh\FGOUT\VIZ.Framework\VIZ.Framework.Module\Setup\AppSetup.cs:行号 112
警告: 程序集绑定日志记录被关闭。
要启用程序集绑定失败日志记录,请将注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD)设置为 1。
注意: 会有一些与程序集绑定失败日志记录关联的性能损失。
要关闭此功能,请移除注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog]。
<?xml version="1.0"?>
<doc>
<assembly>
<name>Microsoft.Bcl.HashCode</name>
</assembly>
<members>
<member name="M:System.Numerics.BitOperations.RotateLeft(System.UInt32,System.Int32)">
<summary>
Rotates the specified value left by the specified number of bits.
Similar in behavior to the x86 instruction ROL.
</summary>
<param name="value">The value to rotate.</param>
<param name="offset">The number of bits to rotate by.
Any value outside the range [0..31] is treated as congruent mod 32.</param>
<returns>The rotated value.</returns>
</member>
<member name="M:System.Numerics.BitOperations.RotateLeft(System.UInt64,System.Int32)">
<summary>
Rotates the specified value left by the specified number of bits.
Similar in behavior to the x86 instruction ROL.
</summary>
<param name="value">The value to rotate.</param>
<param name="offset">The number of bits to rotate by.
Any value outside the range [0..63] is treated as congruent mod 64.</param>
<returns>The rotated value.</returns>
</member>
<member name="P:System.SR.HashCode_EqualityNotSupported">
<summary>HashCode is a mutable struct and should not be compared with other HashCodes.</summary>
</member>
<member name="P:System.SR.HashCode_HashCodeNotSupported">
<summary>HashCode is a mutable struct and should not be compared with other HashCodes. Use ToHashCode to retrieve the computed hash code.</summary>
</member>
</members>
</doc>
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment