예제 #1
0
 private SimGroup CloneGroup(SimGroup originalGroup)
 {
     SimGroup group = new SimGroup(this.m_subSysInterface);
     string nameOfSimulation = originalGroup.Param.NameOfSimulation;
     CustomizedParamForSimulation simulation = new CustomizedParamForSimulation();
     group.Param = simulation;
     group.Param.NameOfSimulation = originalGroup.Param.NameOfSimulation;
     group.Param.Comments = originalGroup.Param.Comments;
     group.Param.NumOfSnapShot = originalGroup.Param.NumOfSnapShot;
     group.Param.IsExecuteLater = originalGroup.Param.IsExecuteLater;
     group.Param.ScalingFactor = originalGroup.Param.ScalingFactor;
     group.Param.MapList = originalGroup.Param.MapList;
     group.Param.PolygonList = originalGroup.Param.PolygonList;
     group.Param.NumOfTTI = originalGroup.Param.NumOfTTI;
     group.Param.SiteCorr = originalGroup.Param.SiteCorr;
     group.Param.BLER = originalGroup.Param.BLER;
     group.Param.IsFixure = originalGroup.Param.IsFixure;
     group.Param.IsHARQ = originalGroup.Param.IsHARQ;
     group.Param.IsIRC = originalGroup.Param.IsIRC;
     group.Param.IsTTIBundling = originalGroup.Param.IsTTIBundling;
     group.Param.IsVMIMO = originalGroup.Param.IsVMIMO;
     group.Param.IOTConThreshold = originalGroup.Param.IOTConThreshold;
     group.Param.DLLoadConThreshold = originalGroup.Param.DLLoadConThreshold;
     group.Param.DLThroughputConThreshold = originalGroup.Param.DLThroughputConThreshold;
     group.Param.ULLoadConThreshold = originalGroup.Param.ULLoadConThreshold;
     group.Param.ULThroughputConThreshold = originalGroup.Param.ULThroughputConThreshold;
     group.CellList = originalGroup.CellList;
     this.AdjustGroupAttribute(group);
     return group;
 }
예제 #2
0
 public SimulationFrmUIModel(SimGroupManager groupManager, OtherSubSysInterface subSys, SimGroup simGroup)
 {
     this.m_GroupManager = groupManager;
     this.m_otherSubSysInterface = subSys;
     this.m_simGroup = simGroup;
     this.Init();
 }
예제 #3
0
 public SimulationFrmControl(SimGroupManager groupManager, OtherSubSysInterface subSys, SimGroup simGroup, FormOpenType frmType)
 {
     if (frmType == FormOpenType.New)
     {
         simGroup.GroupName = this.GenerateNewName();
     }
     this.m_GroupManager = groupManager;
     this.m_FrmUIModel = new SimulationFrmUIModel(this.m_GroupManager, subSys, simGroup);
 }
예제 #4
0
 private void AdjustGroupAttribute(SimGroup group)
 {
     string nameOfSimulation = group.Param.NameOfSimulation;
     string groupName = "copy of " + nameOfSimulation;
     for (int i = 1; this.Exist(groupName); i++)
     {
         groupName = "copy(" + i.ToString() + ") of " + nameOfSimulation;
     }
     group.GroupName = groupName;
 }
예제 #5
0
 public void AddGroup(CustomizedParamForSimulation param)
 {
     SimGroup item = new SimGroup(param, this.m_subSysInterface);
     this.m_simGroups.Add(item);
     TreeNode node = new TreeNode();
     node.Text = item.GroupName;
     node.ImageKey = "Group";
     node.SelectedImageKey = "Group";
     node.StateImageIndex = 1;
     node.ContextMenuStrip = this.m_GroupContextMenuStrip;
     this.m_Node.Nodes.Add(node);
     this.m_Node.TreeView.SelectedNode = node;
     this.SetNeedPromptSave();
 }
