gtsam_points
Loading...
Searching...
No Matches
Classes | Public Member Functions | Static Public Member Functions | List of all members
guik::LightViewer Class Reference

#include <light_viewer.hpp>

Inheritance diagram for guik::LightViewer:
Inheritance graph
[legend]
Collaboration diagram for guik::LightViewer:
Collaboration graph
[legend]

Classes

class  InfoWindow
 
class  ViewerUI
 

Public Member Functions

 LightViewer ()
 
virtual ~LightViewer ()
 
bool spin_until_click ()
 
bool toggle_spin_once ()
 
virtual void register_ui_callback (const std::string &name, const std::function< void()> &callback=0) override
 
void invoke (const std::function< void()> &func)
 
void invoke_after_rendering (const std::function< void()> &func)
 
void invoke_once (const std::string &label, const std::function< void()> &func)
 
virtual void clear () override
 
virtual void clear_text () override
 
virtual void append_text (const std::string &text) override
 
void set_max_text_buffer_size (int size)
 
void clear_images ()
 
void remove_image (const std::string &name)
 
void update_image (const std::string &name, const std::shared_ptr< glk::Texture > &image, double scale=-1.0, int order=-1)
 
std::shared_ptr< LightViewerContextsub_viewer (const std::string &context_name, const Eigen::Vector2i &canvas_size=Eigen::Vector2i(-1, -1))
 
void show_sub_viewers ()
 
std::shared_ptr< LightViewerContextfind_sub_viewer (const std::string &context_name)
 
bool remove_sub_viewer (const std::string &context_name)
 
void clear_plots (bool clear_settings=true)
 
void remove_plot (const std::string &plot_name, const std::string &label="")
 
void setup_plot (const std::string &plot_name, int width, int height, int plot_flags=0, int x_flags=0, int y_flags=0, int order=-1)
 
void link_plot_axis (const std::string &plot_name, int link_id, int axis)
 
void link_plot_axes (const std::string &plot_name, int link_id, int axes=-1)
 
void setup_legend (const std::string &plot_name, int loc, int flags=0)
 
void fit_plot (const std::string &plot_name)
 
void fit_all_plots ()
 
void setup_plot_group_order (const std::string &group_name, int order)
 
void update_plot (const std::string &plot_name, const std::string &label, const std::shared_ptr< const PlotData > &plot)
 
void update_plot_line (const std::string &plot_name, const std::string &label, const std::vector< double > &ys, int line_flags=0, size_t max_num_data=8192 *12)
 
void update_plot_line (const std::string &plot_name, const std::string &label, const std::vector< double > &xs, const std::vector< double > &ys, int line_flags=0, size_t max_num_data=8192 *12)
 
void update_plot_scatter (const std::string &plot_name, const std::string &label, const std::vector< double > &ys, int scatter_flags=0)
 
void update_plot_scatter (const std::string &plot_name, const std::string &label, const std::vector< double > &xs, const std::vector< double > &ys, int scatter_flags=0)
 
void update_plot_stairs (const std::string &plot_name, const std::string &label, const std::vector< double > &ys, int stairs_flags=0)
 
void update_plot_stairs (const std::string &plot_name, const std::string &label, const std::vector< double > &xs, const std::vector< double > &ys, int stairs_flags=0)
 
void update_plot_histogram (const std::string &plot_name, const std::string &label, const std::vector< double > &xs, int bins=-2, const Eigen::Vector2d &range=Eigen::Vector2d(0.0, 0.0), int histogram_flags=0)
 
void update_plot_histogram (const std::string &plot_name, const std::string &label, const std::vector< double > &xs, const std::vector< double > &ys, int x_bins=-2, int y_bins=-2, const Eigen::Vector2d &x_range=Eigen::Vector2d(0.0, 0.0), const Eigen::Vector2d &y_range=Eigen::Vector2d(0.0, 0.0), int histogram_flags=0)
 
template<typename T >
auto update_plot_line (const std::string &plot_name, const std::string &label, const std::vector< T > &ys, int line_flags=0, size_t max_num_data=8192 *12) -> std::enable_if_t< std::is_arithmetic_v< T >, void >
 
template<typename T1 , typename T2 >
void update_plot_line (const std::string &plot_name, const std::string &label, const std::vector< T1 > &xs, const std::vector< T2 > &ys, int line_flags=0, size_t max_num_data=8192 *12)
 
