void DrawAdditionnalsInfos(Graphics g, CGraph Graph) { System.Drawing.Font SampleFont = new Font("Verdana", 8.0f); //foreach (CurveBPMarker Marker in MarkerArray) for (int nIndex = 0; nIndex < UserMarkerArray.Length; nIndex++) { CurveBPMarker Marker = UserMarkerArray[nIndex]; float fdB = 0.0f; if (Marker != CurveBPMarker.OFF) { switch (Marker) { case CurveBPMarker.MAX_LEVEL: fdB = 0.0f; break; case CurveBPMarker.MIN_LEVEL: fdB = fMinLeveldB - fMaxLeveldB; break; case CurveBPMarker.BP_3dB_TO_MIN: fdB = fMinLeveldB - fMaxLeveldB + 3.0f; break; case CurveBPMarker.BP_6dB_TO_MIN: fdB = fMinLeveldB - fMaxLeveldB + 6.0f; break; default: fdB = -((int)Marker); break; } DrawLevel(fdB, UserMarkerArrayValues[nIndex], g, Graph); } } // DrawLevel(-3.0f, n3dBBandpassLowFrequency, n3dBBandpassHighFrequency, g, Graph); // DrawLevel(-6.0f, n6dBBandpassLowFrequency, n6dBBandpassHighFrequency, g, Graph); // DrawLevel(-60.0f, n60dBBandpassLowFrequency, n60dBBandpassHighFrequency, g, Graph); }
public void ComputeCaracteristicsParams() { if (SpectrumValues == null || SpectrumValues.Length == 0) { return; } int nMaxLevelIndex = Utility.RetrieveMaxValueIndex(SpectrumValues); int nMinLevelIndex = Utility.RetrieveMinValueIndex(SpectrumValues); fMaxLeveldB = SpectrumValues[nMaxLevelIndex]; fMinLeveldB = SpectrumValues[nMinLevelIndex]; nFrequencyStep = (nSpectrumHighFrequency - nSpectrumLowFrequency) / SpectrumValues.Length; nMaxLevelFrequency = nSpectrumLowFrequency + nMaxLevelIndex * nFrequencyStep; nMinLevelFrequency = nSpectrumLowFrequency + nMinLevelIndex * nFrequencyStep; for (int nIndex = 0; nIndex < UserMarkerArray.Length; nIndex++) { CurveBPMarker Marker = UserMarkerArray[nIndex]; if (Marker != CurveBPMarker.OFF) { switch (Marker) { case CurveBPMarker.MAX_LEVEL: UserMarkerArrayValues[nIndex].LowFreq = nMaxLevelFrequency; UserMarkerArrayValues[nIndex].HighFreq = -1; UserMarkerArrayValues[nIndex].BandPass = 0; break; case CurveBPMarker.MIN_LEVEL: UserMarkerArrayValues[nIndex].LowFreq = nMinLevelFrequency; UserMarkerArrayValues[nIndex].HighFreq = -1; UserMarkerArrayValues[nIndex].BandPass = 0; break; case CurveBPMarker.BP_3dB_TO_MIN: ComputeMarkerFrequencies(ref UserMarkerArrayValues[nIndex], (fMinLeveldB + 3.0f), nMaxLevelIndex); break; case CurveBPMarker.BP_6dB_TO_MIN: ComputeMarkerFrequencies(ref UserMarkerArrayValues[nIndex], (fMinLeveldB + 6.0f), nMaxLevelIndex); break; default: ComputeMarkerFrequencies(ref UserMarkerArrayValues[nIndex], (fMaxLeveldB - ((int)Marker)), nMaxLevelIndex); break; } } } ComputeMarkerFrequencies(ref Marker3dB, fMaxLeveldB - 3.0f, nMaxLevelIndex); DipoleD = DetermineDipoleType(ref Marker3dB); ComputeMarkerFrequencies(ref Marker6dB, fMaxLeveldB - 6.0f, nMaxLevelIndex); ComputeMarkerFrequencies(ref Marker60dB, fMaxLeveldB - 60.0f, nMaxLevelIndex); if (Marker60dB.BandPass != -1) { n6dB60dBfShapeFactor = ((float)Marker60dB.BandPass / Marker6dB.BandPass); } else { n6dB60dBfShapeFactor = -1; } }