4#include <cgv/render/shader_program.h>
5#include <libs/cgv_gl/box_renderer.h>
6#include <cgv_gl/cone_renderer.h>
14enum PlotFaceIllumination
58 bool compute_sample_coordinate_interval(
int i,
int ai,
float& samples_min,
float& samples_max);
63 std::vector<std::vector<vec3> > samples;
98#include <cgv/config/lib_end.h>
base class for all classes that can be registered with support for dynamic properties (see also secti...
derive from this class to provide a gui to the current viewer
std::vector< vec3 > & ref_sub_plot_samples(unsigned i=0)
return the samples of the i-th sub plot
void draw(cgv::render::context &ctx)
overload to draw the content of this drawable
void compute_tick_render_information()
overloaded in derived classes to compute complete tick render information
plot3d_config & ref_sub_plot3d_config(unsigned i=0)
return a reference to the plot3d configuration of the i-th plot
bool init(cgv::render::context &ctx)
this method is called after creation or recreation of the context, return whether all necessary funct...
void create_bar_config_gui(cgv::base::base *bp, cgv::gui::provider &p, plot_base_config &pbc)
create the gui for a bar subplot
void clear(cgv::render::context &ctx)
clear all objects living in the context like textures or display lists
void create_gui(cgv::base::base *bp, cgv::gui::provider &p)
create a gui for the plot with gui for all configs
void set_samples_per_row(unsigned i, unsigned N)
set the number of samples of the i-th sub plot to N
void delete_sub_plot(unsigned i)
delete the i-th sub plot
unsigned get_samples_per_row(unsigned i) const
return the number of samples per row
void create_line_config_gui(cgv::base::base *bp, cgv::gui::provider &p, plot_base_config &pbc)
create the gui for a line subplot
plot3d(unsigned nr_attributes=0)
construct 3d plot with given number of additional attributes and default parameters
unsigned add_sub_plot(const std::string &name)
add sub plot and return reference to samples
void create_config_gui(cgv::base::base *bp, cgv::gui::provider &p, unsigned i)
create the gui for a subplot configuration
plot_base(unsigned dim, unsigned nr_attributes=0)
construct from plot dimension and number of additional attributes with default parameters
unsigned nr_attributes
number of additional attributes
attribute array manager used to upload arrays to gpu
base class for all drawables, which is independent of the used rendering API.
a shader program combines several shader code fragments to a complete definition of the shading pipel...
this header is dependency free
cgv::media::color< float, cgv::media::RGB > rgb
declare rgb color type with 32 bit components
extend common plot configuration with parameters specific to 2d plot
rgb surface_color
color of faces
PlotFaceIllumination face_illumination
how to illuminate the surface
unsigned samples_per_row
if samples per row > 0, the samples are interpreted as regular grid
void set_colors(const rgb &base_color)
add tube and surface color
mapped_size bar_percentual_depth
provide second dimension of bar extend
plot3d_config(const std::string &_name)
construct with default values
bool wireframe
whether to turn on wireframe
bool show_line_orientation
whether to illustrate line orientation
bool show_surface
whether to show faces
plot independent configuration parameters of one sub plot in a 2d or 3d plot
plot_base_config(const std::string &_name, unsigned dim)
set default values
boxes use surface render styles