152 lines
3.6 KiB
C#
152 lines
3.6 KiB
C#
|
|
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;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|