Trace::Sequence class reference
[Core module]


#include <Goptical/Trace/Sequence>

namespace Goptical {
namespace Trace {
class Sequence;

This class is a member of the Trace namespace.



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.


See also the full member list section for this class.


  • Sequence()
  • Sequence(const Sys::System &system)
  • void add(const Sys::System &system)
  • unsigned int append(const Sys::Element &element)
  • void clear()
  • const Sys::Element & get_element(unsigned int index) const
  • void insert(unsigned int index, const Sys::Element &element)
  • void remove(unsigned int index)

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

void clear()  

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

void remove(unsigned int index)  

Remove an element from sequence

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