Trace::Result class reference
[Core module]

Declaration  

#include <Goptical/Trace/Result>

namespace Goptical {
namespace Trace {
class Result;
};
};

This class is a member of the Trace namespace.

Description  

This class encapsulates rays data propagation result.

It must be properly configured before light propagation as needed by the analysis currently being performed. All requested light propagation informations will be store for further processing.

All Ray object are allocated by this class. It is able to remember which element intercepted and generated each ray.

Members  

See also the full member list section for this class.

Type  

Functions  

Members detail  

Result()  

Crate a new empty result object

~Result()  

No documentation available

void add_generated(const Sys::Element &s, Ray &ray)  

Declare a new ray generation

void add_intercepted(const Sys::Surface &s, Ray &ray)  

Declare a new ray interception

void add_ray_wavelen(double wavelen)  

Declare ray wavelen used for tracing

void clear()  

Clear all result data

void clear_save_states()  

Set all save states to false

void draw_2d(Io::Renderer &r, bool hit_image = false, const Sys::Element *ref = 0) const  

Draw all tangential rays using specified renderer. Only rays which end up hitting the image plane are drawn when hit_image is set.

void draw_3d(Io::Renderer &r, bool hit_image = false, const Sys::Element *ref = 0) const  

Draw all rays using specified renderer. Only rays which end up hitting the image plane are drawn when hit_image is set.

const rays_queue_t & get_generated(const Sys::Element &s) const  

Get the list of rays generated by a given element

bool get_generated_save_state(const Sys::Element &e)  

Return true if generated rays must be saved for this element

const rays_queue_t & get_intercepted(const Sys::Surface &s) const  

Get the list of rays striking a given surface

Math::Vector3 get_intercepted_center(const Sys::Surface &s) const  

Get center of window

Math::Vector3 get_intercepted_centroid(const Sys::Surface &s) const  

Get centroid of all ray intercepted on a surface

bool get_intercepted_save_state(const Sys::Element &e)  

Return true if generated rays must be saved for this element

Math::VectorPair3 get_intercepted_window(const Sys::Surface &s) const  

Get window which include all ray intercepted on a surface

double get_max_ray_intensity() const  

Get maximum intensity for a single ray FIXME

const Params & get_params() const  

Get reference to tracer parameters used

const std::set<double> & get_ray_wavelen_set() const  

Get ray wavelen in use set

const sources_t & get_source_list() const  

Get list of sources used for ray tracing

Ray & new_ray()  

Allocate a new Trace::Ray object from result

Ray & new_ray(const Light::Ray &r)  

Allocate a new Trace::Ray object from result

void set_generated_save_state(const Sys::Element &e, bool enabled = true)  

List of rays generated by this element must be saved when tracing rays

void set_intercepted_save_state(const Sys::Element &e, bool enabled = true)  

List of rays striking this surface must be saved when tracing rays

typedef std::vector<const Sys::Source*> sources_t  

No documentation available

Valid XHTML 1.0 StrictGenerated by diaxen on Sun Jan 8 00:47:25 2012 using MkDoc