|
cgv
|
renderer that supports plane rendering More...
#include <rectangle_renderer.h>
Public Member Functions | |
| void | set_y_view_angle (float y_view_angle) |
| void | enable_attribute_array_manager (const context &ctx, attribute_array_manager &aam) override |
| call this before setting attribute arrays to manage attribute array in given manager | |
| void | disable_attribute_array_manager (const context &ctx, attribute_array_manager &aam) override |
| call this after last render/draw call to ensure that no other users of renderer change attribute arrays of given manager | |
| bool | init (context &ctx) override |
| call init() once before using renderer | |
| void | set_position_is_center (bool _position_is_center) |
| set the flag of the render style, whether the position is interpreted as the box center | |
| template<typename T > | |
| void | set_extent (const context &ctx, const cgv::math::fvec< T, 2U > &extent) |
| specify a single extent for all boxes | |
| template<typename T > | |
| void | set_extent_array (const context &ctx, const std::vector< cgv::math::fvec< T, 2U > > &extents) |
| extent array specifies plane side lengths from origin to edge | |
| template<typename T > | |
| void | set_extent_array (const context &ctx, const cgv::math::fvec< T, 2U > *extents, size_t nr_elements, unsigned stride_in_bytes=0) |
| extent array specifies plane side lengths from origin to edge | |
| void | remove_extent_array (const context &ctx) |
| remove the extent attribute | |
| template<typename T > | |
| void | set_rectangle (const context &ctx, const cgv::media::axis_aligned_box< T, 2 > &box) |
| specify a single rectangle without array. This sets position_is_center to false as well as position and extent array | |
| template<typename T > | |
| void | set_rectangle_array (const context &ctx, const std::vector< cgv::media::axis_aligned_box< T, 2 > > &boxes) |
| specify rectangle array directly. This sets position_is_center to false as well as position and extent array | |
| template<typename T > | |
| void | set_rectangle_array (const context &ctx, const cgv::media::axis_aligned_box< T, 2 > *boxes, size_t count) |
| specify ractangle array directly. This sets position_is_center to false as well as position and extent array | |
| void | set_textured_rectangle (const context &ctx, const textured_rectangle &tcr) |
| specify rectangle without array. This sets position_is_center to false as well as position and extent array | |
| void | set_textured_rectangle_array (const context &ctx, const std::vector< textured_rectangle > &tc_rects) |
| specify rectangle array directly. This sets position_is_center to false as well as position and extent array | |
| void | set_textured_rectangle_array (const context &ctx, const textured_rectangle *tc_rects, size_t count) |
| specify ractangle array directly. This sets position_is_center to false as well as position and extent array | |
| template<typename T > | |
| void | set_secondary_color (const context &ctx, const T &color) |
| templated method to set the secondary color attribute from a single color of type T | |
| template<typename T > | |
| void | set_secondary_color_array (const context &ctx, const std::vector< T > &colors) |
| template method to set the secondary color attribute from a vector of colors of type T | |
| template<typename T > | |
| void | set_secondary_color_array (const context &ctx, const T *colors, size_t nr_elements, unsigned stride_in_bytes=0) |
| template method to set the secondary color attribute from a vector of colors of type T | |
| void | set_secondary_color_array (const context &ctx, type_descriptor element_type, const vertex_buffer &vbo, size_t offset_in_bytes, size_t nr_elements, unsigned stride_in_bytes=0) |
| method to set the secondary color attribute from a vertex buffer object, the element type must be given as explicit template parameter | |
| template<typename T > | |
| void | set_secondary_color_array (const context &ctx, const vertex_buffer &vbo, size_t offset_in_bytes, size_t nr_elements, unsigned stride_in_bytes=0) |
| template method to set the secondary color attribute from a vertex buffer object, the element type must be given as explicit template parameter | |
| void | remove_secondary_color_array (const context &ctx) |
| remove the secondary color attribute | |
| template<typename T > | |
| void | set_border_color (const context &ctx, const T &color) |
| templated method to set the border color attribute from a single color of type T | |
| template<typename T > | |
| void | set_border_color_array (const context &ctx, const std::vector< T > &colors) |
| template method to set the border color attribute from a vector of colors of type T | |
| template<typename T > | |
| void | set_border_color_array (const context &ctx, const T *colors, size_t nr_elements, unsigned stride_in_bytes=0) |
| template method to set the border color attribute from a vector of colors of type T | |
| void | set_border_color_array (const context &ctx, type_descriptor element_type, const vertex_buffer &vbo, size_t offset_in_bytes, size_t nr_elements, unsigned stride_in_bytes=0) |
| method to set the border color attribute from a vertex buffer object, the element type must be given as explicit template parameter | |
| template<typename T > | |
| void | set_border_color_array (const context &ctx, const vertex_buffer &vbo, size_t offset_in_bytes, size_t nr_elements, unsigned stride_in_bytes=0) |
| template method to set the border color attribute from a vertex buffer object, the element type must be given as explicit template parameter | |
| void | remove_border_color_array (const context &ctx) |
| remove the border color attribute | |
| template<typename T > | |
| void | set_border_info (const context &ctx, const cgv::math::fvec< T, 3 > &border_info) |
| specify a single border_info for all lines | |
| template<typename T > | |
| void | set_border_info_array (const context &ctx, const std::vector< T > &border_infos) |
| templated method to set the border_info attribute array from a vector of border_infos of type T, which should have 3 components | |
| template<typename T > | |
| void | set_border_info_array (const context &ctx, const T *border_infos, size_t nr_elements, unsigned stride_in_bytes=0) |
| templated method to set the border_info attribute from an array of border_infos of type T, which should have 3 components | |
| void | set_border_info_array (const context &ctx, type_descriptor element_type, const vertex_buffer &vbo, size_t offset_in_bytes, size_t nr_elements, unsigned stride_in_bytes=0) |
| method to set the border_info attribute from a vertex buffer object, the element type must be given as explicit template parameter | |
| template<typename T > | |
| void | set_border_info_array (const context &ctx, const vertex_buffer &vbo, size_t offset_in_bytes, size_t nr_elements, unsigned stride_in_bytes=0) |
| template method to set the border_info attribute from a vertex buffer object, the element type must be given as explicit template parameter | |
| void | remove_border_info_array (const context &ctx) |
| remove the border info attribute | |
| template<typename T > | |
| void | set_depth_offset (const context &ctx, const T &depth_offset) |
| specify a single depth_offset for all lines | |
| template<typename T = float> | |
| void | set_depth_offset_array (const context &ctx, const std::vector< T > &depth_offsets) |
| set per rectangle depth offsets | |
| void | remove_depth_offset_array (const context &ctx) |
| remove the depth offset attribute | |
| template<typename T > | |
| void | set_translation (const context &ctx, const T &translation) |
| template method to set translation for all rectangles from a vector type T, which should have 3 components | |
| template<typename T > | |
| void | set_translation_array (const context &ctx, const std::vector< T > &translations) |
| template method to set the translations from a vector of vectors of type T, which should have 3 components | |
| template<typename T > | |
| void | set_translation_array (const context &ctx, const T *translations, size_t nr_elements, unsigned stride) |
| template method to set the translations from a vector of vectors of type T, which should have 3 components | |
| void | remove_translation_array (const context &ctx) |
| remove the translation attribute | |
| template<typename T > | |
| void | set_rotation (const context &ctx, const T &rotation) |
| set single rotation for all rectangles from a quaternion of type T, which has 4 components | |
| template<typename T > | |
| void | set_rotation_array (const context &ctx, const std::vector< T > &rotations) |
| template method to set the rotation from a vector of quaternions of type T, which should have 4 components | |
| template<typename T > | |
| void | set_rotation_array (const context &ctx, const T *rotations, size_t nr_elements, unsigned stride=0) |
| template method to set the rotation from a vector of quaternions of type T, which should have 4 components | |
| void | remove_rotation_array (const context &ctx) |
| remove the rotation attribute | |
| bool | validate_attributes (const context &ctx) const override |
| check additionally the group attributes | |
| bool | enable (context &ctx) override |
| overload to activate group style | |
| bool | disable (context &ctx) override |
| disable renderer | |
| void | draw (context &ctx, size_t start, size_t count, bool use_strips=false, bool use_adjacency=false, uint32_t strip_restart_index=-1) override |
| convenience function to render with default settings | |
Public Member Functions inherited from cgv::render::surface_renderer | |
| void | enable_attribute_array_manager (const context &ctx, attribute_array_manager &aam) override |
| call this before setting attribute arrays to manage attribute array in given manager | |
| void | disable_attribute_array_manager (const context &ctx, attribute_array_manager &aam) override |
| call this after last render/draw call to ensure that no other users of renderer change attribute arrays of given manager | |
| bool | enable (context &ctx) override |
| overload to activate group style | |
| bool | disable (context &ctx) override |
| disable renderer | |
| template<typename T > | |
| void | set_normal (const context &ctx, const cgv::math::fvec< T, 3 > &normal) |
| specify a single normal for all lines | |
| template<typename T > | |
| void | set_normal_array (const context &ctx, const std::vector< T > &normals) |
| templated method to set the normal attribute array from a vector of normals of type T, which should have 3 components | |
| template<typename T > | |
| void | set_normal_array (const context &ctx, const T *normals, size_t nr_elements, unsigned stride_in_bytes=0) |
| templated method to set the normal attribute from an array of normals of type T, which should have 3 components | |
| void | set_normal_array (const context &ctx, type_descriptor element_type, const vertex_buffer &vbo, size_t offset_in_bytes, size_t nr_elements, unsigned stride_in_bytes=0) |
| method to set the normal attribute from a vertex buffer object, the element type must be given as explicit template parameter | |
| template<typename T > | |
| void | set_normal_array (const context &ctx, const vertex_buffer &vbo, size_t offset_in_bytes, size_t nr_elements, unsigned stride_in_bytes=0) |
| template method to set the normal attribute from a vertex buffer object, the element type must be given as explicit template parameter | |
| void | remove_normal_array (const context &ctx) |
| remove the normal attribute | |
| template<typename T > | |
| void | set_texcoord (const context &ctx, const T &texcoord) |
| templated method to set the texcoord attribute without array | |
| template<typename T > | |
| void | set_texcoord_array (const context &ctx, const std::vector< T > &texcoords) |
| templated method to set the texcoord attribute array from a vector of texcoords of type T | |
| template<typename T > | |
| void | set_texcoord_array (const context &ctx, const T *texcoords, size_t nr_elements, unsigned stride_in_bytes=0) |
| templated method to set the texcoord attribute from an array of texcoords of type T | |
| void | set_texcoord_array (const context &ctx, type_descriptor element_type, const vertex_buffer &vbo, size_t offset_in_bytes, size_t nr_elements, unsigned stride_in_bytes=0) |
| template method to set the texcoord attribute from a vertex buffer object, the element type must be given as explicit template parameter | |
| template<typename T > | |
| void | set_texcoord_array (const context &ctx, const vertex_buffer &vbo, size_t offset_in_bytes, size_t nr_elements, unsigned stride_in_bytes=0) |
| template method to set the texcoord attribute from a vertex buffer object, the element type must be given as explicit template parameter | |
| void | remove_texcoord_array (const context &ctx) |
| remove the texcoord attribute | |
Public Member Functions inherited from cgv::render::group_renderer | |
| void | set_group_index_array (const context &ctx, const std::vector< unsigned > &group_indices) |
| method to set the group index attribute | |
| void | set_group_index_array (const context &ctx, const unsigned *group_indices, size_t nr_elements) |
| method to set the group index attribute | |
| void | set_group_index_array (const context &ctx, type_descriptor element_type, const vertex_buffer &vbo, size_t offset_in_bytes, size_t nr_elements, unsigned stride_in_bytes=0) |
| method to set the group index attribute from a vertex buffer object, the element type must be given as explicit template parameter | |
| template<typename T > | |
| void | set_group_index_array (const context &ctx, const vertex_buffer &vbo, size_t offset_in_bytes, size_t nr_elements, unsigned stride_in_bytes=0) |
| template method to set the group index color attribute from a vertex buffer object, the element type must be given as explicit template parameter | |
| void | remove_group_index_array (const context &ctx) |
| remove the group index attribute | |
| template<typename T > | |
| void | set_group_colors (const context &ctx, const std::vector< T > &colors) |
| template method to set the group colors from a vector of colors of type T | |
| template<typename T > | |
| void | set_group_colors (const context &ctx, const T *colors, size_t nr_elements) |
| template method to set the group colors from a vector of colors of type T | |
| template<typename T > | |
| void | set_group_translations (const context &ctx, const std::vector< T > &group_translations) |
| template method to set the group translations from a vector of vectors of type T, which should have 3 components | |
| template<typename T > | |
| void | set_group_translations (const context &ctx, const T *group_translations, size_t nr_elements) |
| template method to set the group translations from a vector of vectors of type T, which should have 3 components | |
| template<typename T > | |
| void | set_group_rotations (const context &ctx, const std::vector< T > &group_rotations) |
| template method to set the group rotation from a vector of quaternions of type T, which should have 4 components | |
| template<typename T > | |
| void | set_group_rotations (const context &ctx, const T *group_rotations, size_t nr_elements) |
| template method to set the group rotation from a vector of quaternions of type T, which should have 4 components | |
Public Member Functions inherited from cgv::render::renderer | |
| shader_compile_options & | ref_shader_options () |
| access to shader program compile options to update settings not handled by render style | |
| shader_program & | ref_prog () |
| derived renderer classes have access to shader program | |
| void | set_prog (shader_program &one_shot_prog) |
| set external shader program up to next call to disable() or render() | |
| void | draw_impl (context &ctx, PrimitiveType pt, size_t start, size_t count, bool use_strips=false, bool use_adjacency=false, uint32_t strip_restart_index=-1) |
| default implementation of draw method with support for indexed rendering and different primitive types | |
| void | draw_impl_instanced (context &ctx, PrimitiveType type, size_t start, size_t count, size_t instance_count, bool use_strips=false, bool use_adjacency=false, uint32_t strip_restart_index=-1) |
| default implementation of instanced draw method with support for indexed rendering and different primitive types | |
| renderer () | |
| construct and init attribute tracking flags | |
| virtual | ~renderer () |
| destructor deletes default renderer style | |
| void | manage_singleton (context &ctx, const std::string &renderer_name, int &ref_count, int ref_count_change) |
| used by derived classes to manage singletons | |
| virtual void | set_attribute_array_manager (const context &ctx, attribute_array_manager *_aam_ptr=0) |
| this function is deprecated, please use enable_attribute_array_manager() and disable_attribute_manager() instead | |
| void | set_render_style (const render_style &rs) |
| reference given render style | |
| bool | build_program (context &ctx, shader_program &prog, const render_style &rs) |
| build shader program for specific render style | |
| template<typename T > | |
| void | set_position (const context &ctx, const T &position) |
| templated method to set the position attribute from a single position of type T | |
| template<typename T > | |
| void | set_position_array (const context &ctx, const std::vector< T > &positions) |
| templated method to set the position attribute from a vector of positions of type T | |
| template<typename T > | |
| void | set_position_array (const context &ctx, const T *positions, size_t nr_elements, unsigned stride_in_bytes=0) |
| templated method to set the position attribute from a vector of positions of type T | |
| void | set_position_array (const context &ctx, type_descriptor element_type, const vertex_buffer &vbo, size_t offset_in_bytes, size_t nr_elements, unsigned stride_in_bytes) |
| method to set the position attribute from a vertex buffer object | |
| template<typename T > | |
| void | set_position_array (const context &ctx, const vertex_buffer &vbo, size_t offset_in_bytes, size_t nr_elements, unsigned stride_in_bytes=0) |
| template method to set the position attribute from a vertex buffer object, the element type must be given as explicit template parameter | |
| void | remove_position_array (const context &ctx) |
| remove the position attribute | |
| template<typename T > | |
| void | set_color (const context &ctx, const T &color) |
| templated method to set the color attribute from a single color of type T | |
| template<typename T > | |
| void | set_color_array (const context &ctx, const std::vector< T > &colors) |
| template method to set the color attribute from a vector of colors of type T | |
| template<typename T > | |
| void | set_color_array (const context &ctx, const T *colors, size_t nr_elements, unsigned stride_in_bytes=0) |
| template method to set the color attribute from a vector of colors of type T | |
| void | set_color_array (const context &ctx, type_descriptor element_type, const vertex_buffer &vbo, size_t offset_in_bytes, size_t nr_elements, unsigned stride_in_bytes=0) |
| method to set the color attribute from a vertex buffer object, the element type must be given as explicit template parameter | |
| template<typename T > | |
| void | set_color_array (const context &ctx, const vertex_buffer &vbo, size_t offset_in_bytes, size_t nr_elements, unsigned stride_in_bytes=0) |
| template method to set the color attribute from a vertex buffer object, the element type must be given as explicit template parameter | |
| void | remove_color_array (const context &ctx) |
| remove the color attribute | |
| template<typename T > | |
| bool | set_indices (const context &ctx, const std::vector< T > &indices, bool keep_on_cpu=false) |
| Set the indices for indexed rendering from a vector. | |
| template<typename T > | |
| bool | set_indices (const context &ctx, const T *indices, size_t nr_indices, bool keep_on_cpu=false) |
| Set the indices for indexed rendering from an array given as a pointer. | |
| template<typename T > | |
| bool | set_indices (const context &ctx, const vertex_buffer &vbo, size_t count) |
| Set the indices for indexed rendering from a GPU buffer. | |
| bool | has_indices () const |
| return whether indices have been defined | |
| void | remove_indices (const context &ctx) |
| remove previously set indices | |
| const vertex_buffer * | get_vertex_buffer_ptr (const context &ctx, const attribute_array_manager &aam, const std::string &attr_name) |
| const vertex_buffer * | get_index_buffer_ptr (const attribute_array_manager &aam) |
| bool | validate_and_enable (context &ctx) |
| validate attributes and if successful, enable renderer | |
| virtual bool | render (context &ctx, size_t start, size_t count, bool use_strips=false, bool use_adjacency=false, uint32_t strip_restart_index=-1) |
| Convenience function that draws vertex or indexed element with this renderer. | |
| virtual void | clear (const context &ctx) |
| the clear function destructs the shader program | |
Protected Member Functions | |
| std::string | get_default_prog_name () const override |
| return the default shader program name | |
| render_style * | create_render_style () const override |
| create and return the default render style | |
Protected Member Functions inherited from cgv::render::surface_renderer | |
| void | update_shader_program_options (shader_compile_options &options) const override |
| overload to update the shader program compile options based on the current render style; only called if internal shader program is used | |
| bool | build_shader_program (context &ctx, shader_program &prog, const shader_compile_options &options) const override |
| overload to disable context from setting color in shader program | |
Protected Member Functions inherited from cgv::render::renderer | |
| bool | has_aam () const |
| check for attribute array manager | |
| bool | has_attribute (const context &ctx, const std::string &name) |
| check for attribute | |
| const render_style * | get_style_ptr () const |
| access to render style | |
| bool | attributes_persist () const |
| return whether attributes persist after a call to disable | |
| template<typename T > | |
| const T & | get_style () const |
| access to style | |
| int | get_prog_attribute_location (const context &ctx, const std::string &name, bool error_check=true) |
| template<typename T > | |
| bool | set_attribute_array (const context &ctx, const std::string &name, const T &array) |
| template<typename T > | |
| bool | set_attribute_array (const context &ctx, const std::string &name, const T *array_ptr, size_t nr_elements, unsigned stride) |
| bool | set_attribute_array (const context &ctx, const std::string &name, type_descriptor element_type, const vertex_buffer &vbo, size_t offset_in_bytes, size_t nr_elements, unsigned stride_in_bytes) |
| template<typename C , typename T > | |
| bool | set_composed_attribute_array (const context &ctx, const std::string &name, const C *array_ptr, size_t nr_elements, const T &elem) |
| in case that several attributes are stored interleaved, call this function for the first and ref_composed_attribute_array() for all others | |
| template<typename C , typename T > | |
| bool | ref_composed_attribute_array (const context &ctx, const std::string &name, const std::string &name_ref, const C *array_ptr, size_t nr_elements, const T &elem) |
| in case that several attributes are stored interleaved, call set_composed_attribute_array() for the first and this function for all others | |
| bool | remove_attribute_array (const context &ctx, const std::string &name) |
Protected Attributes | |
| bool | has_extents = false |
| whether extent array has been specified | |
| bool | has_secondary_colors = false |
| whether secondary color or color array was set | |
| bool | has_border_colors = false |
| whether border color or color array was set | |
| bool | has_border_infos = false |
| whether border info or info array was set | |
| bool | has_translations = false |
| whether translation array has been specified | |
| bool | has_rotations = false |
| whether rotation array has been specified | |
| bool | has_depth_offsets = false |
| whether depth offset array has been specified | |
| float | y_view_angle = 45.0f |
Protected Attributes inherited from cgv::render::surface_renderer | |
| bool | has_normals = false |
| bool | has_texcoords = false |
| bool | cull_per_primitive = true |
Protected Attributes inherited from cgv::render::group_renderer | |
| bool | has_group_indices = false |
| bool | has_group_colors = false |
| bool | has_group_translations = false |
| bool | has_group_rotations = false |
Protected Attributes inherited from cgv::render::renderer | |
| bool | has_colors = false |
| track whether color attribute is defined | |
| bool | has_positions = false |
| track whether position attribute is defined | |
renderer that supports plane rendering
Definition at line 84 of file rectangle_renderer.h.
|
inlineoverrideprotectedvirtual |
create and return the default render style
Implements cgv::render::renderer.
Definition at line 105 of file rectangle_renderer.h.
|
overridevirtual |
disable renderer
Reimplemented from cgv::render::group_renderer.
Definition at line 182 of file rectangle_renderer.cxx.
References cgv::render::renderer::attributes_persist(), cgv::render::rectangle_render_style::blend_rectangles, cgv::render::surface_renderer::disable(), has_border_colors, has_border_infos, has_depth_offsets, has_extents, has_rotations, has_secondary_colors, has_translations, and cgv::render::context::pop_blend_state().
|
overridevirtual |
call this after last render/draw call to ensure that no other users of renderer change attribute arrays of given manager
Reimplemented from cgv::render::group_renderer.
Definition at line 110 of file rectangle_renderer.cxx.
References cgv::render::surface_renderer::disable_attribute_array_manager(), has_border_colors, has_border_infos, has_depth_offsets, has_extents, has_rotations, has_secondary_colors, and has_translations.
|
overridevirtual |
convenience function to render with default settings
Reimplemented from cgv::render::renderer.
Definition at line 198 of file rectangle_renderer.cxx.
References cgv::render::renderer::draw_impl().
|
overridevirtual |
overload to activate group style
Reimplemented from cgv::render::group_renderer.
Definition at line 150 of file rectangle_renderer.cxx.
References cgv::render::rectangle_render_style::blend_rectangles, cgv::render::rectangle_render_style::border_mode, cgv::render::rectangle_render_style::border_width_in_pixel, cgv::render::rectangle_render_style::default_border_color, cgv::render::rectangle_render_style::default_depth_offset, cgv::render::rectangle_render_style::default_secondary_color, cgv::render::surface_renderer::enable(), cgv::render::context::enable_blending(), cgv::render::shader_program::get_attribute_location(), cgv::render::context::get_height(), has_border_colors, has_border_infos, has_depth_offsets, has_rotations, has_secondary_colors, has_translations, cgv::render::rectangle_render_style::percentual_border_width, cgv::render::rectangle_render_style::pixel_blend, cgv::render::context::push_blend_state(), cgv::render::renderer::ref_prog(), cgv::render::shader_program::set_attribute(), cgv::render::context::set_blend_func_back_to_front(), cgv::render::shader_program::set_uniform(), and cgv::render::rectangle_render_style::texture_mode.
|
overridevirtual |
call this before setting attribute arrays to manage attribute array in given manager
Reimplemented from cgv::render::group_renderer.
Definition at line 91 of file rectangle_renderer.cxx.
References cgv::render::surface_renderer::enable_attribute_array_manager(), cgv::render::renderer::has_attribute(), has_border_colors, has_border_infos, has_depth_offsets, has_extents, has_rotations, has_secondary_colors, and has_translations.
|
inlineoverrideprotectedvirtual |
return the default shader program name
Implements cgv::render::renderer.
Definition at line 103 of file rectangle_renderer.h.
|
overridevirtual |
call init() once before using renderer
creates default render style and builds shader program based on defines that can be configured with ref_defines() before calling init(). Reconfiguring defines after init() causes rebuild of shader program in enable() function.
Reimplemented from cgv::render::renderer.
Definition at line 131 of file rectangle_renderer.cxx.
References cgv::render::renderer::init().
Referenced by cgv::app::transformation_gizmo::init().
| void cgv::render::rectangle_renderer::remove_border_color_array | ( | const context & | ctx | ) |
remove the border color attribute
Definition at line 71 of file rectangle_renderer.cxx.
References has_border_colors.
| void cgv::render::rectangle_renderer::remove_border_info_array | ( | const context & | ctx | ) |
remove the border info attribute
Definition at line 75 of file rectangle_renderer.cxx.
References has_border_infos.
| void cgv::render::rectangle_renderer::remove_depth_offset_array | ( | const context & | ctx | ) |
remove the depth offset attribute
Definition at line 79 of file rectangle_renderer.cxx.
References has_depth_offsets.
| void cgv::render::rectangle_renderer::remove_extent_array | ( | const context & | ctx | ) |
remove the extent attribute
Definition at line 63 of file rectangle_renderer.cxx.
References has_extents.
| void cgv::render::rectangle_renderer::remove_rotation_array | ( | const context & | ctx | ) |
remove the rotation attribute
Definition at line 87 of file rectangle_renderer.cxx.
References has_rotations.
| void cgv::render::rectangle_renderer::remove_secondary_color_array | ( | const context & | ctx | ) |
remove the secondary color attribute
Definition at line 67 of file rectangle_renderer.cxx.
References has_secondary_colors.
| void cgv::render::rectangle_renderer::remove_translation_array | ( | const context & | ctx | ) |
remove the translation attribute
Definition at line 83 of file rectangle_renderer.cxx.
References has_translations.
|
inline |
templated method to set the border color attribute from a single color of type T
Definition at line 196 of file rectangle_renderer.h.
Referenced by cgv::render::rectangle_render_data< ColorType >::set_const_attributes().
|
inline |
template method to set the border color attribute from a vector of colors of type T
Definition at line 199 of file rectangle_renderer.h.
|
inline |
template method to set the border color attribute from a vector of colors of type T
Definition at line 202 of file rectangle_renderer.h.
|
inline |
template method to set the border color attribute from a vertex buffer object, the element type must be given as explicit template parameter
Definition at line 207 of file rectangle_renderer.h.
References set_border_color_array().
Referenced by set_border_color_array().
| void cgv::render::rectangle_renderer::set_border_color_array | ( | const context & | ctx, |
| type_descriptor | element_type, | ||
| const vertex_buffer & | vbo, | ||
| size_t | offset_in_bytes, | ||
| size_t | nr_elements, | ||
| unsigned | stride_in_bytes = 0 |
||
| ) |
method to set the border color attribute from a vertex buffer object, the element type must be given as explicit template parameter
Definition at line 53 of file rectangle_renderer.cxx.
References has_border_colors.
|
inline |
specify a single border_info for all lines
Definition at line 212 of file rectangle_renderer.h.
|
inline |
templated method to set the border_info attribute array from a vector of border_infos of type T, which should have 3 components
Definition at line 215 of file rectangle_renderer.h.
|
inline |
templated method to set the border_info attribute from an array of border_infos of type T, which should have 3 components
Definition at line 218 of file rectangle_renderer.h.
|
inline |
template method to set the border_info attribute from a vertex buffer object, the element type must be given as explicit template parameter
Definition at line 223 of file rectangle_renderer.h.
References set_border_info_array().
Referenced by set_border_info_array().
|
inline |
specify a single depth_offset for all lines
Definition at line 229 of file rectangle_renderer.h.
|
inline |
set per rectangle depth offsets
Definition at line 232 of file rectangle_renderer.h.
|
inline |
specify a single extent for all boxes
Definition at line 119 of file rectangle_renderer.h.
Referenced by cgv::render::rectangle_render_data< ColorType >::set_const_attributes().
|
inline |
extent array specifies plane side lengths from origin to edge
Definition at line 125 of file rectangle_renderer.h.
|
inline |
extent array specifies plane side lengths from origin to edge
Definition at line 122 of file rectangle_renderer.h.
| void cgv::render::rectangle_renderer::set_position_is_center | ( | bool | _position_is_center | ) |
set the flag of the render style, whether the position is interpreted as the box center
Definition at line 136 of file rectangle_renderer.cxx.
Referenced by set_textured_rectangle().
|
inline |
specify a single rectangle without array. This sets position_is_center to false as well as position and extent array
Definition at line 130 of file rectangle_renderer.h.
References cgv::media::axis_aligned_box< T, N >::get_max_pnt(), and cgv::media::axis_aligned_box< T, N >::get_min_pnt().
|
inline |
specify ractangle array directly. This sets position_is_center to false as well as position and extent array
Definition at line 148 of file rectangle_renderer.h.
|
inline |
specify rectangle array directly. This sets position_is_center to false as well as position and extent array
Definition at line 139 of file rectangle_renderer.h.
|
inline |
set single rotation for all rectangles from a quaternion of type T, which has 4 components
Definition at line 248 of file rectangle_renderer.h.
Referenced by cgv::render::rectangle_render_data< ColorType >::set_const_attributes().
|
inline |
template method to set the rotation from a vector of quaternions of type T, which should have 4 components
Definition at line 251 of file rectangle_renderer.h.
|
inline |
template method to set the rotation from a vector of quaternions of type T, which should have 4 components
Definition at line 254 of file rectangle_renderer.h.
|
inline |
templated method to set the secondary color attribute from a single color of type T
Definition at line 179 of file rectangle_renderer.h.
Referenced by cgv::render::rectangle_render_data< ColorType >::set_const_attributes().
|
inline |
template method to set the secondary color attribute from a vector of colors of type T
Definition at line 182 of file rectangle_renderer.h.
|
inline |
template method to set the secondary color attribute from a vector of colors of type T
Definition at line 185 of file rectangle_renderer.h.
|
inline |
template method to set the secondary color attribute from a vertex buffer object, the element type must be given as explicit template parameter
Definition at line 190 of file rectangle_renderer.h.
References set_secondary_color_array().
Referenced by set_secondary_color_array().
| void cgv::render::rectangle_renderer::set_secondary_color_array | ( | const context & | ctx, |
| type_descriptor | element_type, | ||
| const vertex_buffer & | vbo, | ||
| size_t | offset_in_bytes, | ||
| size_t | nr_elements, | ||
| unsigned | stride_in_bytes = 0 |
||
| ) |
method to set the secondary color attribute from a vertex buffer object, the element type must be given as explicit template parameter
Definition at line 48 of file rectangle_renderer.cxx.
References has_secondary_colors.
| void cgv::render::rectangle_renderer::set_textured_rectangle | ( | const context & | ctx, |
| const textured_rectangle & | tcr | ||
| ) |
specify rectangle without array. This sets position_is_center to false as well as position and extent array
Definition at line 121 of file rectangle_renderer.cxx.
References cgv::media::axis_aligned_box< T, N >::get_max_pnt(), cgv::media::axis_aligned_box< T, N >::get_min_pnt(), has_extents, cgv::render::renderer::has_positions, cgv::render::renderer::ref_prog(), cgv::render::shader_program::set_attribute(), and set_position_is_center().
|
inline |
specify rectangle array directly. This sets position_is_center to false as well as position and extent array
Definition at line 158 of file rectangle_renderer.h.
|
inline |
specify ractangle array directly. This sets position_is_center to false as well as position and extent array
Definition at line 168 of file rectangle_renderer.h.
|
inline |
template method to set translation for all rectangles from a vector type T, which should have 3 components
Definition at line 237 of file rectangle_renderer.h.
Referenced by cgv::render::rectangle_render_data< ColorType >::set_const_attributes().
|
inline |
template method to set the translations from a vector of vectors of type T, which should have 3 components
Definition at line 240 of file rectangle_renderer.h.
|
inline |
template method to set the translations from a vector of vectors of type T, which should have 3 components
Definition at line 243 of file rectangle_renderer.h.
| void cgv::render::rectangle_renderer::set_y_view_angle | ( | float | y_view_angle | ) |
Definition at line 43 of file rectangle_renderer.cxx.
|
overridevirtual |
check additionally the group attributes
Reimplemented from cgv::render::group_renderer.
Definition at line 140 of file rectangle_renderer.cxx.
References cgv::render::context::error(), has_extents, and cgv::render::group_renderer::validate_attributes().
|
protected |
whether border color or color array was set
Definition at line 92 of file rectangle_renderer.h.
Referenced by disable(), disable_attribute_array_manager(), enable(), enable_attribute_array_manager(), remove_border_color_array(), and set_border_color_array().
|
protected |
whether border info or info array was set
Definition at line 94 of file rectangle_renderer.h.
Referenced by disable(), disable_attribute_array_manager(), enable(), enable_attribute_array_manager(), and remove_border_info_array().
|
protected |
whether depth offset array has been specified
Definition at line 100 of file rectangle_renderer.h.
Referenced by disable(), disable_attribute_array_manager(), enable(), enable_attribute_array_manager(), and remove_depth_offset_array().
|
protected |
whether extent array has been specified
Definition at line 88 of file rectangle_renderer.h.
Referenced by disable(), disable_attribute_array_manager(), enable_attribute_array_manager(), remove_extent_array(), set_textured_rectangle(), and validate_attributes().
|
protected |
whether rotation array has been specified
Definition at line 98 of file rectangle_renderer.h.
Referenced by disable(), disable_attribute_array_manager(), enable(), enable_attribute_array_manager(), and remove_rotation_array().
|
protected |
whether secondary color or color array was set
Definition at line 90 of file rectangle_renderer.h.
Referenced by disable(), disable_attribute_array_manager(), enable(), enable_attribute_array_manager(), remove_secondary_color_array(), and set_secondary_color_array().
|
protected |
whether translation array has been specified
Definition at line 96 of file rectangle_renderer.h.
Referenced by disable(), disable_attribute_array_manager(), enable(), enable_attribute_array_manager(), and remove_translation_array().
|
protected |
Definition at line 101 of file rectangle_renderer.h.