예제 #1
0
 public void SetAntennaAt(int index, AntennaEntity antEntity)
 {
     if (((index >= 0) && (index < this.AntennaCount)) && (antEntity != null))
     {
         float fMin = this.m_Antennas[index].FMin;
         float fMax = this.m_Antennas[index].FMax;
         this.m_Antennas[index] = antEntity.Clone() as AntennaEntity;
         this.m_Antennas[index].FMin = fMin;
         this.m_Antennas[index].FMax = fMax;
     }
 }
예제 #2
0
 public bool AddNewAntenna(AntennaEntity m_Antenna, ref string info)
 {
     if (this.AntManage.DataValidate(ref info, null, m_Antenna))
     {
         AntennaVertAttSmooth.NewVertDic(m_Antenna);
         this.m_iantennas.AddAntenna(m_Antenna);
         return true;
     }
     WriteLog.Logger.Debug("Data Error!");
     return false;
 }
예제 #3
0
 private string AntEntityParamToString(AntennaEntity antEntity)
 {
     StringBuilder antSb = new StringBuilder();
     Array.ForEach<float>(antEntity.HoriAttData, delegate (float gain) {
         antSb.Append(gain.ToString());
     });
     Array.ForEach<float>(antEntity.SmoothVertData, delegate (float gain) {
         antSb.Append(gain.ToString());
     });
     antSb.Append(antEntity.Gain);
     return antSb.ToString();
 }
예제 #4
0
 private XlsTable ComposeAntennaXLSTable(AntennaEntity ant, int i)
 {
     XlsTable table = new XlsTable();
     table.SubSystemName = "Huawei.UNet.Antenna.View.AntennaSubSys";
     table.SheetName = AntennaResource.ANTENNA_FILES_NAME;
     table.TableName = string.Empty;
     table.TableNo = i;
     table.ModuleXlsConvertProper = null;
     table.Data = new DataTable();
     this.ConvertAntObjToXLS(ant, table.Data);
     return table;
 }
예제 #5
0
 internal bool DataValidate(ref string info, string oldName, AntennaEntity m_Antenna)
 {
     bool flag = this.IsNameOk(oldName, m_Antenna.Name, ref info) & this.ValidateGain(oldName, m_Antenna.Gain, ref info);
     flag &= this.ValidatePattern(oldName, m_Antenna.Electrical, ref info);
     flag &= this.ValidateComments(oldName, m_Antenna.Comment, ref info);
     flag &= this.ValidateBeamwidth(oldName, m_Antenna.Beamwidth, ref info);
     flag &= this.ValidateFMAxAndFMin(oldName, m_Antenna.FMax, m_Antenna.FMin, ref info);
     if (!flag)
     {
         WriteLog.Logger.Debug(info);
     }
     return flag;
 }
예제 #6
0
파일: AntForm.cs 프로젝트: xiaoyj/Space
 public AntForm(IAntennas<AntennaEntity> antennas)
 {
     this.m_IsCreatAnt = false;
     this.components = null;
     this.InitializeComponent();
     m_antennas = antennas;
     this.AntennaManege = new AntennaDataVerify(m_antennas);
     this.m_myAntenna = new AntennaEntity();
     this.m_myAntenna.Name = m_antennas.GetValideAntennaName();
     this.BindingToObject();
     this.DrawBackGround(this.panel_HGain);
     this.DrawBackGround(this.panel_VGain);
     this.DataGridViewDataErrorDealed(this.dgv_HGain);
     this.DataGridViewDataErrorDealed(this.dgv_VGain);
     this.m_IsCreatAnt = true;
     this.btn_App.Enabled = false;
 }