template<typename T , int D, typename Alloc >
void update_plot_line (const std::string &plot_name, const std::string &label, const std::vector< Eigen::Matrix< T, D, 1 >, Alloc > &data, int line_flags=0, size_t max_num_data=8192 *12)
 
template<typename T , typename Func >
auto update_plot_line (const std::string &plot_name, const std::string &label, const std::vector< T > &data, const Func &transform, int line_flags=0, size_t max_num_data=8192 *12) -> std::enable_if_t<!std::is_arithmetic_v< decltype(transform(data[0]))>, void >
 
template<typename T , typename Func >
auto update_plot_line (const std::string &plot_name, const std::string &label, const std::vector< T > &data, const Func &transform, int line_flags=0, size_t max_num_data=8192 *12) -> std::enable_if_t< std::is_arithmetic_v< decltype(transform(data[0]))>, void >
 
template<typename T >
auto update_plot_scatter (const std::string &plot_name, const std::string &label, const std::vector< T > &ys, int scatter_flags=0) -> std::enable_if_t< std::is_arithmetic_v< T >, void >
 
template<typename T1 , typename T2 >
void update_plot_scatter (const std::string &plot_name, const std::string &label, const std::vector< T1 > &xs, const std::vector< T2 > &ys, int scatter_flags=0)
 
template<typename T , int D, typename Alloc >
void update_plot_scatter (const std::string &plot_name, const std::string &label, const std::vector< Eigen::Matrix< T, D, 1 >, Alloc > &data, int scatter_flags=0)
 
template<typename T , typename Func >
auto update_plot_scatter (const std::string &plot_name, const std::string &label, const std::vector< T > &data, const Func &transform, int scatter_flags=0, size_t max_num_data=8192 *12) -> std::enable_if_t<!std::is_arithmetic_v< decltype(transform(data[0]))>, void >
 
template<typename T , typename Func >
auto update_plot_scatter (const std::string &plot_name, const std::string &label, const std::vector< T > &data, const Func &transform, int scatter_flags=0, size_t max_num_data=8192 *12) -> std::enable_if_t< std::is_arithmetic_v< decltype(transform(data[0]))>, void >
 
template<typename T >
void update_plot_stairs (const std::string &plot_name, const std::string &label, const std::vector< T > &ys, int stairs_flags=0)
 
template<typename T1 , typename T2 >
void update_plot_stairs (const std::string &plot_name, const std::string &label, const std::vector< T1 > &xs, const std::vector< T2 > &ys, int stairs_flags=0)
 
template<typename T , int D, typename Alloc >
void update_plot_stairs (const std::string &plot_name, const std::string &label, const std::vector< Eigen::Matrix< T, D, 1 >, Alloc > &data, int stairs_flags=0)
 
template<typename T , typename Func >
void update_plot_stairs (const std::string &plot_name, const std::string &label, const std::vector< T > &data, const Func &transform, int stairs_flags=0)
 
template<typename T >
void update_plot_histogram (const std::string &plot_name, const std::string &label, const std::vector< T > &xs, int bins=-2, const Eigen::Vector2d &range=Eigen::Vector2d(0.0, 0.0), int histogram_flags=0)
 
template<typename T1 , typename T2 >
void update_plot_histogram (const std::string &plot_name, const std::string &label, const std::vector< T1 > &xs, const std::vector< T2 > &ys, int x_bins=-2, int y_bins=-2, const Eigen::Vector2d &x_range=Eigen::Vector2d(0.0, 0.0), const Eigen::Vector2d &y_range=Eigen::Vector2d(0.0, 0.0), int histogram_flags=0)
 
template<typename T , int D, typename Alloc >
void update_plot_histogram (const std::string &plot_name, const std::string &label, const std::vector< Eigen::Matrix< T, D, 1 >, Alloc > &data, int x_bins=-2, int y_bins=-2, const Eigen::Vector2d &x_range=Eigen::Vector2d(0.0, 0.0), const Eigen::Vector2d &y_range=Eigen::Vector2d(0.0, 0.0), int histogram_flags=0)
 
template<typename T , typename Func >
void update_plot_histogram (const std::string &plot_name, const std::string &label, const std::vector< T > &data, const Func &transform, int x_bins=-2, int y_bins=-2, const Eigen::Vector2d &x_range=Eigen::Vector2d(0.0, 0.0), const Eigen::Vector2d &y_range=Eigen::Vector2d(0.0, 0.0), int histogram_flags=0)
 
void set_plot_style (const std::string &plot_name, const std::string &label, const PlotStyleConstPtr &style)
 
