public SpectrumEditorControl() { InitializeComponent(); init(); Spectrum spectrum_ = new Spectrum(ESpectrumTemplate.ExtendedVisible); spectrum_.AddSpectralPoint(580, 0); SetSpectrum(spectrum_); }
public void Redo(Spectrum spec) { switch (action) { case EAction.Moved: spec.SetSpectralPoint(actionAfter, actionBefore); break; case EAction.Added: spec.AddSpectralPoint(actionAfter); break; case EAction.Deleted: spec.DeleteSpectralPoint(actionBefore); break; case EAction.None: default: break; } }
private void ParseImage() { if ((imProp.Image != null) && (imProp.StartPoint != new Point(-1, -1)) && (imProp.EndPoint != new Point(-1, -1))) { CreateBackBuffer(); spectrum = new Spectrum(); int x_len = imProp.EndPoint.X - imProp.StartPoint.X; int y_len = imProp.EndPoint.Y - imProp.StartPoint.Y; double dLambda = (imProp.EndLambda - imProp.StartLambda) / (double)x_len; double dIntensity = (imProp.MaxIntensity - imProp.MinIntensity) / (double)y_len; double lambda = imProp.StartLambda; for (int xx = 0; xx <= Math.Abs(x_len); xx++) { double intensity = imProp.MinIntensity; for (int yy = 0; yy <= Math.Abs(y_len); yy++) { int x = Math.Sign(x_len) * xx + imProp.StartPoint.X; int y = Math.Sign(y_len) * yy + imProp.StartPoint.Y; if (backBufferBMP.GetPixel(x, y) == imProp.GraphColor) { intensity = imProp.MinIntensity + yy * Math.Abs(dIntensity); } } spectrum.AddSpectralPoint(lambda, intensity); lambda += dLambda; } } }
private void GenerateTestData() { SpectrumLibrary specLib = new SpectrumLibrary(); for (int i = 0; i < 15; i++) { Spectrum spec = new Spectrum(ESpectrumTemplate.ExtendedVisible); spec.AddSpectralPoint(630, 1); spec.Name = "Laser: " + (i); spec.Interpolation = ESpectralInterpolation.Peak; spec.Clear(); specLib.AddSpectrum(spec, "Laser"); } for (int i = 0; i < 15; i++) { Spectrum spec = new Spectrum(ESpectrumTemplate.ExtendedVisible); spec.AddSpectralPoint(580, 0); spec.Name = "Light: " + (i); specLib.AddSpectrum(spec, "Light"); } for (int i = 0; i < 15; i++) { Spectrum spec = new Spectrum(ESpectrumTemplate.ExtendedVisible); spec.AddSpectralPoint(580, 0); spec.Name = "Material: " + (i); specLib.AddSpectrum(spec, "Materials"); } SetSpectrumLibrary(specLib); }