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
- typedef [...] element_list_t
Functions
- Container()
- virtual ~Container()
- void add(const ref<Element> &e)
- template bool contains(const X *x) const
- void draw_2d(Io::Renderer &r) const
- void draw_2d_fit(Io::RendererViewport &r, bool keep_aspect = [...]) const
- void draw_3d(Io::Renderer &r) const
- void draw_3d_fit(Io::RendererViewport &r, double z_offset = [...]) const
- template void enable_single(const X &e)
- template X * find() const
- Math::VectorPair3 get_bounding_box() const
- const element_list_t & get_element_list() const
- template void get_elements(const delegate<void(const X&)> &d) const
- template void get_elements(const delegate<void(X&)> &d)
- void remove(Element &e)
Members detail
No documentation available
No documentation available
Add an element
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
Disable all elements of specified type which are not specified element
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