Files
wg_cpso/CaeKnowledge/View/ViewToolPosition.cs

152 lines
3.6 KiB
C#
Raw Normal View History

2026-03-25 18:20:24 +08:00
using CaeKnowledge.Data;
using System.Collections.Generic;
using System.ComponentModel;
using System.Runtime.CompilerServices;
// ReSharper disable ConvertToAutoPropertyWhenPossible
namespace CaeKnowledge.View
{
public class ViewToolPosition : INotifyPropertyChanged
{
private readonly ToolPosition _base;
public ViewToolPosition(ToolPosition tp)
{
_base = tp;
}
public ViewToolPosition(): this(new ToolPosition())
{}
[Browsable(false)]
public ToolPosition Base => _base;
[Category("1位置")]
[DisplayName(@"X坐标")]
public double X
{
get => _base.X;
set
{
_base.X = value;
OnPropertyChanged();
}
}
[Category("1位置")]
[DisplayName(@"Y坐标")]
public double Y
{
get => _base.Y;
set
{
_base.Y = value;
OnPropertyChanged();
}
}
[Category("1位置")]
[DisplayName(@"Z坐标")]
public double Z
{
get => _base.Z;
set
{
_base.Z = value;
OnPropertyChanged();
}
}
[Category("2平均力")]
[DisplayName(@"X方向AverageFx")]
public double AverageFx
{
get => _base.AverageFx;
set
{
_base.AverageFx = value;
OnPropertyChanged();
}
}
[Category("2平均力")]
[DisplayName(@"Y方向AverageFy")]
public double AverageFy
{
get => _base.AverageFy;
set
{
_base.AverageFy = value;
OnPropertyChanged();
}
}
[Category("2平均力")]
[DisplayName(@"Z方向AverageFz")]
public double AverageFz
{
get => _base.AverageFz;
set
{
_base.AverageFz = value;
OnPropertyChanged();
}
}
[Category("3最大力")]
[DisplayName(@"X方向MaxFx")]
public double MaxFx
{
get => _base.MaxFx;
set
{
_base.MaxFx = value;
OnPropertyChanged();
}
}
[Category("3最大力")]
[DisplayName(@"Y方向MaxFy")]
public double MaxFy
{
get => _base.MaxFy;
set
{
_base.MaxFy = value;
OnPropertyChanged();
}
}
[Category("3最大力")]
[DisplayName(@"Z方向MaxFz")]
public double MaxFz
{
get => _base.MaxFz;
set
{
_base.MaxFz = value;
OnPropertyChanged();
}
}
public override string ToString()
{
return $"{X}, {Y}, {Z}";
}
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
protected bool SetField<T>(ref T field, T value, [CallerMemberName] string propertyName = null)
{
if (EqualityComparer<T>.Default.Equals(field, value)) return false;
field = value;
OnPropertyChanged(propertyName);
return true;
}
}
}