Commit 2d8be559 by liulongfei

手动操作控制器

parent 24af89f7
...@@ -3,6 +3,7 @@ using System.Collections.Generic; ...@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using VIZ.Framework.Core;
namespace VIZ.H2V.Module namespace VIZ.H2V.Module
{ {
...@@ -12,9 +13,33 @@ namespace VIZ.H2V.Module ...@@ -12,9 +13,33 @@ namespace VIZ.H2V.Module
public interface IManualController public interface IManualController
{ {
/// <summary> /// <summary>
/// 裁切框平滑
/// </summary>
Navigation3DSmooth ClipBoxSmooth { get; }
/// <summary>
/// 裁切框目标X坐标
/// </summary>
double ClipBoxTargetX { get; set; }
/// <summary>
/// 获取映射值 /// 获取映射值
/// </summary> /// </summary>
/// <returns>映射值</returns> /// <returns>映射值</returns>
int GetMappingValue(); int GetMappingValue();
/// <summary>
/// 获取计算值
/// </summary>
/// <param name="min">最小值</param>
/// <param name="max">最大值</param>
/// <returns></returns>
double GetCalculationValue(double min, double max);
/// <summary>
/// 重置
/// </summary>
/// <param name="clipX">剪切X值</param>
void Reset(double clipX);
} }
} }
...@@ -18,7 +18,7 @@ namespace VIZ.H2V.Module ...@@ -18,7 +18,7 @@ namespace VIZ.H2V.Module
/// <summary> /// <summary>
/// 手动控制器 /// 手动控制器
/// </summary> /// </summary>
/// <param name="support"></param> /// <param name="support">控制器支持</param>
public ManualController(IManualSupport support) public ManualController(IManualSupport support)
{ {
this.Support = support; this.Support = support;
...@@ -26,6 +26,16 @@ namespace VIZ.H2V.Module ...@@ -26,6 +26,16 @@ namespace VIZ.H2V.Module
} }
/// <summary> /// <summary>
/// 裁切框平滑
/// </summary>
public Navigation3DSmooth ClipBoxSmooth { get; private set; } = new Navigation3DSmooth();
/// <summary>
/// 裁切框目标X坐标
/// </summary>
public double ClipBoxTargetX { get; set; } = 555;
/// <summary>
/// 支持 /// 支持
/// </summary> /// </summary>
public IManualSupport Support { get; private set; } public IManualSupport Support { get; private set; }
...@@ -67,5 +77,29 @@ namespace VIZ.H2V.Module ...@@ -67,5 +77,29 @@ namespace VIZ.H2V.Module
return mapping.MappingValue * symbol; return mapping.MappingValue * symbol;
} }
/// <summary>
/// 获取计算值
/// </summary>
/// <param name="min">最小值</param>
/// <param name="max">最大值</param>
/// <returns>计算值</returns>
public double GetCalculationValue(double min, double max)
{
double x = this.ClipBoxTargetX + this.GetMappingValue();
x = MathHelper.Clip(min, max, x);
this.ClipBoxTargetX = x;
return this.ClipBoxSmooth.Call(this.ClipBoxTargetX, 1);
}
/// <summary>
/// 重置
/// </summary>
/// <param name="clipX">剪切X值</param>
public void Reset(double clipX)
{
this.ClipBoxTargetX = clipX;
this.ClipBoxSmooth.Init(clipX, clipX, this.ClipBoxSmooth.MinCutoff);
}
} }
} }
...@@ -39,8 +39,7 @@ namespace VIZ.H2V.Module ...@@ -39,8 +39,7 @@ namespace VIZ.H2V.Module
} }
this.ClipBoxX = this.GetClipX(renderInfo); this.ClipBoxX = this.GetClipX(renderInfo);
this.ClipBoxTargetX = this.ClipBoxX.Value; this.ManualController.Reset(this.ClipBoxX.Value);
this.ClipBoxSmooth.Init(this.ClipBoxTargetX, this.ClipBoxTargetX, this.ClipBoxSmooth.MinCutoff);
//if (this.ClipBoxX == null) //if (this.ClipBoxX == null)
//{ //{
...@@ -64,8 +63,8 @@ namespace VIZ.H2V.Module ...@@ -64,8 +63,8 @@ namespace VIZ.H2V.Module
{ {
SystemConfig config = ApplicationDomainEx.LiteDbContext.SystemConfig.FindAll().FirstOrDefault(); SystemConfig config = ApplicationDomainEx.LiteDbContext.SystemConfig.FindAll().FirstOrDefault();
this.ClipBoxSmooth = new Navigation3DSmooth(); this.ManualController.ClipBoxSmooth.MinCutoff = config.ManualSmoothCoeff;
this.ClipBoxSmooth.Init(0, 0, config.ManualSmoothCoeff); this.ManualController.ClipBoxTargetX = 555;
} }
/// <summary> /// <summary>
...@@ -95,11 +94,7 @@ namespace VIZ.H2V.Module ...@@ -95,11 +94,7 @@ namespace VIZ.H2V.Module
return; return;
} }
//double x = this.ClipBoxTargetX + Navigation3DTcpManager.MappingValue; this.ClipBoxX = this.ManualController.GetCalculationValue(0d, renderInfo.Frame.Width - this.CLIP_BOX_WIDTH);
double x = this.ClipBoxTargetX + this.ManualController.GetMappingValue();
x = MathHelper.Clip(0d, renderInfo.Frame.Width - this.CLIP_BOX_WIDTH, x);
this.ClipBoxTargetX = x;
this.ClipBoxX = this.ClipBoxSmooth.Call(this.ClipBoxTargetX, 1);
ClipBoxInfo clipBox = new ClipBoxInfo(); ClipBoxInfo clipBox = new ClipBoxInfo();
clipBox.DrawingBorderWidth = this.CLIP_BOX_BORDER_WIDTH; clipBox.DrawingBorderWidth = this.CLIP_BOX_BORDER_WIDTH;
......
...@@ -206,7 +206,7 @@ namespace VIZ.H2V.Module ...@@ -206,7 +206,7 @@ namespace VIZ.H2V.Module
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////
this.ClipBoxX = rect.Left; this.ClipBoxX = rect.Left;
this.ClipBoxTargetX = rect.Left; this.ManualController.ClipBoxTargetX = rect.Left;
view.video.UpdateClipBox(info); view.video.UpdateClipBox(info);
......
...@@ -84,11 +84,6 @@ namespace VIZ.H2V.Module ...@@ -84,11 +84,6 @@ namespace VIZ.H2V.Module
/// </summary> /// </summary>
private RawColor4 BorderSceneColor; private RawColor4 BorderSceneColor;
/// <summary>
/// 裁切框平滑
/// </summary>
private Navigation3DSmooth ClipBoxSmooth;
// ====================================================================================== // ======================================================================================
// === Controller === // === Controller ===
// ====================================================================================== // ======================================================================================
...@@ -272,20 +267,6 @@ namespace VIZ.H2V.Module ...@@ -272,20 +267,6 @@ namespace VIZ.H2V.Module
#endregion #endregion
#region ClipBoxTargetX -- 裁切框目标X坐标
private double clipBoxTargetX = 555;
/// <summary>
/// 裁切框目标X坐标
/// </summary>
public double ClipBoxTargetX
{
get { return clipBoxTargetX; }
set { clipBoxTargetX = value; this.RaisePropertyChanged(nameof(ClipBoxTargetX)); }
}
#endregion
#region FootballFiledPanelModel -- 足球场视图模型 #region FootballFiledPanelModel -- 足球场视图模型
private FootballFieldPanelModel footballFieldPanelModel = new FootballFieldPanelModel(); private FootballFieldPanelModel footballFieldPanelModel = new FootballFieldPanelModel();
......
...@@ -124,7 +124,7 @@ namespace VIZ.H2V.Module ...@@ -124,7 +124,7 @@ namespace VIZ.H2V.Module
this.WriteLogOperation(); this.WriteLogOperation();
// 停止3D鼠标更新 // 停止3D鼠标更新
this.ClipBoxSmooth.IsEnabled = false; this.ManualController.ClipBoxSmooth.IsEnabled = false;
// ---------------------------------------------------------------------------------------------- // ----------------------------------------------------------------------------------------------
// Step 1. 更新属性 & 缓存 // Step 1. 更新属性 & 缓存
...@@ -206,7 +206,7 @@ namespace VIZ.H2V.Module ...@@ -206,7 +206,7 @@ namespace VIZ.H2V.Module
finally finally
{ {
// 启动3D鼠标更新 // 启动3D鼠标更新
this.ClipBoxSmooth.IsEnabled = true; this.ManualController.ClipBoxSmooth.IsEnabled = true;
} }
} }
...@@ -281,7 +281,7 @@ namespace VIZ.H2V.Module ...@@ -281,7 +281,7 @@ namespace VIZ.H2V.Module
/// <param name="minCutoff">平滑系数</param> /// <param name="minCutoff">平滑系数</param>
public void LoadClipBoxSmooth(double minCutoff) public void LoadClipBoxSmooth(double minCutoff)
{ {
this.ClipBoxSmooth.MinCutoff = minCutoff; this.ManualController.ClipBoxSmooth.MinCutoff = minCutoff;
} }
/// <summary> /// <summary>
......
...@@ -70,10 +70,20 @@ using VIZ.Framework.Core; ...@@ -70,10 +70,20 @@ using VIZ.Framework.Core;
// 测试机 2(环达): 网线:E0:4F:43:E6:48:7C // 测试机 2(环达): 网线:E0:4F:43:E6:48:7C
// 测试机 3(霄云中心): 网线:04:7B:CB:46:0D:C9 // 测试机 3(霄云中心): 网线:04:7B:CB:46:0D:C9
// 测试机 4(霄云中心): 网线:04:7B:CB:46:0F:8E // 测试机 4(霄云中心): 网线:04:7B:CB:46:0F:8E
// -------------------------------------------------
// 测试机 5(霄云中心): 网线:00:D8:61:D7:1C:30
// 测试机 6(霄云中心): 网线:00:D8:61:D7:1C:31
// 测试机 7(霄云中心): 网线:04:ED:33:53:08:9F
// 测试机 8(霄云中心): 网线:04:ED:33:53:08:A3
// -------------------------------------------------
[assembly: ApplicationMacCheck("3C:58:C2:D7:DC:14")] [assembly: ApplicationMacCheck("3C:58:C2:D7:DC:14")]
[assembly: ApplicationMacCheck("00:2B:67:7C:4E:DA")] [assembly: ApplicationMacCheck("00:2B:67:7C:4E:DA")]
[assembly: ApplicationMacCheck("E0:4F:43:E6:4F:82")] [assembly: ApplicationMacCheck("E0:4F:43:E6:4F:82")]
[assembly: ApplicationMacCheck("E0:4F:43:E6:48:7C")] [assembly: ApplicationMacCheck("E0:4F:43:E6:48:7C")]
[assembly: ApplicationMacCheck("04:7B:CB:46:0D:C9")] [assembly: ApplicationMacCheck("04:7B:CB:46:0D:C9")]
[assembly: ApplicationMacCheck("04:7B:CB:46:0F:8E")] [assembly: ApplicationMacCheck("04:7B:CB:46:0F:8E")]
[assembly: ApplicationMacCheck("00:D8:61:D7:1C:30")]
[assembly: ApplicationMacCheck("00:D8:61:D7:1C:31")]
[assembly: ApplicationMacCheck("04:ED:33:53:08:9F")]
[assembly: ApplicationMacCheck("04:ED:33:53:08:A3")]
// ===================================================================================================== // =====================================================================================================
\ No newline at end of file
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