Table of contents Introduction Tutorial Main classes
Top Previous Up Next

Sys::Lens class reference
[Core module]

Declaration

#include <Goptical/Sys/Lens>

namespace Goptical {
namespace Sys {
class Lens;
};
};

This class is a member of the Sys namespace.

Inheritance











Description

This class is a group of optical surfaces. It contains functions to describe a lens or lens group component in a convenient way.

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 .

See also The Lens component section.

Members

See also the full member list section for this class.

Inherited members

  • 51 members inherited from Group

Functions

  • Lens (const Math::VectorPair3 &p, double offset = [...], const const_ref<Material::Base> &env = [...])
  • Lens (const Math::VectorPair3 &p, const const_ref<Curve::Base> &curve0, const const_ref<Shape::Base> &shape0, const const_ref<Curve::Base> &curve1, const const_ref<Shape::Base> &shape1, double thickness0, const const_ref<Material::Base> &glass0, const const_ref<Material::Base> &env = [...])
  • Lens (const Math::VectorPair3 &p, double roc0, double ap_radius0, double roc1, double ap_radius1, double thickness, const const_ref<Material::Base> &glass0, const const_ref<Material::Base> &env = [...])
  • virtual ~Lens ()
  • void add_stop (const const_ref<Shape::Base> &shape, double thickness)
  • void add_stop (double ap_radius, double thickness)
  • unsigned int add_surface (const const_ref<Curve::Base> &curve, const const_ref<Shape::Base> &shape, double thickness = [...], const const_ref<Material::Base> &glass = [...])
  • unsigned int add_surface (double roc, double ap_radius, double thickness = [...], const const_ref<Material::Base> &glass = [...])
  • Math::VectorPair3 get_exit_plane () const
  • const OpticalSurface & get_left_surface () const
  • OpticalSurface & get_left_surface ()
  • const OpticalSurface & get_right_surface () const
  • OpticalSurface & get_right_surface ()
  • const OpticalSurface & get_surface (unsigned int index) const
  • OpticalSurface & get_surface (unsigned int index)
  • double get_thickness (unsigned int index = [...]) const
  • void set_curve (const const_ref<Curve::Base> &c, unsigned int index)
  • void set_glass_material (const const_ref<Material::Base> &m, unsigned int index = [...])
  • void set_left_curve (const const_ref<Curve::Base> &c)
  • void set_left_material (const const_ref<Material::Base> &m)
  • void set_right_curve (const const_ref<Curve::Base> &c)
  • void set_right_material (const const_ref<Material::Base> &m)
  • void set_shape (const const_ref<Shape::Base> &s)
  • void set_shape (const const_ref<Shape::Base> &s, unsigned int index)
  • void set_thickness (double thickness, unsigned int index = [...])

Members detail

Lens(const Math::VectorPair3 &p, double offset = 0., const const_ref <Material::Base> &env = Material::none)

Create an empty lens. Surfaces can be added with the add_surface functions.

Lens(const Math::VectorPair3 &p, const const_ref <Curve::Base> &curve0, const const_ref <Shape::Base> &shape0, const const_ref <Curve::Base> &curve1, const const_ref <Shape::Base> &shape1, double thickness0, const const_ref <Material::Base> &glass0, const const_ref <Material::Base> &env = Material::none)

Create a lens at given position with given thickness, shapes, curvatures and glass.

See also add_surface function.

Lens(const Math::VectorPair3 &p, double roc0, double ap_radius0, double roc1, double ap_radius1, double thickness, const const_ref <Material::Base> &glass0, const const_ref <Material::Base> &env = Material::none)

Create a circular lens with flat or spherical surfaces at given position with given thickness, radius of curvature, aperture radius and glass.

See also add_surface function.

virtual ~Lens()

No documentation available

void add_stop(const const_ref <Shape::Base> &shape, double thickness)

Add an aperture stop with given, shape and thickness.

void add_stop(double ap_radius, double thickness)

Add an aperture stop with circular aperture.

Parameters list:

  • radius: circular aperture radius.
  • thickness: distance to the next stop or exit plane. .

unsigned int add_surface(const const_ref <Curve::Base> &curve, const const_ref <Shape::Base> &shape, double thickness = 0., const const_ref <Material::Base> &glass = Material::none)

Add an optical surface with given curve, shape, thickness and material.

unsigned int add_surface(double roc, double ap_radius, double thickness = 0., const const_ref <Material::Base> &glass = Material::none)

Add a spherical or flat optical surface with circular aperture.

Parameters list:

  • roc: spherical radius of curvature. 0 means flat curve.
  • ap_radius: circular aperture radius.
  • thickness: distance to the next surface or exit plane. .
  • glass: material between added surface and next surface.

Math::VectorPair3 get_exit_plane() const

Get plane of last surface + thickness z offset

const OpticalSurface & get_left_surface() const

Get a reference to left optical surface element

OpticalSurface & get_left_surface()

Get a reference to left optical surface element

const OpticalSurface & get_right_surface() const

Get a reference to right optical surface element

OpticalSurface & get_right_surface()

Get a reference to right optical surface element

const OpticalSurface & get_surface(unsigned int index) const

Get a reference to optical surface at given index

OpticalSurface & get_surface(unsigned int index)

Get a reference to optical surface at given index

double get_thickness(unsigned int index = 0) const

Get thickness between two surfaces

void set_curve(const const_ref <Curve::Base> &c, unsigned int index)

Set curve of given surface index

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

Set glass material

void set_left_curve(const const_ref <Curve::Base> &c)

Set left curve

void set_left_material(const const_ref <Material::Base> &m)

Set left material

void set_right_curve(const const_ref <Curve::Base> &c)

Set right curve

void set_right_material(const const_ref <Material::Base> &m)

Set left material

void set_shape(const const_ref <Shape::Base> &s)

Set lens shape (all surfaces)

void set_shape(const const_ref <Shape::Base> &s, unsigned int index)

Set lens shape of given surface index

void set_thickness(double thickness, unsigned int index = 0)

Adjust thickness between two surfaces

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

AltStyle によって変換されたページ (->オリジナル) /