예제 #7
0
 private void ConvertAntObjToXLS(AntennaEntity antenna, DataTable dataTable)
 {
     DataColumn column = new DataColumn();
     DataColumn column2 = new DataColumn();
     DataColumn column3 = new DataColumn();
     DataColumn column4 = new DataColumn();
     dataTable.Columns.AddRange(new DataColumn[] { column, column2, column3, column4 });
     DataRow row = dataTable.NewRow();
     DataRow row2 = dataTable.NewRow();
     DataRow row3 = dataTable.NewRow();
     DataRow row4 = dataTable.NewRow();
     DataRow row5 = dataTable.NewRow();
     dataTable.Rows.Add(row);
     dataTable.Rows.Add(row2);
     dataTable.Rows.Add(row3);
     dataTable.Rows.Add(row4);
     dataTable.Rows.Add(row5);
     row[column] = "Name";
     row[column2] = antenna.Name;
     row[column3] = "manufacturer";
     row[column4] = antenna.Constructor;
     row2[column] = "Gain";
     row2[column2] = antenna.Gain;
     row2[column3] = "BeamWidth(\x00b0)";
     row2[column4] = antenna.Beamwidth;
     row3[column] = "FMax(MHz)";
     row3[column2] = antenna.FMax;
     row3[column3] = "FMin(MHz)";
     row3[column4] = antenna.FMin;
     row4[column] = "Horizontal Pattern";
     row4[column3] = "Vertical Pattern";
     row5[column] = row5[column3] = "Angle";
     row5[column2] = row5[column4] = "Att.(dBi)";
     for (int i = 0; i < 360; i++)
     {
         DataRow row6 = dataTable.NewRow();
         dataTable.Rows.Add(row6);
         row6[column] = row6[column3] = i;
         row6[column2] = antenna.HoriAttData[i];
         row6[column4] = antenna.VertAttData[i];
     }
 }
예제 #8
0
파일: AntForm.cs 프로젝트: xiaoyj/Space
 private void btn_OK_Click(object sender, EventArgs e)
 {
     if (!(this.btn_App.Enabled || this.m_IsCreatAnt))
     {
         base.Close();
     }
     else
     {
         AntennaConextMenuManager manager = new AntennaConextMenuManager(m_antennas);
         string info = string.Empty;
         if (this.m_IsCreatAnt)
         {
             this.m_myAntenna = this.CreatNewAntenna();
             if (!manager.AddNewAntenna(this.m_myAntenna, ref info))
             {
                 MessageBoxUtil.ShowInfo(info);
                 return;
             }
         }
         else
         {
             string str2 = string.Empty;
             if (!this.ParseValidate(ref str2))
             {
                 MessageBoxUtil.ShowInfo(str2);
                 return;
             }
             this.m_myAntenna = this.CreatNewAntenna();
             if (manager.ModifyAntennaData(this.m_oldAntName, this.m_myAntenna, ref info))
             {
                 this.BindingCollectionToObjects();
                 this.SetPosition(this.m_myAntenna.Name);
             }
             else
             {
                 MessageBoxUtil.ShowInfo(info);
                 return;
             }
         }
         AntennaSubSys.InitialAttOfAntenna();
         base.Close();
     }
 }
예제 #9
0
파일: AntForm.cs 프로젝트: xiaoyj/Space
 private void btn_App_Click(object sender, EventArgs e)
 {
     string info = string.Empty;
     if (!this.ParseValidate(ref info))
     {
         MessageBoxUtil.ShowInfo(info);
     }
     else
     {
         AntennaConextMenuManager manager = new AntennaConextMenuManager(m_antennas);
         this.m_myAntenna = this.CreatNewAntenna();
         string str2 = string.Empty;
         if (this.m_IsCreatAnt)
         {
             if (!manager.AddNewAntenna(this.m_myAntenna, ref str2))
             {
                 MessageBoxUtil.ShowInfo(str2);
                 return;
             }
             this.BindingCollectionToObjects();
             this.SetPosition(this.m_myAntenna.Name);
             this.m_IsCreatAnt = false;
             AntennaVertAttSmooth.NewVertDic(this.m_myAntenna);
         }
         else if (manager.ModifyAntennaData(this.m_oldAntName, this.m_myAntenna, ref str2))
         {
             this.m_myCurrency.Refresh();
             AntennaVertAttSmooth.NewVertDic(this.m_myAntenna);
         }
         else
         {
             MessageBoxUtil.ShowInfo(str2);
             return;
         }
         this.m_oldAntName = this.m_myAntenna.Name;
         AntennaSubSys.InitialAttOfAntenna();
         this.btn_App.Enabled = false;
     }
 }
예제 #10
0
 private static void SmoothingPointData(AntennaEntity antenna, out float[] verticalData)
 {
     verticalData = ReadVerticalDataGridView(antenna);
     Calculator(verticalData);
 }
