예제 #1
0
 public GlycanStructure(Glycan argGlycan, float argY1)
 {
     _tree = new GlycanTreeNode(argGlycan.GlycanType, _nextID);
     _nextID++;
     _y1    = new MSPoint(argY1, 0.0f);
     _IUPAC = _tree.GetIUPACString();
 }
예제 #2
0
 public GlycanStructure(Glycan argGlycan, MSPoint argPeak)
 {
     _tree = new GlycanTreeNode(argGlycan.GlycanType, _nextID);
     _nextID++;
     _y1    = argPeak;
     _IUPAC = _tree.GetIUPACString();
 }
        private void RenderDensityField(PaintEventArgs e)
        {
            MSPoint point = new MSPoint(0.0f, 0.0f);

            const float maxDensity = 10.0f;

            int xBound = e.ClipRectangle.X + e.ClipRectangle.Width;
            int yBound = e.ClipRectangle.Y + e.ClipRectangle.Height;

            for (int x = e.ClipRectangle.X; x < xBound; ++x)
            {
                for (int y = e.ClipRectangle.Y; y < yBound; ++y)
                {
                    point.X = x;
                    point.Y = y;

                    float density = particleField.DensityAtLocation(point);

                    int alpha = (int)(128.0f + (density / maxDensity) * 127.0f);

                    Color renderColour = Color.FromArgb(alpha, Color.Red);

                    densityFieldBitMap.SetPixel(x, y, renderColour);
                }
            }

            e.Graphics.DrawImageUnscaled(densityFieldBitMap, 0, 0);
        }
예제 #4
0
 public int EnsurePatternNum(Huawei.UNet.NE.Interface.IACell calAntennaParam, MSPoint[] UserPoints)
 {
     return 0;
 }
예제 #5
0
 public float CalUsersSideAngleGain(Huawei.UNet.NE.Interface.IACell calAntennaParam, MSPoint CurMsPoint, MSPoint AccMsPoint, int PatternNum)
 {
     return 0;
 }
예제 #6
0
 public float CalMainAngleGain(Huawei.UNet.NE.Interface.IACell calAntennaParam, MSPoint MsPoint)
 {
     return 0;
 }
예제 #7
0
파일: MockProject.cs 프로젝트: xiaoyj/Space
 public float CalSideAngleGain(IACell calAntennaParam, MSPoint CurMsPoint, MSPoint AccMsPoint)
 {
     return 10f;
 }
예제 #8
0
파일: MockProject.cs 프로젝트: xiaoyj/Space
 public float CalBCHGain(IACell calAntennaParam, MSPoint MsPoint)
 {
     return 10f;
 }
예제 #9
0
 public float CalMainAngleGain(IACell calAntennaParam, MSPoint MsPoint)
 {
     return 12f;
 }
예제 #10
0
 public MSParticle(MSPoint point, float _radius)
 {
     Position = point;
     Radius   = _radius;
 }
예제 #11
0
파일: MockOther.cs 프로젝트: xiaoyj/Space
 public float CalSideAngleGain(IACell calAntennaParam, MSPoint CurMsPoint, MSPoint AccMsPoint)
 {
     throw new NotImplementedException();
 }
예제 #12
0
 /// <summary>
 /// 计算下行链路的EbNo
 /// </summary>
 /// <param name="ModelList">包含每个小区的链路信息列表</param>
 /// <param name="point">当前点</param>
 private void CalcDlLinkEbNo(List<RxPowerAndLinkLossModel> ModelList, GeoXYPoint point)
 {
     GetServiceCell(ModelList);
     m_MsPoint = GetUserPoint(point);
     Dictionary<IACell, double> m_ServiceLinkRxPowerDic = GetRxPower(ModelList);
     TDSCDMACarrier tdCell = m_BestCell as TDSCDMACarrier;
     double totalIntef = UnitTrans.todB(CalcDlIo(m_ServiceLinkRxPowerDic));
     double noisePower = CalcNoisePower(tdCell) ;
     double Io = UnitTrans.AdddBm(totalIntef, noisePower);
     m_LinkEbNo = (float)m_LinkRxPower - (float)Io + m_DlPG + m_DivGain;
 }
예제 #13
0
 /// <summary>
 /// 计算上行业务信道的EbNo
 /// </summary>
 /// <param name="ModelList">包含每个小区的链路信息列表</param>
 /// <param name="point">当前点</param>
 /// <param name="terminal">终端信息</param>
 private void CalcUlLinkEbNo(List<RxPowerAndLinkLossModel> ModelList, GeoXYPoint point, Terminal terminal)
 {
     GetServiceCell(ModelList);
     m_MsPoint = GetUserPoint(point);
     TDTerminal tdTerminal = (TDTerminal)terminal.GetNetWorkTerminal(NetWorkType.TDSCDMA);
     m_TxPower = tdTerminal.MaxTxPower;
     foreach (RxPowerAndLinkLossModel rpl in ModelList)
     {
         if (m_BestCell.ID == rpl.Cell.ID)
         {
             float gain = m_SmartAntGain.CalMainAngleGain(rpl.Cell, m_MsPoint);
             m_LinkRxPower = m_TxPower - rpl.UpLinkLoss + gain;
         }
     }
     double Io = CalcUlIo(m_BestCell);
     m_LinkEbNo = (float)m_LinkRxPower - (float)Io + m_UlPG + m_DivGain;
 }
예제 #14
0
 /// <summary>
 /// 获得模拟用户的位置
 /// </summary>
 /// <param name="xyPoint">XY坐标</param>
 /// <returns></returns>
 private MSPoint GetUserPoint(GeoXYPoint xyPoint)
 {
     MSPoint result = new MSPoint();
     result.PointX = xyPoint.X;
     result.PointY = xyPoint.Y;
     result.MsHeight = 1.5f;
     return result;
 }