5#include <cgv/render/shader_program.h>
40 void extract_domain_rectangles(std::vector<box2>& R, std::vector<rgb>& C, std::vector<float>& D);
41 void extract_domain_tick_rectangles_and_tick_labels(std::vector<box2>& R, std::vector<rgb>& C, std::vector<float>& D, std::vector<label_info>&
tick_labels, std::vector<tick_batch_info>&
tick_batches);
45 bool compute_sample_coordinate_interval(
int i,
int ai,
float& samples_min,
float& samples_max);
49 std::vector <std::vector<unsigned> >
strips;
53 bool disable_depth_mask;
100#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
void create_stick_config_gui(cgv::base::base *bp, cgv::gui::provider &p, plot_base_config &pbc)
create the gui for a stick subplot
void clear(cgv::render::context &ctx)
destruct shader programs
std::vector< std::vector< unsigned > > strips
allow to split series into connected strips that are represented by the number of contained samples
void create_point_config_gui(cgv::base::base *bp, cgv::gui::provider &p, plot_base_config &pbc)
create the gui for a point subplot
std::vector< vec2 > & ref_sub_plot_samples(unsigned i=0)
return the samples of the i-th sub plot
void create_gui(cgv::base::base *bp, cgv::gui::provider &p)
create a gui for the plot with gui for all configs
cgv::render::attribute_array_manager aam_domain
attribute managers for domain rectangles and domain tick labels
void delete_sub_plot(unsigned i)
delete the i-th sub plot
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 draw(cgv::render::context &ctx)
draw plot
std::vector< unsigned > & ref_sub_plot_strips(unsigned i=0)
return the strip definition of the i-th sub plot
plot2d & operator=(const plot2d &)=delete
prevent copy and assignment for now until properly implemented
plot2d_config & ref_sub_plot2d_config(unsigned i=0)
return a reference to the plot1d configuration of the i-th plot
bool * multi_axis_modes
whether to manage separate axes for each sub plot
vec3 sub_plot_delta
offset in between sub plots in x, y and z direction
void create_config_gui(cgv::base::base *bp, cgv::gui::provider &p, unsigned i)
create the gui for a subplot configuration
unsigned add_sub_plot(const std::string &name)
add sub plot and return sub plot index
plot2d(const std::string &title, unsigned nr_attributes=0)
construct 2D plot with given number of additional attributes and default parameters
std::vector< std::vector< vec2 > > samples
store 2d samples for data series
bool init(cgv::render::context &ctx)
construct shader programs
std::vector< label_info > tick_labels
all tick labels
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
std::vector< tick_batch_info > tick_batches
twice number of axis pairs with index of first tick label and number of tick labels for primary and s...
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::math::fvec< float, 3 > vec3
declare type of 3d single precision floating point vectors
extend common plot configuration with parameters specific to 2d plot
void configure_chart(ChartType chart_type)
configure the sub plot to a specific chart type
plot2d_config(const std::string &_name)
set default values
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