rl_MultilayerSurface Class Reference

#include <rl_MultilayerSurface.h>

Collaboration diagram for rl_MultilayerSurface:
[legend]

List of all members.

Public Member Functions

virtual ~rl_MultilayerSurface ()
 rl_MultilayerSurface (rl_Multilayer &ml, dvm3_Vector &norm)
dvm3_Vector const & normal_vector () const
void set_normal (dvm3_Vector const &norm)
int reflect (rl_Ray &ray)
rl_ReflectionCoefPOD const & reflection_coefs () const
rl_DielectricLayer const & layer (int layer_no) const
std::ostream & dump_on (std::ostream &os, int layer_no, char const pre[]="", char const pst[]="") const


Detailed Description

A class encapsulating a multilayer surface, including surface normal. This class contains the multilayer data and surface normal by reference. That is, the rl_Multilayer and dvm3_Vector objects must already exist.

Definition at line 51 of file rl_MultilayerSurface.h.


Constructor & Destructor Documentation

rl_MultilayerSurface::~rl_MultilayerSurface (  )  [virtual]

Destructor.

Definition at line 35 of file rl_MultilayerSurface.cc.

rl_MultilayerSurface::rl_MultilayerSurface ( rl_Multilayer ml,
dvm3_Vector &  norm 
) [inline]

Constructor. Constructs multilayer surface information from the provided rl_Multilayer object and normal vector.

Parameters:
ml the rl_Multilayer object to be used (must already exist)
norm the surface normal dvm3_Vector to be used (must already exist)

Definition at line 181 of file rl_MultilayerSurface.h.


Member Function Documentation

dvm3_Vector const & rl_MultilayerSurface::normal_vector (  )  const [inline]

Accessor.

Returns:
the surface normal vector at the ray intercept

Definition at line 190 of file rl_MultilayerSurface.h.

void rl_MultilayerSurface::set_normal ( dvm3_Vector const &  norm  )  [inline]

Mutator. Set the surface normal at the ray/surface intercept. Until the full surface intercept apparatus is available, applications need to set the surface normal at the intercept.

Parameters:
norm the surface normal vector at the ray intercept

Definition at line 203 of file rl_MultilayerSurface.h.

int rl_MultilayerSurface::reflect ( rl_Ray ray  )  [inline]

Mutator. Reflect ray direction vector at this surface

Parameters:
ray to be reflected. The ray is assumed to be already at a valid surface intercept point. The ray direction vector and polarization state are updated.
Returns:
0 if successful.

Definition at line 213 of file rl_MultilayerSurface.h.

References rl_Multilayer::multilayer_reflect_coef(), and rl_Ray::reflect().

rl_ReflectionCoefPOD const & rl_MultilayerSurface::reflection_coefs (  )  const [inline]

Accessor.

Returns:
rl_ReflectionCoefPOD holding the complex perpendicular and parallel reflection coefficients.

Definition at line 195 of file rl_MultilayerSurface.h.

rl_DielectricLayer const & rl_MultilayerSurface::layer ( int  layer_no  )  const [inline]

Accessor.

Parameters:
layer_no layer number for which the information is requested.
Returns:
const reference to the rl_DielectricLayer for layer layer_no.

Definition at line 226 of file rl_MultilayerSurface.h.

References rl_Multilayer::layer().

std::ostream & rl_MultilayerSurface::dump_on ( std::ostream &  os,
int  layer_no,
char const   pre[] = "",
char const   pst[] = "" 
) const [inline]

Dump information about a layer.

Parameters:
os output stream
layer_no layer number for which the information is requested.
pre optional char* prefix string.
pst optional char* postfix string.

Definition at line 231 of file rl_MultilayerSurface.h.

References rl_Multilayer::dump_on().


The documentation for this class was generated from the following files:

Generated on Mon Nov 3 18:15:05 2008 for rl_raylib by  doxygen 1.5.6