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  

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.

virtual ~OpticalSurface()  

No documentation available

virtual Io::Rgb get_color(const Io::Renderer &r) const  

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

void set_material(unsigned int index, const const_ref<Material::Base> &m)  

Set surface left or right material

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