void set_line_style (const std::string &plot_name, const std::string &label, const Eigen::Vector4f &color=Eigen::Vector4f(0, 0, 0, -1), float weight=-1)
 
void set_scatter_style (const std::string &plot_name, const std::string &label, int marker=0, float size=-1, const Eigen::Vector4f &fill=Eigen::Vector4f(0, 0, 0, -1), float weight=-1, const Eigen::Vector4f &outline=Eigen::Vector4f(0, 0, 0, -1))
 
void show_viewer_ui ()
 
void show_info_window ()
 
- Public Member Functions inherited from guik::Application
 Application ()
 
virtual ~Application ()
 
bool ok () const
 
void enable_vsync ()
 
void disable_vsync ()
 
void enable_docking ()
 
void disable_docking ()
 
Eigen::Vector2i window_size () const
 
virtual void show_window ()
 
virtual void hide_window ()
 
virtual void maximize_window ()
 
virtual void fullscreen_window ()
 
virtual void resize (const Eigen::Vector2i &size)
 
void set_title (const std::string &title)
 
Eigen::Vector2i framebuffer_size () const
 
void spin ()
 
bool spin_once ()
 
void begin_ui ()
 
void begin_gl ()
 
bool end ()
 
void close ()
 
bool closed ()
 
- Public Member Functions inherited from guik::LightViewerContext
 LightViewerContext (const std::string &context_name)
 
virtual ~LightViewerContext ()
 
void draw_ui ()
 
void draw_gl ()
 
bool init_canvas (const Eigen::Vector2i &size)
 
void set_size (const Eigen::Vector2i &size)
 
void set_clear_color (const Eigen::Vector4f &color)
 
void set_pos (const Eigen::Vector2i &pos, ImGuiCond cond=ImGuiCond_FirstUseEver, ImGuiWindowFlags=0)
 
void show ()
 
void hide ()
 
void remove_ui_callback (const std::string &name)
 
guik::ShaderSettingshader_setting ()
 
const guik::ShaderSettingshader_setting () const
 
void disable_xy_grid ()
 
void enable_xy_grid ()
 
void set_draw_xy_grid (bool draw_xy_grid)
 
void set_colormap (glk::COLORMAP colormap)
 
void set_screen_effect (const std::shared_ptr< glk::ScreenEffect > &effect)
 
const std::shared_ptr< glk::ScreenEffect > & get_screen_effect () const
 
void set_bg_texture (const std::shared_ptr< glk::Texture > &bg_texture)
 
void set_rainbow_range (const Eigen::Vector2f &minmax_z)
 
void set_rainbow_axis (const Eigen::Vector3f &axis)
 
void set_point_shape (float point_size=1.0f, bool metric=true, bool circle=true)
 
void enable_decimal_rendering ()
 
void enable_normal_buffer ()
 
void enable_info_buffer ()
 
void enable_partial_rendering (double clear_thresh=1e-6)
 
void disable_partial_rendering ()
 
bool normal_buffer_enabled () const
 
bool info_buffer_enabled () const
 
bool partial_rendering_enabled () const
 
const glk::Texturecolor_buffer () const
 
const glk::Texturedepth_buffer () const
 
const glk::Texturenormal_buffer () const
 
const glk::Textureinfo_buffer () const
 
const glk::Texturedynamic_flag_buffer () const
 
void clear_drawables ()
 
void clear_drawables (const std::function< bool(const std::string &)> &fn)
 
std::unordered_map< std::string, std::pair< ShaderSetting::Ptr, glk::Drawable::ConstPtr > > & get_drawables ()
 
std::pair< ShaderSetting::Ptr, glk::Drawable::ConstPtrfind_drawable (const std::string &name)
 
void remove_drawable (const std::string &name)
 
void remove_drawable (const std::regex &regex)
 
void update_drawable (const std::string &name, const glk::Drawable::ConstPtr &drawable, const ShaderSetting &shader_setting=ShaderSetting())
 
void clear_drawable_filters ()
 
void register_drawable_filter (const std::string &filter_name, const std::function< bool(const std::string &)> &filter=0)
 
void remove_drawable_filter (const std::string &filter_name)
 
void clear_partial_rendering ()
 
const std::shared_ptr< CameraControl > & get_camera_control () const
 
const std::shared_ptr< ProjectionControl > & get_projection_control () const
 
void set_camera_control (const std::shared_ptr< CameraControl > &camera_control)
 
