cgv
Loading...
Searching...
No Matches
cgv::render::rectangle_render_data< ColorType > Class Template Reference

Render data for rectangle geometry with support for the rectangle_renderer. More...

#include <rectangle_render_data.h>

Inheritance diagram for cgv::render::rectangle_render_data< ColorType >:
cgv::render::render_data_base< rectangle_renderer, rectangle_render_style, rgb >

Public Member Functions

void clear ()
void add_secondary_color (const ColorType &color)
void add_border_color (const ColorType &color)
void add_extent (const vec2 &extent)
void add_translation (const vec3 &translation)
void add_rotation (const quat &rotation)
void add_texcoord (const vec4 &texcoord)
void add (const vec3 &position, const vec2 &extent)
void add (const vec3 &position, const vec4 &texcoord)
void add (const vec3 &position, const ColorType &color, const vec2 &extent)
void add (const vec3 &position, const vec2 &extent, const quat &rotation)
void add (const vec3 &translation, const quat &rotation)
void fill_secondary_colors (const ColorType &color)
void fill_border_colors (const ColorType &color)
void fill_extents (const vec2 &extent)
void fill_translations (const vec3 &translation)
void fill_rotations (const quat &rotation)
void fill_texcoords (const vec4 &texcoord)
void add (const vec3 &position, const ColorType &color)
Public Member Functions inherited from cgv::render::render_data_base< rectangle_renderer, rectangle_render_style, rgb >
size_t size ()
 Return the number of stored positions.
bool empty () const
 Return whether this render data is empty.
void clear ()
 Clear the stored data and set state out of date.
void set_out_of_date ()
 Notify the render data about state changes.
size_t render_count ()
 Return the number of vertices that will be rendered.
const attribute_array_manager & ref_attribute_array_manager () const
 Constant access to the private attribute_array_manager.
bool init (context &ctx)
 Initialize the attribute array manager and increase the reference count of the used renderer singleton.
void destruct (context &ctx)
 Destruct the attribute array manager and decrease the reference count of the used renderer singleton.
void early_transfer (context &ctx, rectangle_renderer &r)
 Perform a transfer of the stored data to the attribute_array right now.
bool enable (context &ctx, rectangle_renderer &r, const rectangle_render_style &s)
 Enable the render data for rendering.
bool disable (context &ctx, rectangle_renderer &r)
 Disable the renderer and attribute_array.
void draw (context &ctx, renderer &r, unsigned offset=0, int count=-1)
 Draw the stored geometry using the given renderer.
void render (context &ctx, unsigned offset=0, int count=-1)
 Render the stored geometry.
void add_index (const uint32_t index)
void add_position (const vec3 &position)
void add_color (const rgb &color)
void add (const vec3 &position, const rgb &color)
void fill_colors (const rgb &color)

Public Attributes

std::vector< ColorType > secondary_colors
 array of secondary colors
std::vector< ColorType > border_colors
 array of border colors
std::vector< vec2 > extents
 array of extents
std::vector< vec3 > translations
 array of translations
std::vector< quat > rotations
 array of rotations
std::vector< vec4 > texcoords
 array of texcoords
cgv::data::optional< ColorType > const_secondary_color
 optional constant secondary color used for all elements
cgv::data::optional< ColorType > const_border_color
 optional constant border color used for all elements
cgv::data::optional< vec2 > const_extent
 optional constant extent used for all elements
cgv::data::optional< vec3 > const_translation
 optional constant translation used for all elements
cgv::data::optional< quat > const_rotation
 optional constant rotation used for all elements
cgv::data::optional< vec4 > const_texcoord
 optional constant texcoord used for all elements
Public Attributes inherited from cgv::render::render_data_base< rectangle_renderer, rectangle_render_style, rgb >
rectangle_render_style style
 the default render style
std::vector< uint32_t > indices
 array of indices used for optional indexed rendering
std::vector< vec3 > positions
 array of positions
std::vector< rgb > colors
 array of colors
cgv::data::optional< rgb > const_color
 optional constant color used for all elements

Protected Member Functions

bool transfer (context &ctx, rectangle_renderer &r) override
 See render_data_base::transfer.
void set_const_attributes (context &ctx, rectangle_renderer &r) override
 See render_data_base::set_const_attributes.
