Sys::OpticalSurface class reference
[Core module]
Declaration
#include <Goptical/Sys/OpticalSurface>
namespace Goptical {
namespace Sys {
class OpticalSurface;
};
};
This class is a member of the Sys namespace.
Inheritance
Description
This class implements optical surfaces.
Optical surfaces are defined by material on both side of the surface, curve and contour shape. This class handle light rays refraction and reflection.
If Material::none is passed as material, it will be replaced by system environement proxy material when the optical surface becomes part of a System.
Members
See also the full member list section for this class.
Inherited members
- 48 members inherited from Surface
Functions
- OpticalSurface(const Math::VectorPair3 &p, const const_ref<Curve::Base> &curve, const const_ref<Shape::Base> &shape, const const_ref<Material::Base> &left, const const_ref<Material::Base> &right)
- OpticalSurface(const Math::VectorPair3 &p, const const_ref<Curve::Base> &curve, double ap_radius, const const_ref<Material::Base> &left, const const_ref<Material::Base> &right)
- OpticalSurface(const Math::VectorPair3 &p, double roc, double ap_radius, const const_ref<Material::Base> &left, const const_ref<Material::Base> &right)
- virtual ~OpticalSurface()
- virtual Io::Rgb get_color(const Io::Renderer &r) const
- const Material::Base & get_material(unsigned int id) const
- void set_material(unsigned int index, const const_ref<Material::Base> &m)
Members detail
OpticalSurface(const Math::VectorPair3 &p, const const_ref<Curve::Base> &curve, const const_ref<Shape::Base> &shape, const const_ref<Material::Base> &left, const const_ref<Material::Base> &right)
Create an optical surface at specified location.
OpticalSurface(const Math::VectorPair3 &p, const const_ref<Curve::Base> &curve, double ap_radius, const const_ref<Material::Base> &left, const const_ref<Material::Base> &right)
Create a circular aperture optical surface at specified location.
- ap_radius: circular aperture radius.
OpticalSurface(const Math::VectorPair3 &p, double roc, double ap_radius, const const_ref<Material::Base> &left, const const_ref<Material::Base> &right)
Create a spherical optical surface with circular aperture at specified location.
- roc: spherical radius of curvature. 0 means flat curve.
- ap_radius: circular aperture radius.
No documentation available
This virtual function overrides the get_color
virtual function defined in the Surface
base class.
Get surface natural color from material properties.
const Material::Base & get_material(unsigned int id) const
Get surface left or right material
Set surface left or right material