void set_projection_control (const std::shared_ptr< ProjectionControl > &projection_control)
 
bool save_camera_settings (const std::string &path) const
 
bool load_camera_settings (const std::string &path)
 
void reset_center ()
 
void lookat (const Eigen::Vector3f &pt)
 
template<typename Vector >
void lookat (const Vector &pt)
 
std::shared_ptr< OrbitCameraControlXYuse_orbit_camera_control (double distance=80.0, double theta=0.0, double phi=-60.0f *M_PI/180.0f)
 
std::shared_ptr< OrbitCameraControlXZuse_orbit_camera_control_xz (double distance=80.0, double theta=0.0, double phi=0.0)
 
std::shared_ptr< TopDownCameraControluse_topdown_camera_control (double distance=80.0, double theta=0.0)
 
std::shared_ptr< ArcBallCameraControluse_arcball_camera_control (double distance=80.0, double theta=0.0, double phi=-60.0f *M_PI/180.0f)
 
std::shared_ptr< FPSCameraControluse_fps_camera_control (double fovy_deg=60.0)
 
guik::GLCanvasget_canvas ()
 
Eigen::Vector2i canvas_tl () const
 
Eigen::Vector2i canvas_br () const
 
Eigen::Vector2i canvas_size () const
 
Eigen::Matrix4f view_matrix () const
 
Eigen::Matrix4f projection_matrix () const
 
Eigen::Vector4i pick_info (const Eigen::Vector2i &p, int window=2) const
 
float pick_depth (const Eigen::Vector2i &p, int window=2) const
 
Eigen::Vector3f unproject (const Eigen::Vector2i &p, float depth) const
 
std::optional< Eigen::Vector3f > pick_point (int button=0, int window=2, Eigen::Vector4i *info=nullptr) const
 
std::vector< unsigned char > read_color_buffer () const
 
std::vector< float > read_depth_buffer (bool real_scale=true)
 
bool save_color_buffer (const std::string &filename)
 
bool save_depth_buffer (const std::string &filename, bool real_scale=true)
 
AsyncLightViewerContext async ()
 
std::shared_ptr< glk::PointCloudBufferupdate_points (const std::string &name, const float *data, int stride, int num_points, const ShaderSetting &shader_setting)
 
template<typename Scalar , int Dim>
std::shared_ptr< glk::PointCloudBufferupdate_points (const std::string &name, const Eigen::Matrix< Scalar, Dim, 1 > *points, int num_points, const ShaderSetting &shader_setting)
 
template<typename Scalar , int Dim, typename Allocator >
std::shared_ptr< glk::PointCloudBufferupdate_points (const std::string &name, const std::vector< Eigen::Matrix< Scalar, Dim, 1 >, Allocator > &points, const ShaderSetting &shader_setting)
 
template<typename Scalar , int Dim>
void update_normal_dists (const std::string &name, const Eigen::Matrix< Scalar, Dim, 1 > *points, const Eigen::Matrix< Scalar, Dim, Dim > *covs, int num_points, float scale, const ShaderSetting &shader_setting)
 
template<typename Scalar , int Dim, typename Alloc1 , typename Alloc2 >
void update_normal_dists (const std::string &name, const std::vector< Eigen::Matrix< Scalar, Dim, 1 >, Alloc1 > &points, const std::vector< Eigen::Matrix< Scalar, Dim, Dim >, Alloc2 > &covs, float scale, const ShaderSetting &shader_setting)
 
std::shared_ptr< glk::ThinLinesupdate_thin_lines (const std::string &name, const float *vertices, const float *colors, int num_vertices, const unsigned int *indices, int num_indices, bool line_strip, const ShaderSetting &shader_setting)
 
template<typename Scalar , int Dim>
std::shared_ptr< glk::ThinLinesupdate_thin_lines (const std::string &name, const Eigen::Matrix< Scalar, Dim, 1 > *points, int num_points, bool line_strip, const ShaderSetting &shader_setting)
 
template<typename ScalarV , int DimV, typename ScalarC , int DimC>
std::shared_ptr< glk::ThinLinesupdate_thin_lines (const std::string &name, const Eigen::Matrix< ScalarV, DimV, 1 > *points, const Eigen::Matrix< ScalarC, DimC, 1 > *colors, int num_points, bool line_strip, const ShaderSetting &shader_setting)
 