예제 #11
0
 private float Distance(AntennaEntity ant, float frenquency)
 {
     float num = Math.Abs((float) (frenquency - ant.FMin));
     float num2 = Math.Abs((float) (frenquency - ant.FMax));
     return Math.Min(num, num2);
 }
예제 #12
0
 public bool AddAntenna(AntennaEntity antEntity, ref string msg)
 {
     this.m_Antennas.Add(antEntity);
     return true;
 }
예제 #13
0
 private static float[] ReadVerticalDataGridView(AntennaEntity antenna)
 {
     float[] numArray = new float[antenna.VertAttData.Length];
     for (int i = 0; i < antenna.VertAttData.Length; i++)
     {
         numArray[i] = Math.Abs(antenna.VertAttData[i]);
     }
     return numArray;
 }
예제 #14
0
파일: AntForm.cs 프로젝트: xiaoyj/Space
 public AntForm(string antname, IAntennas<AntennaEntity> antennas)
 {
     this.m_IsCreatAnt = false;
     this.components = null;
     this.InitializeComponent();
     this.m_oldAntName = antname;
     m_antennas = antennas;
     this.AntennaManege = new AntennaDataVerify(m_antennas);
     this.BindingCollectionToObjects();
     this.SetPosition(antname);
     this.DataGridViewDataErrorDealed(this.dgv_HGain);
     this.DataGridViewDataErrorDealed(this.dgv_VGain);
     this.btn_App.Enabled = false;
     this.m_myAntenna = m_antennas.FindCloneAntennaByName(antname);
     this.BindingToObject();
 }
예제 #15
0
 public bool ModifyAntennaData(string oldName, AntennaEntity m_Antenna, ref string info)
 {
     if (this.AntManage.DataValidate(ref info, oldName, m_Antenna))
     {
         List<string> originalAntennaName = new List<string>();
         List<AntennaEntity> newAntenna = new List<AntennaEntity>();
         AntennaVertAttSmooth.NewVertDic(m_Antenna);
         originalAntennaName.Add(oldName);
         newAntenna.Add(m_Antenna);
         this.m_iantennas.ModifyAntenna(originalAntennaName, newAntenna);
         return true;
     }
     WriteLog.Logger.Debug("Data Error!");
     return false;
 }
예제 #16
0
 private void Export_Click(object sender, ToolStripItemClickedEventArgs e)
 {
     this.contextMenuStrip_Child.Close();
     SaveFileDialog dialog = new SaveFileDialog();
     dialog.Filter = "Planet Antenna Files(*.txt) |*.txt|Planet Antenna Files(*.msi) |*.msi";
     dialog.FilterIndex = 1;
     dialog.Title = Huawei.UNet.Common.GlobalResource.AntennaResource.ANTENNA_EXPORT_FILE;
     string name = this.m_treenode.Name;
     string[] strArray = new string[] { ".txt", ".msi" };
     AntennaEntity item = new AntennaEntity();
     List<AntennaEntity> list = new List<AntennaEntity>();
     item = this.m_iantennas.FindAntennaByName(name);
     list.Add(item);
     ClearUnreasonChar(item.Name);
     dialog.FileName = item.Name;
     if (dialog.ShowDialog() == DialogResult.OK)
     {
         if (!(dialog.FileName.EndsWith(strArray[dialog.FilterIndex - 1]) || dialog.FileName.EndsWith(strArray[dialog.FilterIndex - 1].ToUpper())))
         {
             dialog.FileName = dialog.FileName + strArray[dialog.FilterIndex - 1];
         }
         IExternal external = this.m_externalFactory.findFileType(Path.GetExtension(dialog.FileName).ToLower());
         try
         {
             external.export(list, dialog.FileName);
         }
         catch (Exception exception)
         {
             MessageBoxUtil.ShowWarning(exception.Message);
         }
     }
 }
예제 #17
0
 private void Duplicate_Click(object sender, ToolStripItemClickedEventArgs e)
 {
     string str = "";
     string name = this.m_treenode.Name;
     List<AntennaEntity> antennaList = this.m_iantennas.AntennaList;
     AntennaEntity newAntenna = new AntennaEntity();
     newAntenna = this.m_iantennas.FindCloneAntennaByName(name);
     str = this.CreatNewname(antennaList, name);
     newAntenna.Name = str;
     this.m_iantennas.AddAntenna(newAntenna);
 }
