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
- typedef [...] sources_t
Functions
- Result()
- ~Result()
- void add_generated(const Sys::Element &s, Ray &ray)
- void add_intercepted(const Sys::Surface &s, Ray &ray)
- void add_ray_wavelen(double wavelen)
- void clear()
- void clear_save_states()
- void draw_2d(Io::Renderer &r, bool hit_image = [...], const Sys::Element *ref = [...]) const
- void draw_3d(Io::Renderer &r, bool hit_image = [...], const Sys::Element *ref = [...]) const
- const rays_queue_t & get_generated(const Sys::Element &s) const
- bool get_generated_save_state(const Sys::Element &e)
- const rays_queue_t & get_intercepted(const Sys::Surface &s) const
- Math::Vector3 get_intercepted_center(const Sys::Surface &s) const
- Math::Vector3 get_intercepted_centroid(const Sys::Surface &s) const
- bool get_intercepted_save_state(const Sys::Element &e)
- Math::VectorPair3 get_intercepted_window(const Sys::Surface &s) const
- double get_max_ray_intensity() const
- const Params & get_params() const
- const std::set<double> & get_ray_wavelen_set() const
- const sources_t & get_source_list() const
- Ray & new_ray()
- Ray & new_ray(const Light::Ray &r)
- void set_generated_save_state(const Sys::Element &e, bool enabled = [...])
- void set_intercepted_save_state(const Sys::Element &e, bool enabled = [...])
Members detail
Crate a new empty result object
No documentation available
Declare a new ray generation
Declare a new ray interception
Declare ray wavelen used for tracing
Clear all result data
Set all save states to false
Draw all tangential rays using specified renderer. Only rays which end up hitting the image plane are drawn when hit_image is set.
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
Get center of window
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
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
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