Sys::Container class reference
[Core module]

Declaration  

#include <Goptical/Sys/Container>

namespace Goptical {
namespace Sys {
class Container;
};
};

This class is a member of the Sys namespace.

This abstract class contains pure virtuals.

Inheritance  


 
 

 
 
 


 
 

 
 


Description  

This class base contains optical elements membership management code. It's used as a base class for System and Group classes.

Members  

See also the full member list section for this class.

Type  

Functions  

Members detail  

Container()  

No documentation available

virtual ~Container()  

No documentation available

void add(const ref<Element> &e)  

Add an element

template <typename X> bool contains(const X *x) const  

Test if element is contained in container and subcontainers

void draw_2d(Io::Renderer &r) const  

Draw system 2d layout using specified renderer.

See also draw_2d_fit function.

void draw_2d_fit(Io::RendererViewport &r, bool keep_aspect = true) const  

Setup the renderer 2d viewport to best fit for this system or element group.

This function calls Io::Renderer::set_window and Io::Renderer::set_feature_size.

void draw_3d(Io::Renderer &r) const  

Draw system in 3d using specified renderer.

See also draw_3d_fit function.

void draw_3d_fit(Io::RendererViewport &r, double z_offset = 0) const  

Move the renderer 3d camera to best fit for this system or element group.

This function calls Io::RendererViewport::set_camera_transform and Io::Renderer::set_feature_size.

typedef std::list<ref<Element> > element_list_t  

No documentation available

template <typename X> void enable_single(const X &e)  

Disable all elements of specified type which are not specified element

template <typename X> X * find() const  

Find first element of type X in container and subcontainers

Math::VectorPair3 get_bounding_box() const  

Get system or element group bounding box

const element_list_t & get_element_list() const  

Return a reference to container children list

template <typename X> void get_elements(const delegate<void(const X&)> &d) const  

Invoke a delegate for each element of type X in container and subcontainers

template <typename X> void get_elements(const delegate<void(X&)> &d)  

Invoke a modifier delegate for each element of type X in container and subcontainers

void remove(Element &e)  

Remove an element

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