예제 #6
0
 private void Init()
 {
     this.polygonList = this.m_otherSubSysInterface.PolygonRegion;
     this.mapList = this.m_otherSubSysInterface.TrafficMapService.TrafficMapList;
     this.m_CustomParam = new CustomizedParamForSimulation();
     this.m_selectSimGroup = this.m_SimGroupManager.FindGroup(this.m_SimGroupName);
     this.tbName.Text = this.m_selectSimGroup.GroupName;
     this.tbComments.Text = this.m_selectSimGroup.Param.Comments;
     this.ntbNumofSim.Value = this.m_selectSimGroup.Param.NumOfSnapShot;
     this.BLER.Value = ((decimal) this.m_selectSimGroup.Param.BLER) * 100M;
     this.ntbScalingFactor.Value = this.m_selectSimGroup.Param.ScalingFactor;
     this.AddPolyNameToComboBox();
     this.AddMapNameToComboBox();
     this.numofIterations.Value = this.m_selectSimGroup.Param.NumOfTTI;
     this.siteCorr.Value = (decimal) this.m_selectSimGroup.Param.SiteCorr;
     this.cellCorr.Value = (decimal) this.m_selectSimGroup.Param.CellCorr;
     this.cbxFixure.Checked = this.m_selectSimGroup.Param.IsFixure;
     this.chkHARQ.Checked = this.m_selectSimGroup.Param.IsHARQ;
     this.chkIRC.Checked = this.m_selectSimGroup.Param.IsIRC;
     this.chkTTIBundling.Checked = this.m_selectSimGroup.Param.IsTTIBundling;
     //this.chkVMIMO.Checked = this.m_selectSimGroup.Param.IsVMIMO;
     this.IOTConThreshold.Value = (decimal) this.m_selectSimGroup.Param.IOTConThreshold;
     this.DlLoadConThreshold.Value = ((decimal) this.m_selectSimGroup.Param.DLLoadConThreshold) * 100M;
     this.DlThroughputConThreshold.Value = ((decimal) this.m_selectSimGroup.Param.DLThroughputConThreshold) * 100M;
     this.UlLoadConThreshold.Value = ((decimal) this.m_selectSimGroup.Param.ULLoadConThreshold) * 100M;
     this.UlThroughputConThreshold.Value = ((decimal) this.m_selectSimGroup.Param.ULThroughputConThreshold) * 100M;
     this.btnApply.Enabled = false;
 }
예제 #7
0
 private bool getSnapShotNode(SimGroup simGroup, TreeNode simGroupNode)
 {
     if (simGroup.Result != null)
     {
         List<int> snapshotIndexs = simGroup.Result.GetSnapshotIndexs();
         if ((snapshotIndexs != null) || (snapshotIndexs.Count != 0))
         {
             bool flag = true;
             simGroup.GroupDisplayUser = new List<DisplayUser>();
             foreach (int num in snapshotIndexs)
             {
                 SnapShotStatData snapShotStatData = simGroup.Result.GetSnapShotStatData(num, this.m_SubSysInterface);
                 if (snapShotStatData == null)
                 {
                     flag = false;
                 }
                 else
                 {
                     List<DisplayUser> collection = this.AddTreeNode(snapShotStatData, num, simGroupNode);
                     simGroup.GroupDisplayUser.AddRange(collection);
                 }
             }
             return flag;
         }
     }
     return false;
 }
예제 #8
0
 private void checkGroupValidResult(SimGroup group)
 {
     List<string> list = new List<string>();
     foreach (KeyValuePair<string, List<float>> pair in group.GraphResult)
     {
         if (pair.Value.Count == 0)
         {
             list.Add(pair.Key);
         }
     }
     foreach (string str in list)
     {
         group.GraphResult.Remove(str);
     }
 }
예제 #9
0
 private TreeNode CreateGroupNode(SimGroup group)
 {
     TreeNode node = new TreeNode();
     node.Text = group.GroupName;
     node.Name = group.GroupName;
     node.ContextMenuStrip = this.m_GroupContextMenuStrip;
     node.ImageKey = "Unlock";
     node.SelectedImageKey = "Unlock";
     node.StateImageIndex = 1;
     this.m_Node.Nodes.Add(node);
     return node;
 }
예제 #10
0
 private void InitGraph(string type, SimGroup group)
 {
     this.m_Group = group;
     this.m_Type = type;
     this.m_ZedGraph.GraphPane.CurveList.Clear();
     this.m_ZedGraph.GraphPane.Title.Text = type;
     this.m_ZedGraph.GraphPane.XAxis.Title.Text = this.m_Type + string.Format(SimulationResource.SIMULATION_AXIS, this.m_unit.ToString());
     this.m_ZedGraph.GraphPane.YAxis.Title.Text = SimulationResource.SIMULATION_PERCENT_AXIS;
 }
예제 #11
0
 public void DisplayPDF(string type, SimGroup group, string unit)
 {
     this.m_ZedGraph.GraphPane.XAxis.MajorGrid.IsVisible = false;
     this.m_ZedGraph.GraphPane.XAxis.MinorGrid.IsVisible = false;
     this.m_unit = unit;
     this.InitGraph(type, group);
     this.CreatXY();
     this.CreatGraphPDF();
 }