예제 #18
0
파일: AntForm.cs 프로젝트: xiaoyj/Space
 private AntennaEntity CreatNewAntenna()
 {
     AntennaEntity entity = new AntennaEntity();
     entity.Beamwidth = Convert.ToSingle(this.tb_BeamWidth.Value);
     entity.Comment = this.tb_Comments.Text.TrimEnd(new char[0]);
     entity.Constructor = this.tb_Manu.Text.Trim();
     entity.Electrical = Convert.ToSingle(this.tb_Pattern.Text);
     entity.FMax = Convert.ToSingle(this.tb_FMax.Value);
     entity.FMin = Convert.ToSingle(this.tb_FMin.Value);
     entity.Gain = Convert.ToSingle(this.tb_Gain.Value);
     entity.Name = this.tb_Name.Text.Trim();
     this.GetGainTableFromGridView(entity.HoriAttData, this.dgv_HGain);
     this.GetGainTableFromGridView(entity.VertAttData, this.dgv_VGain);
     return entity;
 }
예제 #19
0
        protected bool RunCubeBlockReflectionTests()
        {
            bool result = true;

            if (!LightEntity.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("LightEntity reflection validation failed!");
            }

            if (!BatteryBlockEntity.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("BatteryBlockEntity reflection validation failed!");
            }

            if (!DoorEntity.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("DoorEntity reflection validation failed!");
            }

            if (!GravityBaseEntity.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("GravityBaseEntity reflection validation failed!");
            }

            if (!GravityGeneratorEntity.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("GravityGeneratorEntity reflection validation failed!");
            }

            if (!GravitySphereEntity.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("GravitySphereEntity reflection validation failed!");
            }

            if (!BeaconEntity.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("BeaconEntity reflection validation failed!");
            }

            if (!AntennaEntity.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("AntennaEntity reflection validation failed!");
            }

            if (!ThrustEntity.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("ThrustEntity reflection validation failed!");
            }

            if (!ThrustNetworkManager.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("ThrustNetworkManager reflection validation failed!");
            }

            if (!GyroEntity.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("GyroEntity reflection validation failed!");
            }

            if (!GyroNetworkManager.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("GyroNetworkManager reflection validation failed!");
            }

            if (result)
            {
                Console.WriteLine("All block types passed reflection unit tests!");
            }

            return(result);
        }
예제 #20
0
        public void GetLinkLossTest()
        {
            AntennaEntity antEntity = new AntennaEntity();
            antEntity.Gain = 8f;
            AntConfig1.OutdoorAntenna = antEntity;
            index = 8;
            RxSensitivity = -110f;
            Shadow = true;
            IndoorCov = true;
            CovProb = 0.75;
            CoLinkLossCalc ColinkCalc = new CoLinkLossCalc(RxSensitivity, termianl, PsService, Shadow, IndoorCov, CovProb);
            float[] linklossValue1 = ColinkCalc.GetLinkLoss(index, matrix, cell);
            float[] linklossValue2 = new float[2] { 9f, 11f };
            Assert.AreEqual(linklossValue2, linklossValue1);

        }
예제 #21
0
파일: AntForm.cs 프로젝트: xiaoyj/Space
 private bool IsAntEqual(AntennaEntity antA, AntennaEntity antB, ref bool result)
 {
     bool flag;
     if (this.tc_Ant.SelectedTab.Equals(this.GeneralPage))
     {
         flag = antA.Name == antB.Name;
         result = result && flag;
         flag = antA.Constructor == antB.Constructor;
         result = result && flag;
         flag = antA.Electrical == antB.Electrical;
         result = result && flag;
         flag = antA.Gain == antB.Gain;
         result = result && flag;
         flag = antA.Comment == antB.Comment;
         result = result && flag;
         return result;
     }
     if (this.tc_Ant.SelectedTab.Equals(this.OthertabPage))
     {
         flag = antA.FMax == antB.FMax;
         result = result && flag;
         flag = antA.FMin == antB.FMin;
         result = result && flag;
         flag = antA.Beamwidth == antB.Beamwidth;
         result = result && flag;
     }
     return result;
 }