Protected Member Functions inherited from cgv::render::render_data_base< rectangle_renderer, rectangle_render_style, rgb >
void fill (std::vector< T > &vector, const T &value)
 Template for filling a member array to the size of the render data.

Detailed Description

template<typename ColorType = rgb>
class cgv::render::rectangle_render_data< ColorType >

Render data for rectangle geometry with support for the rectangle_renderer.

See render_data_base.

Template Parameters
ColorTypeThe type used to represent colors. Must be cgv::render::rgb or cgv::render::rgba.

Definition at line 12 of file rectangle_render_data.h.

Member Function Documentation

◆ add() [1/6]

template<typename ColorType = rgb>
void cgv::render::render_data_base< rectangle_renderer, rectangle_render_style, ColorType >::add ( const vec3 & position,
const ColorType & color )
inline

Definition at line 362 of file render_data_base.h.

◆ add() [2/6]

template<typename ColorType = rgb>
void cgv::render::rectangle_render_data< ColorType >::add ( const vec3 & position,
const ColorType & color,
const vec2 & extent )
inline

Definition at line 127 of file rectangle_render_data.h.

◆ add() [3/6]

template<typename ColorType = rgb>
void cgv::render::rectangle_render_data< ColorType >::add ( const vec3 & position,
const vec2 & extent )
inline

Definition at line 117 of file rectangle_render_data.h.

◆ add() [4/6]

template<typename ColorType = rgb>
void cgv::render::rectangle_render_data< ColorType >::add ( const vec3 & position,
const vec2 & extent,
const quat & rotation )
inline

Definition at line 132 of file rectangle_render_data.h.

◆ add() [5/6]

template<typename ColorType = rgb>
void cgv::render::rectangle_render_data< ColorType >::add ( const vec3 & position,
const vec4 & texcoord )
inline

Definition at line 122 of file rectangle_render_data.h.

◆ add() [6/6]

template<typename ColorType = rgb>
void cgv::render::rectangle_render_data< ColorType >::add ( const vec3 & translation,
const quat & rotation )
inline

Definition at line 138 of file rectangle_render_data.h.

◆ add_border_color()

template<typename ColorType = rgb>
void cgv::render::rectangle_render_data< ColorType >::add_border_color ( const ColorType & color)
inline

Definition at line 94 of file rectangle_render_data.h.

◆ add_extent()

template<typename ColorType = rgb>
void cgv::render::rectangle_render_data< ColorType >::add_extent ( const vec2 & extent)
inline

Definition at line 98 of file rectangle_render_data.h.

◆ add_rotation()

template<typename ColorType = rgb>
void cgv::render::rectangle_render_data< ColorType >::add_rotation ( const quat & rotation)
inline

Definition at line 106 of file rectangle_render_data.h.

◆ add_secondary_color()

template<typename ColorType = rgb>
void cgv::render::rectangle_render_data< ColorType >::add_secondary_color ( const ColorType & color)
inline

Definition at line 90 of file rectangle_render_data.h.

◆ add_texcoord()

template<typename ColorType = rgb>
void cgv::render::rectangle_render_data< ColorType >::add_texcoord ( const vec4 & texcoord)
inline

Definition at line 110 of file rectangle_render_data.h.

◆ add_translation()

template<typename ColorType = rgb>
void cgv::render::rectangle_render_data< ColorType >::add_translation ( const vec3 & translation)
inline

Definition at line 102 of file rectangle_render_data.h.

◆ clear()

template<typename ColorType = rgb>
void cgv::render::rectangle_render_data< ColorType >::clear ( )
inline

Definition at line 80 of file rectangle_render_data.h.

◆ fill_border_colors()

template<typename ColorType = rgb>
void cgv::render::rectangle_render_data< ColorType >::fill_border_colors ( const ColorType & color)
inline

Definition at line 147 of file rectangle_render_data.h.

◆ fill_extents()

template<typename ColorType = rgb>
void cgv::render::rectangle_render_data< ColorType >::fill_extents ( const vec2 & extent)
inline

Definition at line 151 of file rectangle_render_data.h.

◆ fill_rotations()

template<typename ColorType = rgb>
void cgv::render::rectangle_render_data< ColorType >::fill_rotations ( const quat & rotation)
inline

Definition at line 159 of file rectangle_render_data.h.

◆ fill_secondary_colors()

template<typename ColorType = rgb>
void cgv::render::rectangle_render_data< ColorType >::fill_secondary_colors ( const ColorType & color)
inline

Definition at line 143 of file rectangle_render_data.h.

◆ fill_texcoords()

template<typename ColorType = rgb>
void cgv::render::rectangle_render_data< ColorType >::fill_texcoords ( const vec4 & texcoord)
inline

Definition at line 163 of file rectangle_render_data.h.

◆ fill_translations()

template<typename ColorType = rgb>
void cgv::render::rectangle_render_data< ColorType >::fill_translations ( const vec3 & translation)
inline

Definition at line 155 of file rectangle_render_data.h.

◆ set_const_attributes()

◆ transfer()

Member Data Documentation

◆ border_colors

template<typename ColorType = rgb>
std::vector<ColorType> cgv::render::rectangle_render_data< ColorType >::border_colors

array of border colors

Definition at line 57 of file rectangle_render_data.h.

Referenced by set_const_attributes(), and transfer().

◆ const_border_color

template<typename ColorType = rgb>
cgv::data::optional<ColorType> cgv::render::rectangle_render_data< ColorType >::const_border_color

optional constant border color used for all elements

Definition at line 70 of file rectangle_render_data.h.

Referenced by set_const_attributes().

◆ const_extent

template<typename ColorType = rgb>
cgv::data::optional<vec2> cgv::render::rectangle_render_data< ColorType >::const_extent

optional constant extent used for all elements

Definition at line 72 of file rectangle_render_data.h.

Referenced by set_const_attributes().

◆ const_rotation

template<typename ColorType = rgb>
cgv::data::optional<quat> cgv::render::rectangle_render_data< ColorType >::const_rotation

optional constant rotation used for all elements

Definition at line 76 of file rectangle_render_data.h.

Referenced by set_const_attributes().

◆ const_secondary_color

template<typename ColorType = rgb>
cgv::data::optional<ColorType> cgv::render::rectangle_render_data< ColorType >::const_secondary_color

optional constant secondary color used for all elements

Definition at line 68 of file rectangle_render_data.h.

Referenced by set_const_attributes().

◆ const_texcoord

template<typename ColorType = rgb>
cgv::data::optional<vec4> cgv::render::rectangle_render_data< ColorType >::const_texcoord

optional constant texcoord used for all elements

Definition at line 78 of file rectangle_render_data.h.

Referenced by set_const_attributes().

◆ const_translation

template<typename ColorType = rgb>
cgv::data::optional<vec3> cgv::render::rectangle_render_data< ColorType >::const_translation

optional constant translation used for all elements

Definition at line 74 of file rectangle_render_data.h.

Referenced by set_const_attributes().

◆ extents

template<typename ColorType = rgb>
std::vector<vec2> cgv::render::rectangle_render_data< ColorType >::extents

array of extents

Definition at line 59 of file rectangle_render_data.h.

Referenced by set_const_attributes(), and transfer().

◆ rotations

template<typename ColorType = rgb>
std::vector<quat> cgv::render::rectangle_render_data< ColorType >::rotations

array of rotations

Definition at line 63 of file rectangle_render_data.h.

Referenced by set_const_attributes(), and transfer().

◆ secondary_colors

template<typename ColorType = rgb>
std::vector<ColorType> cgv::render::rectangle_render_data< ColorType >::secondary_colors

array of secondary colors

Definition at line 55 of file rectangle_render_data.h.

Referenced by set_const_attributes(), and transfer().

◆ texcoords

template<typename ColorType = rgb>
std::vector<vec4> cgv::render::rectangle_render_data< ColorType >::texcoords

array of texcoords

Definition at line 65 of file rectangle_render_data.h.

Referenced by set_const_attributes(), and transfer().

◆ translations

template<typename ColorType = rgb>
std::vector<vec3> cgv::render::rectangle_render_data< ColorType >::translations

array of translations

Definition at line 61 of file rectangle_render_data.h.

Referenced by set_const_attributes(), and transfer().


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