lixiaojun
2025-04-09 9aa8106d88fc3070498493e2819922f7ac31746e
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/02-visual/HydroVisualViewModel.cs
@@ -3,7 +3,7 @@
    /// <summary>
    /// 水力可见组件
    /// </summary>
    public class HydroVisualViewModel : HydroParterViewModel
    public class HydroVisualViewModel : HydroParterViewModel, IHydroCalcuVisualResult
    {
        /// <summary>
        /// 
@@ -15,63 +15,72 @@
        /// </summary>
        public HydroVisualViewModel(Yw.Model.HydroVisualInfo rhs, Yw.Model.HydroModelInfo hydroInfo) : base(rhs, hydroInfo)
        {
            this.FlowDirection = rhs.FlowDirection;
            this.UpdatePropStatus(nameof(this.FlowDirection), rhs, nameof(rhs.FlowDirection));
            this.FlowDirectionX = rhs.FlowDirectionX;
            this.UpdatePropStatus(nameof(this.FlowDirectionX), rhs, nameof(rhs.FlowDirectionX));
            this.FlowDirectionY = rhs.FlowDirectionY;
            this.UpdatePropStatus(nameof(this.FlowDirectionY), rhs, nameof(rhs.FlowDirectionY));
            this.FlowDirectionX = HydroFlowDirectionHelper.GetName(rhs.FlowDirectionX);
            this.FlowDirectionY = HydroFlowDirectionHelper.GetName(rhs.FlowDirectionY);
            this.Vmo = rhs;
        }
        /// <summary>
        /// 流向
        /// </summary>
        [Category("拓扑结构")]
        [DisplayName("流向")]
        [PropertyOrder(101)]
        [Browsable(true)]
        public virtual int FlowDirection { get; set; }
        /// <summary>
        /// X流向
        /// </summary>
        [Category("拓扑结构")]
        [Category("流向")]
        [DisplayName("X流向")]
        [PropertyOrder(102)]
        [HydroFlowDirectionPro]
        [PropertyOrder(101)]
        [Browsable(true)]
        public virtual int FlowDirectionX { get; set; }
        [TypeConverter(typeof(HydroFlowDirectionConverter))]
        public virtual string FlowDirectionX { get; set; }
        /// <summary>
        /// Y流向
        /// </summary>
        [Category("拓扑结构")]
        [Category("流向")]
        [DisplayName("Y流向")]
        [PropertyOrder(103)]
        [HydroFlowDirectionPro]
        [PropertyOrder(102)]
        [Browsable(true)]
        public virtual int FlowDirectionY { get; set; }
        [TypeConverter(typeof(HydroFlowDirectionConverter))]
        public virtual string FlowDirectionY { get; set; }
        /// <summary>
        /// vmo
        /// </summary>
        [Browsable(false)]
        public new Yw.Model.HydroVisualInfo Vmo { get; set; }
        /// <summary>
        ///
        /// </summary>
        public override void Update()
        public new Yw.Model.HydroVisualInfo Vmo
        {
            base.Update();
            this.FlowDirection = this.Vmo.FlowDirection;
            this.UpdatePropStatus(nameof(this.FlowDirection), this.Vmo, nameof(this.Vmo.FlowDirection));
            this.FlowDirectionX = this.Vmo.FlowDirectionX;
            this.UpdatePropStatus(nameof(this.FlowDirectionX), this.Vmo, nameof(this.Vmo.FlowDirectionX));
            this.FlowDirectionY = this.Vmo.FlowDirectionY;
            this.UpdatePropStatus(nameof(this.FlowDirectionY), this.Vmo, nameof(this.Vmo.FlowDirectionY));
            get { return _vmo as Yw.Model.HydroVisualInfo; }
            set { _vmo = value; }
        }
        /// <summary>
        /// 更新属性
        /// </summary>
        public override void UpdateProperty()
        {
            base.UpdateProperty();
            this.FlowDirectionX = HydroFlowDirectionHelper.GetName(this.Vmo.FlowDirectionX);
            this.FlowDirectionY = HydroFlowDirectionHelper.GetName(this.Vmo.FlowDirectionY);
        }
        /// <summary>
        /// 更新 Vmo 属性
        /// </summary>
        public override void UpdateVmoProperty()
        {
            base.UpdateVmoProperty();
            this.Vmo.FlowDirectionX = HydroFlowDirectionHelper.GetCode(this.FlowDirectionX);
            this.Vmo.FlowDirectionY = HydroFlowDirectionHelper.GetCode(this.FlowDirectionY);
        }
        /// <summary>
        /// 更新计算属性
        /// </summary>
        public virtual void UpdateCalcuProperty(HydroCalcuVisualResult rhs)
        {
        }
    }