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

Render data for ellipsoid geometry with support for the ellipsoid_renderer. More...

#include <ellipsoid_render_data.h>

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

Public Member Functions

void clear ()
 
void add_size (const cgv::vec3 &size)
 
void add_orientation (const cgv::quat &orientation)
 
void add (const vec3 &position, const cgv::vec3 &size)
 
void add (const vec3 &position, const ColorType &color, const cgv::vec3 &size)
 
void add (const vec3 &position, const cgv::vec3 &size, const quat &rotation)
 
void add (const vec3 &position, const ColorType &color, const cgv::vec3 &size, const quat &rotation)
 
void fill_sizes (const cgv::vec3 &size)
 
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< cgv::vec3sizes
 array of sizes
 
std::vector< cgv::quatorientations
 array of orientations
 
- 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, ellipsoid_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::ellipsoid_render_data< ColorType >

Render data for ellipsoid geometry with support for the ellipsoid_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 ellipsoid_render_data.h.

Member Function Documentation

◆ add() [1/5]

template<typename ColorType = rgb>
void cgv::render::ellipsoid_render_data< ColorType >::add ( const vec3 position,
const cgv::vec3 size 
)
inline

Definition at line 55 of file ellipsoid_render_data.h.

◆ add() [2/5]

template<typename ColorType = rgb>
void cgv::render::ellipsoid_render_data< ColorType >::add ( const vec3 position,
const cgv::vec3 size,
const quat rotation 
)
inline

Definition at line 65 of file ellipsoid_render_data.h.

◆ add() [3/5]

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() [4/5]

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

Definition at line 60 of file ellipsoid_render_data.h.

◆ add() [5/5]

template<typename ColorType = rgb>
void cgv::render::ellipsoid_render_data< ColorType >::add ( const vec3 position,
const ColorType &  color,
const cgv::vec3 size,
const quat rotation 
)
inline

Definition at line 71 of file ellipsoid_render_data.h.

◆ add_orientation()

template<typename ColorType = rgb>
void cgv::render::ellipsoid_render_data< ColorType >::add_orientation ( const cgv::quat orientation)
inline

Definition at line 48 of file ellipsoid_render_data.h.

◆ add_size()

template<typename ColorType = rgb>
void cgv::render::ellipsoid_render_data< ColorType >::add_size ( const cgv::vec3 size)
inline

Definition at line 44 of file ellipsoid_render_data.h.

◆ clear()

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

Definition at line 38 of file ellipsoid_render_data.h.

◆ fill_sizes()

template<typename ColorType = rgb>
void cgv::render::ellipsoid_render_data< ColorType >::fill_sizes ( const cgv::vec3 size)
inline

Definition at line 77 of file ellipsoid_render_data.h.

◆ transfer()

Member Data Documentation

◆ orientations

template<typename ColorType = rgb>
std::vector<cgv::quat> cgv::render::ellipsoid_render_data< ColorType >::orientations

array of orientations

Definition at line 36 of file ellipsoid_render_data.h.

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

◆ sizes

template<typename ColorType = rgb>
std::vector<cgv::vec3> cgv::render::ellipsoid_render_data< ColorType >::sizes

array of sizes

Definition at line 34 of file ellipsoid_render_data.h.

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


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