Skip to content
Snippets Groups Projects
PowerStation.cs 3.21 KiB
Newer Older
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace WindStressPRM
{
    /// <summary>
    /// powerstation/pole point class
    /// класс для трансформаторных подстанций/столбов/понижающих(конечных) подстанций
    /// </summary>
    public class PowerStation
    {
        /// <summary>
        /// unique id  
        /// уникальный идентификатор подстанции/столба
        /// </summary>
        public int Identifier { get; set; }
        /// <summary>
        /// Coordinates
        /// </summary>
        public Coordinate Coordinate { get; set; }
        /// <summary>
        /// station name field
        /// название подстанции
        /// </summary>
        public string Name { get; set; }
        /// <summary>
        /// power, kW
        /// мощность, кВ
        /// </summary>
        public int Power { get; set; }
        /// <summary>
        /// type of point - trans/pole/endpoint
        /// тип станции - трансформаторная подстанция/столб/понижающая(конечная)подстанция
        /// </summary>
        public enum StationType
        {
            Pole, Trans, Endstat
        };
        /// <summary>
        /// тип подстанции
        /// </summary>
        public StationType Stationtype { get; set; }
        /// <summary>
        /// is point a source?
        /// является ли подстаниция источником питания (в случае ТЭЦ или питания от внешних для рассматриваемой цепи ЛЭП)
        /// </summary>
        public bool IsSource { get; set; }
        /// <summary>
        /// power on switch
        /// поступает (true) или нет (false) на подстанцию питание
        /// </summary>
        public bool IsON { get; set; }
        /// <summary>
        /// asigned powerlines list
        /// список оканчивающихся/начинающихся на подстанции ЛЭП
        /// </summary>
        public IList<Powerline> LineList { get; set; }
        public PowerStation()
        {
            //default constructor
        }
        /// <summary>
        /// designated constructor
        /// </summary>
        /// <param name="crds"></param>
        /// <param name="id"></param>
        /// <param name="stname"></param>
        /// <param name="stpower"></param>
        /// <param name="sttype"></param>
        /// <param name="issource"></param>
        /// <param name="ison"></param>
        public PowerStation(Coordinate crds, int id, string stname, int stpower, StationType sttype, bool issource)
        {
            this.Coordinate = crds;
            this.Identifier = id;
            this.Name = stname;
            this.Power = stpower;
            this.Stationtype = sttype;
            this.IsSource = issource;
            this.IsON = false;
        }
        public bool CheckValue()
        {
            bool checker = Identifier >= 0 && Power > 0 && Power < 1000;
            return checker;
        }
    }
}