Sys::System class reference
[Core module]
Declaration
#include <Goptical/Sys/System>
namespace Goptical {
namespace Sys {
class System;
};
};
This class is a member of the Sys namespace.
Inheritance
Description
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.
Members
See also the full member list section for this class.
Inherited members
- 16 members inherited from Container
Functions
- System()
- virtual ~System()
- Surface * colide_next(const Trace::Params ¶ms, Math::VectorPair3 &intersect, const Trace::Ray &ray) const
- Element & get_element(unsigned int index) const
- unsigned int get_element_count() const
- const Surface & get_entrance_pupil() const
- const Material::Base & get_environment() const
- const Surface & get_exit_pupil() const
- const Math::Transform<3> & get_global_transform(const Element &from) const
- const Math::Transform<3> & get_local_transform(const Element &to) const
- const Trace::Params & get_tracer_params() const
- Trace::Params & get_tracer_params()
- const Math::Transform<3> & get_transform(const Element &from, const Element &to) const
- unsigned int get_version() const
- bool has_entrance_pupil() const
- bool has_exit_pupil() const
- void set_entrance_pupil(const const_ref<Surface> &entrance)
- void set_environment(const const_ref<Material::Base> &env)
- void set_exit_pupil(const const_ref<Surface> &exit)
- void undef_entrance_pupil()
- void update_version()
Members detail
Create a new empty system.
No documentation available
Surface * colide_next(const Trace::Params ¶ms, 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
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
Get transform from element local to global coordinates
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
Get transform between two elements local coordinates
Get system version. version is updated each time system or associated elements properties are changed
Test if an entrance pupil has been defined
Test if an exit pupil has been defined
Define an entrance pupil surface used to project source rays
set environment material
Define an exit pupil surface
Discard defined entrance pupil
Increase current system version