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
- Base()
- virtual ~Base()
- virtual Io::Rgb get_color() const
- virtual double get_extinction_coef(double wavelen) const
- virtual double get_internal_transmittance(double wavelen, double thickness) const
- double get_internal_transmittance(double wavelen) const
- virtual double get_normal_reflectance(const Base *from, double wavelen) const
- virtual double get_normal_transmittance(const Base *from, double wavelen) const
- virtual double get_refractive_index(double wavelen) const = 0;
- double get_refractive_index(double wavelen, const Base &env) const
- virtual double get_temperature() const
- virtual bool is_opaque() const = 0;
- virtual bool is_reflecting() const = 0;
- void set_temperature(double temp)
Members detail
Material base constuctor. Set material temperature to 20.
No documentation available
virtual Io::Rgb get_color() const
Get material color and alpha
Get extinction coefficient. Subclasses _must_ provide this function or the get_internal_transmittance() function.
Get material internal transmittance for thickness in mm. Subclasses _must_ provide this function or the get_extinction_coef() function.
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
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.
Get material temperature in celcius
Return true if material must be considered opaque for ray tracing
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.
Set material temperature in celcius