public override float[] CalcPointClutterProportion(short[] clutters, PropagationModelBase pmBase, float resolution, int typecount) { Dictionary<short, float> dictionary2; int index; SpmPropagationModel model = pmBase as SpmPropagationModel; lock (model) { Dictionary<short, string> stringDic = model.KTerrainsDictionary; dictionary2 = base.TransStringToSingle(stringDic); } float num = 0f; float[] numArray = new float[clutters.Length]; float num2 = clutters.Length * resolution; float[] numArray2 = new float[typecount]; for (index = 0; index < clutters.Length; index++) { numArray[index] = index * resolution; num += (float) Math.Log10((double) ((numArray[index] / num2) + 1f)); } for (index = 0; index < clutters.Length; index++) { if (clutters[index] != -32768) { Dictionary<short, float> dictionary3; short num4; (dictionary3 = dictionary2)[num4 = clutters[index]] = dictionary3[num4] + (((float) Math.Log10((double) ((numArray[index] / num2) + 1f))) / num); } } float[] array = new float[dictionary2.Count]; dictionary2.Values.CopyTo(array, 0); return array; }
private bool BandProperties(string strPropertiesXml, IPropagationModel propModel) { this.m_propModel = propModel as PropagationModelBase; this.m_editPropModel = this.m_propModel.Clone() as PropagationModelBase; this.Text = this.m_propModel.PropModelName; this.txtName.Text = this.m_editPropModel.PropModelName; this.txtDescriptionrich.Text = this.m_editPropModel.Description; ms_XDoc.LoadXml(strPropertiesXml); XmlNodeList pObjectPropertys = ms_XDoc.SelectSingleNode("Properties").SelectNodes("Property"); this.m_CustomProperty = new CustomProperty(this.m_editPropModel, pObjectPropertys); this.gridParameters.SelectedObject = this.m_CustomProperty; return true; }
public override float CalcPointClutterLoss(short[] clutters, PropagationModelBase pmBase, float resolution) { if (!(pmBase is SpmPropagationModel)) { return 0f; } SpmPropagationModel model = pmBase as SpmPropagationModel; Dictionary<short, string> stringDic = model.KTerrainsDictionary; Dictionary<short, float> kClutters = base.TransStringToSingle(stringDic); float numerator = 0f; float denominator = 0f; for (int i = 0; i < clutters.Length; i++) { float num4 = i * resolution; numerator += this.GetClutterLos(kClutters, clutters[i]) * num4; denominator += num4; } return this.JudgementDenominator(denominator, numerator); }
public virtual float[] CalcPointClutterProportion(short[] clutters, PropagationModelBase pmBase, float resolution, int typecount) { throw new Exception("The method or operation is not implemented."); }
public virtual float CalcPointClutterLoss(short[] clutters, PropagationModelBase pmBase, float resolution) { throw new Exception("The method or operation is not implemented."); }