template<typename ScalarV , int DimV, typename ScalarC , int DimC>
std::shared_ptr< glk::ThinLinesupdate_thin_lines (const std::string &name, const Eigen::Matrix< ScalarV, DimV, 1 > *points, const Eigen::Matrix< ScalarC, DimC, 1 > *colors, int num_points, const unsigned int *indices, int num_indices, bool line_strip, const ShaderSetting &shader_setting)
 
template<typename Point , typename Alloc >
std::shared_ptr< glk::ThinLinesupdate_thin_lines (const std::string &name, const std::vector< Point, Alloc > &points, bool line_strip, const ShaderSetting &shader_setting)
 
template<typename Point , typename Alloc >
std::shared_ptr< glk::ThinLinesupdate_thin_lines (const std::string &name, const std::vector< Point, Alloc > &points, const std::vector< unsigned int > &indices, bool line_strip, const ShaderSetting &shader_setting)
 
template<typename Point , typename AllocP , typename Color , typename AllocC >
std::shared_ptr< glk::ThinLinesupdate_thin_lines (const std::string &name, const std::vector< Point, AllocP > &points, const std::vector< Color, AllocC > &colors, bool line_strip, const ShaderSetting &shader_setting)
 
template<typename Point , typename AllocP , typename Color , typename AllocC >
std::shared_ptr< glk::ThinLinesupdate_thin_lines (const std::string &name, const std::vector< Point, AllocP > &points, const std::vector< Color, AllocC > &colors, const std::vector< unsigned int > &indices, bool line_strip, const ShaderSetting &shader_setting)
 
void update_icosahedron (const std::string &name, const ShaderSetting &shader_setting)
 
void update_sphere (const std::string &name, const ShaderSetting &shader_setting)
 
void update_cube (const std::string &name, const ShaderSetting &shader_setting)
 
void update_cone (const std::string &name, const ShaderSetting &shader_setting)
 
void update_frustum (const std::string &name, const ShaderSetting &shader_setting)
 
void update_coord (const std::string &name, const ShaderSetting &shader_setting)
 
void update_wire_icosahedron (const std::string &name, const ShaderSetting &shader_setting)
 
void update_wire_sphere (const std::string &name, const ShaderSetting &shader_setting)
 
void update_wire_cube (const std::string &name, const ShaderSetting &shader_setting)
 
void update_wire_cone (const std::string &name, const ShaderSetting &shader_setting)
 
void update_wire_frustum (const std::string &name, const ShaderSetting &shader_setting)
 

Static Public Member Functions

static LightViewerinstance (const Eigen::Vector2i &size=Eigen::Vector2i(-1, -1), bool background=false, const std::string &title="screen")
 
static void destroy ()
 
static bool running ()
 

Additional Inherited Members

- Protected Attributes inherited from guik::Application
GLFWwindow * window
 
- Protected Attributes inherited from guik::LightViewerContext
std::string context_name
 
Eigen::Vector2i canvas_rect_min
 
Eigen::Vector2i canvas_rect_max
 
std::unique_ptr< guik::GLCanvascanvas
 
guik::ShaderSetting global_shader_setting
 
bool show_window
 
bool draw_xy_grid
 
bool decimal_rendering
 
Eigen::Matrix4f last_projection_view_matrix
 
std::unordered_map< std::string, std::function< bool(const std::string &)> > drawable_filters
 
std::unordered_map< std::string, std::pair< ShaderSetting::Ptr, glk::Drawable::ConstPtr > > drawables
 
std::mutex sub_texts_mutex
 
std::deque< std::string > sub_texts
 
std::unordered_map< std::string, std::function< void()> > sub_ui_callbacks
 

Constructor & Destructor Documentation

◆ LightViewer()

guik::LightViewer::LightViewer ( )

◆ ~LightViewer()

virtual guik::LightViewer::~LightViewer ( )
virtual

Member Function Documentation

◆ append_text()

virtual void guik::LightViewer::append_text ( const std::string &  text)
overridevirtual

Reimplemented from guik::LightViewerContext.

◆ clear()

virtual void guik::LightViewer::clear ( )
overridevirtual

Reimplemented from guik::LightViewerContext.

◆ clear_images()

void guik::LightViewer::clear_images ( )

◆ clear_plots()

void guik::LightViewer::clear_plots ( bool  clear_settings = true)

◆ clear_text()

virtual void guik::LightViewer::clear_text ( )
overridevirtual

Reimplemented from guik::LightViewerContext.

◆ destroy()

static void guik::LightViewer::destroy ( )
static

◆ find_sub_viewer()

