Trace::Ray class reference
[Core module]

Declaration  

#include <Goptical/Trace/Ray>

namespace Goptical {
namespace Trace {
class Ray;
};
};

This class is a member of the Trace namespace.

Inheritance  

Math::VectorPair<3>

 
 

 
 

Light::Ray

 
 

 
 


Description  

This class is used to describe a Light::Ray with all tracing and propagation informations attached.

Members  

See also the full member list section for this class.

Inherited members  

  • 36 members inherited from Light::Ray

Functions  

Members detail  

Ray()  

This constructor shadows the Ray constructor defined in the Ray base class.

Create a propagated light ray

Ray(const Light::Ray &r)  

Create a propagated light ray

void add_generated(Ray *r)  

Define a new child generated ray

const Sys::Element * get_creator() const  

Get element which generated this ray..

See also set_creator function.

Math::Vector3 get_direction() const  

Get global direction

Math::Vector3 get_direction(const Sys::Element &e) const  

Get direction relative to given element

Ray * get_first_child() const  

Get first ray generated from this one

Sys::Element & get_intercept_element() const  

Get light ray interception element

double get_intercept_intensity() const  

Get ray intensity at interception point..

See also set_intercept_intensity function.

const Math::Vector3 & get_intercept_point() const  

Get light ray interception point

double get_len() const  

Get light ray length..

See also set_len function.

const Material::Base * get_material() const  

Get material ray is propagated in..

See also set_material function.

Ray * get_next_child() const  

Get next sibling ray generated by same parent

Ray * get_parent() const  

Get ray which generated this one

Math::Vector3 get_position() const  

Get global position

Math::Vector3 get_position(const Sys::Element &e) const  

Get position relative to given element

bool is_lost() const  

Return true if ray is not intercepted

void set_creator(const Sys::Element *creator)  

Set element which generated this ray..

See also get_creator function.

void set_intercept(const Sys::Element &e, const Math::Vector3 &point)  

Set light ray interception point and element

void set_intercept_intensity(double intercept_intensity)  

Set ray intensity at interception point..

See also get_intercept_intensity function.

void set_len(double len)  

Set light ray length..

See also get_len function.

void set_material(const Material::Base *material)  

Set material ray is propagated in..

See also get_material function.

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