Sys::System class reference
[Core module]


#include <Goptical/Sys/System>

namespace Goptical {
namespace Sys {
class System;

This class is a member of the Sys namespace.



This class is used to describe an optical system. Any optical element may be part of a system. This class handle 3d transformation between elements local coordinates.

See also Building the optical system section.


See also the full member list section for this class.

Inherited members  


Members detail  


Create a new empty system.

virtual ~System()  

No documentation available

Surface * colide_next(const Trace::Params &params, Math::VectorPair3 &intersect, const Trace::Ray &ray) const  

Find surface which colides with the given ray and update intersection point

Element & get_element(unsigned int index) const  

Get registered element. first element has index 1

unsigned int get_element_count() const  

Get the number of registered elements in the system

const Surface & get_entrance_pupil() const  

Get defined entrance pupil surface or try to guess it if none defined

const Material::Base & get_environment() const  

get environment material

const Surface & get_exit_pupil() const  

Get exit pupil

const Math::Transform<3> & get_global_transform(const Element &from) const  

Get transform from element local to global coordinates

const Math::Transform<3> & get_local_transform(const Element &to) const  

Get transform from global to element local coordinates

const Trace::Params & get_tracer_params() const  

Get default tracer parameters

Trace::Params & get_tracer_params()  

Get default tracer parameters

const Math::Transform<3> & get_transform(const Element &from, const Element &to) const  

Get transform between two elements local coordinates

unsigned int get_version() const  

Get system version. version is updated each time system or associated elements properties are changed

bool has_entrance_pupil() const  

Test if an entrance pupil has been defined

bool has_exit_pupil() const  

Test if an exit pupil has been defined

void set_entrance_pupil(const const_ref<Surface> &entrance)  

Define an entrance pupil surface used to project source rays

void set_environment(const const_ref<Material::Base> &env)  

set environment material

void set_exit_pupil(const const_ref<Surface> &exit)  

Define an exit pupil surface

void undef_entrance_pupil()  

Discard defined entrance pupil

void update_version()  

Increase current system version

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