std::shared_ptr< LightViewerContext > guik::LightViewer::find_sub_viewer ( const std::string &  context_name)

◆ fit_all_plots()

void guik::LightViewer::fit_all_plots ( )

◆ fit_plot()

void guik::LightViewer::fit_plot ( const std::string &  plot_name)

◆ instance()

static LightViewer * guik::LightViewer::instance ( const Eigen::Vector2i &  size = Eigen::Vector2i(-1, -1),
bool  background = false,
const std::string &  title = "screen" 
)
static

◆ invoke()

void guik::LightViewer::invoke ( const std::function< void()> &  func)

◆ invoke_after_rendering()

void guik::LightViewer::invoke_after_rendering ( const std::function< void()> &  func)

◆ invoke_once()

void guik::LightViewer::invoke_once ( const std::string &  label,
const std::function< void()> &  func 
)

◆ link_plot_axes()

void guik::LightViewer::link_plot_axes ( const std::string &  plot_name,
int  link_id,
int  axes = -1 
)

◆ link_plot_axis()

void guik::LightViewer::link_plot_axis ( const std::string &  plot_name,
int  link_id,
int  axis 
)

◆ register_ui_callback()

virtual void guik::LightViewer::register_ui_callback ( const std::string &  name,
const std::function< void()> &  callback = 0 
)
overridevirtual

Reimplemented from guik::LightViewerContext.

◆ remove_image()

void guik::LightViewer::remove_image ( const std::string &  name)

◆ remove_plot()

void guik::LightViewer::remove_plot ( const std::string &  plot_name,
const std::string &  label = "" 
)

◆ remove_sub_viewer()

bool guik::LightViewer::remove_sub_viewer ( const std::string &  context_name)

◆ running()

static bool guik::LightViewer::running ( )
static

◆ set_line_style()

void guik::LightViewer::set_line_style ( const std::string &  plot_name,
const std::string &  label,
const Eigen::Vector4f &  color = Eigen::Vector4f(0, 0, 0, -1),
float  weight = -1 
)

◆ set_max_text_buffer_size()

void guik::LightViewer::set_max_text_buffer_size ( int  size)

◆ set_plot_style()

void guik::LightViewer::set_plot_style ( const std::string &  plot_name,
const std::string &  label,
const PlotStyleConstPtr style 
)

◆ set_scatter_style()

void guik::LightViewer::set_scatter_style ( const std::string &  plot_name,
const std::string &  label,
int  marker = 0,
float  size = -1,
const Eigen::Vector4f &  fill = Eigen::Vector4f(0, 0, 0, -1),
float  weight = -1,
const Eigen::Vector4f &  outline = Eigen::Vector4f(0, 0, 0, -1) 
)

◆ setup_legend()

void guik::LightViewer::setup_legend ( const std::string &  plot_name,
int  loc,
int  flags = 0 
)

◆ setup_plot()

void guik::LightViewer::setup_plot ( const std::string &  plot_name,
int  width,
int  height,
int  plot_flags = 0,
int  x_flags = 0,
int  y_flags = 0,
int  order = -1 
)

◆ setup_plot_group_order()

void guik::LightViewer::setup_plot_group_order ( const std::string &  group_name,
int  order 
)

◆ show_info_window()

void guik::LightViewer::show_info_window ( )

◆ show_sub_viewers()

void guik::LightViewer::show_sub_viewers ( )

◆ show_viewer_ui()

void guik::LightViewer::show_viewer_ui ( )

◆ spin_until_click()

bool guik::LightViewer::spin_until_click ( )

◆ sub_viewer()

std::shared_ptr< LightViewerContext > guik::LightViewer::sub_viewer ( const std::string &  context_name,
const Eigen::Vector2i &  canvas_size = Eigen::Vector2i(-1, -1) 
)

◆ toggle_spin_once()

bool guik::LightViewer::toggle_spin_once ( )

◆ update_image()

void guik::LightViewer::update_image ( const std::string &  name,
const std::shared_ptr< glk::Texture > &  image,
double  scale = -1.0,
int  order = -1 
)

◆ update_plot()

void guik::LightViewer::update_plot ( const std::string &  plot_name,
const std::string &  label,
const std::shared_ptr< const PlotData > &  plot 
)

◆ update_plot_histogram() [1/6]

