public virtual Builder add_spectral_line(SpectralLine l) { _spectrum.Add(l); _max_intensity = Math.Max(_max_intensity, l.get_intensity()); _min_intensity = Math.Min(_min_intensity, l.get_intensity()); return(this); }
public virtual Builder add_spectral_line(double wavelen) { SpectralLine l = new SpectralLine(wavelen, 1.0); _spectrum.Add(l); _max_intensity = Math.Max(_max_intensity, l.get_intensity()); _min_intensity = Math.Min(_min_intensity, l.get_intensity()); return(this); }
void draw_intercepts(RendererViewport renderer, Surface s) { // double max_intensity = _results.get_max_ray_intensity (); // renderer.set_max_intensity(max_intensity); foreach (TracedRay ray in _results.get_intercepted(s)) { // dont need global transform here, draw ray intercept points in // surface local coordinates. renderer.draw_point(ray.get_intercept_point().project_xy(), SpectralLine.get_wavelen_color(ray.get_wavelen()), Renderer.PointStyle.PointStyleDot); } }
/** * Get color to use for a ray */ static Rgb ray_to_rgb(LightRay ray) { return(SpectralLine.get_wavelen_color(ray.get_wavelen())); }