예제 #22
0
 public void AntennaValidate(ref string info, AntennaEntity antenna)
 {
     string name = antenna.Name;
     if (this.AntManage.DataValidate(ref info, name, antenna))
     {
         antenna.Name = this.m_iantennas.GetValideAntennaName(name);
         this.m_iantennas.AddAntenna(antenna);
         AntennaVertAttSmooth.NewVertDic(antenna);
     }
     else
     {
         MessageBoxUtil.ShowInfo(name + ":" + info);
     }
 }
예제 #23
0
        protected bool RunCubeBlockReflectionTests()
        {
            bool result = true;

            if (!CubeBlockEntity.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("CubeBlockEntity reflection validation failed!");
            }

            if (!TerminalBlockEntity.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("TerminalBlockEntity reflection validation failed!");
            }

            if (!FunctionalBlockEntity.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("FunctionalBlockEntity reflection validation failed!");
            }

            if (!ProductionBlockEntity.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("ProductionBlockEntity reflection validation failed!");
            }

            if (!LightEntity.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("LightEntity reflection validation failed!");
            }

            if (!BatteryBlockEntity.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("BatteryBlockEntity reflection validation failed!");
            }

            if (!BatteryBlockNetworkManager.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("BatteryBlockNetworkManager reflection validation failed!");
            }

            if (!DoorEntity.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("DoorEntity reflection validation failed!");
            }

            if (!GravityBaseEntity.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("GravityBaseEntity reflection validation failed!");
            }

            if (!GravityGeneratorEntity.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("GravityGeneratorEntity reflection validation failed!");
            }

            if (!GravitySphereEntity.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("GravitySphereEntity reflection validation failed!");
            }

            if (!BeaconEntity.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("BeaconEntity reflection validation failed!");
            }

            if (!AntennaEntity.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("AntennaEntity reflection validation failed!");
            }

            if (!ThrustEntity.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("ThrustEntity reflection validation failed!");
            }

            if (!ThrustNetworkManager.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("ThrustNetworkManager reflection validation failed!");
            }

            if (!GyroEntity.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("GyroEntity reflection validation failed!");
            }

            if (!GyroNetworkManager.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("GyroNetworkManager reflection validation failed!");
            }

            if (!CockpitEntity.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("CockpitEntity reflection validation failed!");
            }

            if (!TurretBaseEntity.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("TurretBaseEntity reflection validation failed!");
            }

            if (!TurretNetworkManager.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("TurretNetworkManager reflection validation failed!");
            }

            if (!LandingGearEntity.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("LandingGearEntity reflection validation failed!");
            }

            if (!LandingGearNetworkManager.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("LandingGearNetworkManager reflection validation failed!");
            }

            if (!ReactorEntity.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("ReactorEntity reflection validation failed!");
            }

            if (!SolarPanelEntity.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("SolarPanelEntity reflection validation failed!");
            }

            if (!SmallGatlingGunEntity.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("SmallGatlingGunEntity reflection validation failed!");
            }

            if (!MergeBlockEntity.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("MergeBlockEntity reflection validation failed!");
            }

            if (!PistonEntity.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("PistonEntity reflection validation failed!");
            }

            if (!PistonNetworkManager.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("PistonNetworkManager reflection validation failed!");
            }

            if (!RotorEntity.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("RotorEntity reflection validation failed!");
            }

            if (!VirtualMassEntity.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("VirtualMassEntity reflection validation failed!");
            }

            if (!CameraBlockEntity.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("CameraBlockEntity reflection validation failed!");
            }

            if (!OreDetectorEntity.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("OreDetectorEntity reflection validation failed!");
            }

            if (!ButtonPanelEntity.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("ButtonPanelEntity reflection validation failed!");
            }

            if (!ShipControllerEntity.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("ShipControllerEntity reflection validation failed!");
            }

            if (!ShipControllerNetworkManager.ReflectionUnitTest())
            {
                result = false;
                Console.WriteLine("ShipControllerNetworkManager reflection validation failed!");
            }

            if (result)
            {
                Console.WriteLine("All block types passed reflection unit tests!");
            }

            return(result);
        }
예제 #24
0
 public static void NewVertDic(AntennaEntity antenna)
 {
     float[] verticalData = new float[360];
     SmoothingPointData(antenna, out verticalData);
     for (int i = 0; i < antenna.VertAttData.Length; i++)
     {
         antenna.SmoothVertData[i] = verticalData[i];
     }
 }