void guik::LightViewer::update_plot_histogram ( const std::string &  plot_name,
const std::string &  label,
const std::vector< double > &  xs,
const std::vector< double > &  ys,
int  x_bins = -2,
int  y_bins = -2,
const Eigen::Vector2d &  x_range = Eigen::Vector2d(0.0, 0.0),
const Eigen::Vector2d &  y_range = Eigen::Vector2d(0.0, 0.0),
int  histogram_flags = 0 
)

◆ update_plot_histogram() [2/6]

void guik::LightViewer::update_plot_histogram ( const std::string &  plot_name,
const std::string &  label,
const std::vector< double > &  xs,
int  bins = -2,
const Eigen::Vector2d &  range = Eigen::Vector2d(0.0, 0.0),
int  histogram_flags = 0 
)

◆ update_plot_histogram() [3/6]

template<typename T , int D, typename Alloc >
void guik::LightViewer::update_plot_histogram ( const std::string &  plot_name,
const std::string &  label,
const std::vector< Eigen::Matrix< T, D, 1 >, Alloc > &  data,
int  x_bins = -2,
int  y_bins = -2,
const Eigen::Vector2d &  x_range = Eigen::Vector2d(0.0, 0.0),
const Eigen::Vector2d &  y_range = Eigen::Vector2d(0.0, 0.0),
int  histogram_flags = 0 
)

◆ update_plot_histogram() [4/6]

template<typename T , typename Func >
void guik::LightViewer::update_plot_histogram ( const std::string &  plot_name,
const std::string &  label,
const std::vector< T > &  data,
const Func &  transform,
int  x_bins = -2,
int  y_bins = -2,
const Eigen::Vector2d &  x_range = Eigen::Vector2d(0.0, 0.0),
const Eigen::Vector2d &  y_range = Eigen::Vector2d(0.0, 0.0),
int  histogram_flags = 0 
)

◆ update_plot_histogram() [5/6]

template<typename T >
void guik::LightViewer::update_plot_histogram ( const std::string &  plot_name,
const std::string &  label,
const std::vector< T > &  xs,
int  bins = -2,
const Eigen::Vector2d &  range = Eigen::Vector2d(0.0, 0.0),
int  histogram_flags = 0 
)

◆ update_plot_histogram() [6/6]

template<typename T1 , typename T2 >
void guik::LightViewer::update_plot_histogram ( const std::string &  plot_name,
const std::string &  label,
const std::vector< T1 > &  xs,
const std::vector< T2 > &  ys,
int  x_bins = -2,
int  y_bins = -2,
const Eigen::Vector2d &  x_range = Eigen::Vector2d(0.0, 0.0),
const Eigen::Vector2d &  y_range = Eigen::Vector2d(0.0, 0.0),
int  histogram_flags = 0 
)

◆ update_plot_line() [1/7]

void guik::LightViewer::update_plot_line ( const std::string &  plot_name,
const std::string &  label,
const std::vector< double > &  xs,
const std::vector< double > &  ys,
int  line_flags = 0,
size_t  max_num_data = 8192 *12 
)

◆ update_plot_line() [2/7]

void guik::LightViewer::update_plot_line ( const std::string &  plot_name,
const std::string &  label,
const std::vector< double > &  ys,
int  line_flags = 0,
size_t  max_num_data = 8192 *12 
)

◆ update_plot_line() [3/7]

template<typename T , int D, typename Alloc >
void guik::LightViewer::update_plot_line ( const std::string &  plot_name,
const std::string &  label,
const std::vector< Eigen::Matrix< T, D, 1 >, Alloc > &  data,
int  line_flags = 0,
size_t  max_num_data = 8192 * 12 
)

◆ update_plot_line() [4/7]

template<typename T , typename Func >
auto guik::LightViewer::update_plot_line ( const std::string &  plot_name,
const std::string &  label,
const std::vector< T > &  data,
const Func &  transform,
int  line_flags = 0,
size_t  max_num_data = 8192 * 12 
) -> std::enable_if_t<std::is_arithmetic_v<decltype(transform(data[0]))>, void>
inline

◆ update_plot_line() [5/7]

template<typename T , typename Func >
auto guik::LightViewer::update_plot_line ( const std::string &  plot_name,
const std::string &  label,
const std::vector< T > &  data,
const Func &  transform,
int  line_flags = 0,
size_t  max_num_data = 8192 * 12 
) -> std::enable_if_t<!std::is_arithmetic_v<decltype(transform(data[0]))>, void>
inline

◆ update_plot_line() [6/7]

