cgv
cgv::plot::axis_config Class Reference

configuration information stored per domain axis More...

#include <axis_config.h>

Inherits cgv::render::render_types.

Public Types

typedef cgv::media::color< float, cgv::media::RGB > rgb
 declare rgb color type
 
typedef cgv::media::color< float, cgv::media::RGB, cgv::media::OPACITY > rgba
 declare rgba color type
 
typedef cgv::media::color< cgv::type::uint8_type, cgv::media::RGB > rgb8
 declare rgb color type
 
typedef cgv::media::color< cgv::type::uint8_type, cgv::media::RGB, cgv::media::OPACITY > rgba8
 declare rgba color type
 
typedef cgv::math::fvec< float, 2 > vec2
 declare type of 2d vectors
 
typedef cgv::math::fvec< float, 3 > vec3
 declare type of 3d vectors
 
typedef cgv::math::fvec< float, 4 > vec4
 declare type of homogeneous vectors
 
typedef cgv::math::vec< float > vecn
 declare type of vector with varying dimension
 
typedef cgv::math::fmat< float, 2, 2 > mat2
 declare type of 2x2 matrices
 
typedef cgv::math::fmat< float, 3, 3 > mat3
 declare type of 3x3 matrices
 
typedef cgv::math::fmat< float, 4, 4 > mat4
 declare type of 4x4 matrices
 
typedef cgv::math::fmat< float, 3, 4 > mat34
 declare type of 3x4 matrices which are often used to store a pose
 
typedef cgv::math::mat< float > matn
 declare type of matrices of varying dimensions
 
typedef cgv::math::fvec< double, 2 > dvec2
 declare type of 2d vectors
 
typedef cgv::math::fvec< double, 3 > dvec3
 declare type of 3d vectors
 
typedef cgv::math::fvec< double, 4 > dvec4
 declare type of homogeneous vectors
 
typedef cgv::math::vec< double > dvecn
 declare type of vector with varying dimension
 
typedef cgv::math::fmat< double, 2, 2 > dmat2
 declare type of 2x2 matrices
 
typedef cgv::math::fmat< double, 3, 3 > dmat3
 declare type of 3x3 matrices
 
typedef cgv::math::fmat< double, 4, 4 > dmat4
 declare type of 4x4 matrices
 
typedef cgv::math::fmat< double, 3, 4 > dmat34
 declare type of 3x4 matrices which are often used to store a pose
 
typedef cgv::math::mat< double > dmatn
 declare type of matrices of varying dimensions
 
typedef cgv::media::axis_aligned_box< float, 2 > box2
 declare type of 2d boxes
 
typedef cgv::media::axis_aligned_box< float, 3 > box3
 declare type of 3d boxes
 
typedef cgv::media::axis_aligned_box< float, 4 > box4
 declare type of 4d boxes
 
typedef cgv::media::axis_aligned_box< double, 2 > dbox2
 declare type of 2d boxes
 
typedef cgv::media::axis_aligned_box< double, 3 > dbox3
 declare type of 3d boxes
 
typedef cgv::media::axis_aligned_box< double, 4 > dbox4
 declare type of 4d boxes
 
typedef cgv::math::quaternion< float > quat
 declare type of quaternion
 
typedef cgv::math::quaternion< double > dquat
 declare type of double quaternion
 
typedef cgv::math::fvec< int32_t, 2 > ivec2
 declare type of 2d integer vectors
 
typedef cgv::math::fvec< int32_t, 3 > ivec3
 declare type of 3d integer vectors
 
typedef cgv::math::fvec< int32_t, 4 > ivec4
 declare type of 4d integer vectors
 
typedef cgv::math::fvec< uint32_t, 2 > uvec2
 declare type of 2d unsigned integer vectors
 
typedef cgv::math::fvec< uint32_t, 3 > uvec3
 declare type of 3d unsigned integer vectors
 
typedef cgv::math::fvec< uint32_t, 4 > uvec4
 declare type of 4d unsigned integer vectors
 

Public Member Functions

float get_attribute_min () const
 read access to attrbribute minimum value
 
float get_attribute_max () const
 read access to attrbribute maximum value
 
void put_backup_attribute_range (float &min_val, float &max_val) const
 read access to backup attribute range
 
float get_attribute_extent () const
 compute the extent in attribute space
 
bool get_log_scale () const
 read access to log scale flag
 
float get_log_minimum () const
 read access to minimum attribute value for robust log transformation
 
void set_attribute_range (float _min, float _max)
 write access to attribute range
 
void backup_attribute_range ()
 store current range in backup members
 
void restore_attribute_range ()
 store current range from backup members
 
void set_attribute_minimum (float _min)
 write access to attribute minimum value
 
void set_attribute_maximum (float _max)
 write access to attribute maximum value
 
void set_log_scale (bool enabled)
 write access to log scale flag
 
void set_log_minimum (float _min)
 write access to minimum attribute value for robust log transformation
 
void set_log_config (bool enabled, float _min)
 write access to log scale flag and minimum
 
bool operator== (const axis_config &ac) const
 compare members relevant for drawing geometry precomputation for equality
 
float tick_space_from_attribute_space (float value) const
 perform transformation from attribute space to tick mark space by applying log transformation if activated
 
float plot_space_from_window_space (float value) const
 convert from window to plot space
 
float window_space_from_plot_space (float value) const
 convert from plot to window space
 
float plot_space_from_attribute_space (float value) const
 convenience function
 
float attribute_space_from_plot_space (float value) const
 convenience function
 
 axis_config ()
 set default values
 
void adjust_tick_marks_to_range (unsigned max_nr_secondary_ticks)
 adjust tick marks to attribute range based on given maximum number of secondary ticks
 
void create_gui (cgv::base::base *bp, cgv::gui::provider &p)
 create gui for axis
 

Public Attributes

std::string name
 name of axis
 
float extent
 extent in world space
 
float line_width
 line width
 
rgb color
 color of axis
 
tick_config primary_ticks
 configuration of primary tickmarks
 
tick_config secondary_ticks
 configuration of secondary tickmarks
 

Protected Attributes

float min_attribute_value
 minimum attribute value
 
float max_attribute_value
 maximum attribute value
 
bool log_scale
 whether axis is drawn with logarithmic scale
 
float log_minimum
 minimum of logarithmic value in case that 0 is included in attribute range
 
unsigned auto_adjust_max_snd_ticks
 maximum number of secondary ticks for auto adjustment of ticks on changes to attribute range
 

Detailed Description

configuration information stored per domain axis


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