Trace::Sequence class reference
[Core module]
Declaration
#include <Goptical/Trace/Sequence>
namespace Goptical {
namespace Trace {
class Sequence;
};
};
This class is a member of the Trace namespace.
Inheritance
Description
There are two light propagation modes in common use: sequential and non sequential. When using the sequential mode, light only interacts with sequence elements in given sequence order.
This class will hold the user defined ordered list of elements used by sequential light propagation algorithm implemented in the Tracer class.
Members
See also the full member list section for this class.
Functions
Members detail
Create a new empty sequence
Sequence(const Sys::System &system)
Create a new sequence and insert all elements present in the system. This is equivalent to calling add() on empty sequence.
void add(const Sys::System &system)
Add all elements from the given system. Element are sorted in axis order starting from left; reflecting elements do reverse direction.
unsigned int append(const Sys::Element &element)
Insert an element at end of sequence.
The return value is position of the element in the sequence
Remove all elements from sequence
const Sys::Element & get_element(unsigned int index) const
Get a reference to an element in sequence
void insert(unsigned int index, const Sys::Element &element)
Insert an element in sequence at given position
Remove an element from sequence