template<typename T >
auto guik::LightViewer::update_plot_line ( const std::string &  plot_name,
const std::string &  label,
const std::vector< T > &  ys,
int  line_flags = 0,
size_t  max_num_data = 8192 * 12 
) -> std::enable_if_t<std::is_arithmetic_v<T>, void>

◆ update_plot_line() [7/7]

template<typename T1 , typename T2 >
void guik::LightViewer::update_plot_line ( const std::string &  plot_name,
const std::string &  label,
const std::vector< T1 > &  xs,
const std::vector< T2 > &  ys,
int  line_flags = 0,
size_t  max_num_data = 8192 * 12 
)

◆ update_plot_scatter() [1/7]

void guik::LightViewer::update_plot_scatter ( const std::string &  plot_name,
const std::string &  label,
const std::vector< double > &  xs,
const std::vector< double > &  ys,
int  scatter_flags = 0 
)

◆ update_plot_scatter() [2/7]

void guik::LightViewer::update_plot_scatter ( const std::string &  plot_name,
const std::string &  label,
const std::vector< double > &  ys,
int  scatter_flags = 0 
)

◆ update_plot_scatter() [3/7]

template<typename T , int D, typename Alloc >
void guik::LightViewer::update_plot_scatter ( const std::string &  plot_name,
const std::string &  label,
const std::vector< Eigen::Matrix< T, D, 1 >, Alloc > &  data,
int  scatter_flags = 0 
)

◆ update_plot_scatter() [4/7]

template<typename T , typename Func >
auto guik::LightViewer::update_plot_scatter ( const std::string &  plot_name,
const std::string &  label,
const std::vector< T > &  data,
const Func &  transform,
int  scatter_flags = 0,
size_t  max_num_data = 8192 * 12 
) -> std::enable_if_t<std::is_arithmetic_v<decltype(transform(data[0]))>, void>
inline

◆ update_plot_scatter() [5/7]

template<typename T , typename Func >
auto guik::LightViewer::update_plot_scatter ( const std::string &  plot_name,
const std::string &  label,
const std::vector< T > &  data,
const Func &  transform,
int  scatter_flags = 0,
size_t  max_num_data = 8192 * 12 
) -> std::enable_if_t<!std::is_arithmetic_v<decltype(transform(data[0]))>, void>
inline

◆ update_plot_scatter() [6/7]

template<typename T >
auto guik::LightViewer::update_plot_scatter ( const std::string &  plot_name,
const std::string &  label,
const std::vector< T > &  ys,
int  scatter_flags = 0 
) -> std::enable_if_t<std::is_arithmetic_v<T>, void>

◆ update_plot_scatter() [7/7]

template<typename T1 , typename T2 >
void guik::LightViewer::update_plot_scatter ( const std::string &  plot_name,
const std::string &  label,
const std::vector< T1 > &  xs,
const std::vector< T2 > &  ys,
int  scatter_flags = 0 
)

◆ update_plot_stairs() [1/6]

void guik::LightViewer::update_plot_stairs ( const std::string &  plot_name,
const std::string &  label,
const std::vector< double > &  xs,
const std::vector< double > &  ys,
int  stairs_flags = 0 
)

◆ update_plot_stairs() [2/6]

void guik::LightViewer::update_plot_stairs ( const std::string &  plot_name,
const std::string &  label,
const std::vector< double > &  ys,
int  stairs_flags = 0 
)

◆ update_plot_stairs() [3/6]

template<typename T , int D, typename Alloc >
void guik::LightViewer::update_plot_stairs ( const std::string &  plot_name,
const std::string &  label,
const std::vector< Eigen::Matrix< T, D, 1 >, Alloc > &  data,
int  stairs_flags = 0 
)

◆ update_plot_stairs() [4/6]

template<typename T , typename Func >
void guik::LightViewer::update_plot_stairs ( const std::string &  plot_name,
const std::string &  label,
const std::vector< T > &  data,
const Func &  transform,
int  stairs_flags = 0 
)

◆ update_plot_stairs() [5/6]

template<typename T >
void guik::LightViewer::update_plot_stairs ( const std::string &  plot_name,
const std::string &  label,
const std::vector< T > &  ys,
int  stairs_flags = 0 
)

◆ update_plot_stairs() [6/6]

template<typename T1 , typename T2 >
void guik::LightViewer::update_plot_stairs ( const std::string &  plot_name,
const std::string &  label,
const std::vector< T1 > &  xs,
const std::vector< T2 > &  ys,
int  stairs_flags = 0 
)

The documentation for this class was generated from the following file: