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

Render data for sphere geometry with support for the sphere_renderer. More...

#include <sphere_render_data.h>

Inheritance diagram for cgv::render::sphere_render_data< ColorType >:
cgv::render::render_data_base< RendererType, RenderStyleType, ColorType >

Public Member Functions

void clear ()
 
void add_radius (const float radius)
 
void add (const vec3 &position, const float radius)
 
void add (const vec3 &position, const ColorType &color, const float radius)
 
void fill_radii (const float radius)
 
void add (const vec3 &position, const ColorType &color)
 
- Public Member Functions inherited from cgv::render::render_data_base< RendererType, RenderStyleType, ColorType >
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_managerref_attribute_array_manager () const
 Constant access to the private attribute_array_manager.
 
bool init (context &ctx)
 Initialize the attribute array manager.
 
void destruct (context &ctx)
 Destruct the attribute array manager and decrease the reference count of the used renderer.
 
void early_transfer (context &ctx, RendererType &r)
 Perform a transfer of the stored data to the attribute_array right now.
 
bool enable (context &ctx, RendererType &r, const RenderStyleType &s)
 Enable the render data for rendering.
 
bool disable (context &ctx, RendererType &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 render (context &ctx, const RenderStyleType &s, unsigned offset=0, int count=-1)
 Render the stored geometry using the given style.
 
void render (context &ctx, RendererType &r, unsigned offset=0, int count=-1)
 Render the stored geometry using the given renderer.
 
void render (context &ctx, RendererType &r, const RenderStyleType &s, unsigned offset=0, int count=-1)
 Render the stored geometry using the given renderer and style.
 
void add_index (const uint32_t index)
 
void add_position (const vec3 &position)
 
void add_color (const ColorType &color)
 
void add (const vec3 &position, const ColorType &color)
 
void fill_colors (const ColorType &color)
 

Public Attributes

std::vector< float > radii
 array of radii
 
- Public Attributes inherited from cgv::render::render_data_base< RendererType, RenderStyleType, ColorType >
RenderStyleType style
 the default render style
 
std::vector< uint32_t > indices
 array of indices used for optional indexed rendering
 
std::vector< vec3positions
 array of positions
 
std::vector< ColorType > colors
 array of colors
 
cgv::data::optional< ColorType > const_color
 optional constant color used for all elements
 

Protected Member Functions

bool transfer (context &ctx, sphere_renderer &r) override
 See render_data_base::transfer.
 
- Protected Member Functions inherited from cgv::render::render_data_base< RendererType, RenderStyleType, ColorType >
virtual bool transfer (context &ctx, RendererType &r)
 Transfers the data stored in members to the attribute array.
 
virtual void set_const_attributes (context &ctx, RendererType &r)
 Set constant vertex attributes if present.
 
template<typename T >
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::sphere_render_data< ColorType >

Render data for sphere geometry with support for the sphere_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 sphere_render_data.h.

Member Function Documentation

◆ add() [1/3]

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

Definition at line 362 of file render_data_base.h.

◆ add() [2/3]

template<typename ColorType = rgb>
void cgv::render::sphere_render_data< ColorType >::add ( const vec3 position,
const ColorType &  color,
const float  radius 
)
inline

Definition at line 52 of file sphere_render_data.h.

◆ add() [3/3]

template<typename ColorType = rgb>
void cgv::render::sphere_render_data< ColorType >::add ( const vec3 position,
const float  radius 
)
inline

Definition at line 47 of file sphere_render_data.h.

◆ add_radius()

template<typename ColorType = rgb>
void cgv::render::sphere_render_data< ColorType >::add_radius ( const float  radius)
inline

Definition at line 40 of file sphere_render_data.h.

◆ clear()

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

Definition at line 35 of file sphere_render_data.h.

◆ fill_radii()

template<typename ColorType = rgb>
void cgv::render::sphere_render_data< ColorType >::fill_radii ( const float  radius)
inline

Definition at line 57 of file sphere_render_data.h.

◆ transfer()

template<typename ColorType = rgb>
bool cgv::render::sphere_render_data< ColorType >::transfer ( context ctx,
sphere_renderer r 
)
inlineoverrideprotected

Member Data Documentation

◆ radii

template<typename ColorType = rgb>
std::vector<float> cgv::render::sphere_render_data< ColorType >::radii

array of radii

Definition at line 33 of file sphere_render_data.h.

Referenced by cgv::render::sphere_render_data< ColorType >::transfer().


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