Material::Base class reference
[Core module]

Declaration  

#include <Goptical/Material/Base>

namespace Goptical {
namespace Material {
class Base;
};
};

This class is a member of the Material namespace.

This abstract class contains pure virtuals.

Inheritance  

Description  

This class is the base class for all material classes. It desrcibes physical properties of materials which interact with light.

Members  

See also the full member list section for this class.

Functions  

Members detail  

Base()  

Material base constuctor. Set material temperature to 20.

virtual ~Base()  

No documentation available

virtual Io::Rgb get_color() const  

Get material color and alpha

virtual double get_extinction_coef(double wavelen) const  

Get extinction coefficient. Subclasses _must_ provide this function or the get_internal_transmittance() function.

virtual double get_internal_transmittance(double wavelen, double thickness) const  

Get material internal transmittance for thickness in mm. Subclasses _must_ provide this function or the get_extinction_coef() function.

double get_internal_transmittance(double wavelen) const  

Get material internal transmittance for 1mm thickness.

virtual double get_normal_reflectance(const Base *from, double wavelen) const  

Get reflectance at normal incidence

virtual double get_normal_transmittance(const Base *from, double wavelen) const  

Get transmittance at normal incidence

virtual double get_refractive_index(double wavelen) const = 0;  

Get material absolute refractive index at specified wavelen in nm.

double get_refractive_index(double wavelen, const Base &env) const  

Get material relative refractive index in given medium at specified wavelen in nm.

virtual double get_temperature() const  

Get material temperature in celcius

virtual bool is_opaque() const = 0;  

Return true if material must be considered opaque for ray tracing

virtual bool is_reflecting() const = 0;  

Return true if material may reflect most of the light and must be considered as a mirror when ignoring ray intensity computation during ray tracing.

void set_temperature(double temp)  

Set material temperature in celcius

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