Encapsulates the data from a GeomVertexData, pre-fetched for one stage of the pipeline. More...
#include "geomVertexData.h"
Public Member Functions | |
GeomVertexDataPipelineWriter (GeomVertexData *object, bool force_to_0, Thread *current_thread) | |
void | check_array_writers () const |
void | copy_row_from (int dest_row, const GeomVertexDataPipelineReader &source, int source_row) |
Copies a single row of the data from the other array into the indicated row of this array. More... | |
GeomVertexArrayDataHandle * | get_array_writer (size_t i) const |
int | get_num_rows () const |
GeomVertexData * | get_object () const |
PT (GeomVertexArrayData) modify_array(size_t i) | |
bool | reserve_num_rows (int n) |
void | set_array (size_t i, const GeomVertexArrayData *array) |
bool | set_num_rows (int n) |
bool | unclean_set_num_rows (int n) |
Public Member Functions inherited from GeomVertexDataPipelineBase | |
GeomVertexDataPipelineBase (const GeomVertexDataPipelineBase ©)=delete | |
CPT (GeomVertexArrayData) get_array(size_t i) const | |
CPT (TransformBlendTable) get_transform_blend_table() const | |
Thread * | get_current_thread () const |
const GeomVertexFormat * | get_format () const |
UpdateSeq | get_modified () const |
size_t | get_num_arrays () const |
int | get_num_bytes () const |
const SliderTable * | get_slider_table () const |
const TransformTable * | get_transform_table () const |
UsageHint | get_usage_hint () const |
bool | has_column (const InternalName *name) const |
GeomVertexDataPipelineBase & | operator= (const GeomVertexDataPipelineBase ©)=delete |
Static Public Member Functions | |
static TypeHandle | get_class_type () |
static void | init_type () |
Additional Inherited Members | |
Public Types inherited from GeomEnums | |
enum | AnimationType { AT_none, AT_panda, AT_hardware } |
enum | Contents { C_other, C_point, C_clip_point, C_vector, C_texcoord, C_color, C_index, C_morph_delta, C_matrix, C_normal } |
enum | GeomRendering { GR_indexed_point = 0x00001, GR_indexed_other = 0x10000, GR_indexed_bits = 0x10001, GR_point = 0x00002, GR_point_uniform_size = 0x00004, GR_per_point_size = 0x00008, GR_point_perspective = 0x00010, GR_point_aspect_ratio = 0x00020, GR_point_scale = 0x00040, GR_point_rotate = 0x00080, GR_point_sprite = 0x00100, GR_point_sprite_tex_matrix = 0x00200, GR_point_bits = 0x003fe, GR_triangle_strip = 0x00400, GR_triangle_fan = 0x00800, GR_line_strip = 0x01000, GR_composite_bits = 0x01c00, GR_strip_cut_index = 0x20000, GR_flat_first_vertex = 0x02000, GR_flat_last_vertex = 0x04000, GR_shade_model_bits = 0x06000, GR_render_mode_wireframe = 0x40000, GR_render_mode_point = 0x80000, GR_adjacency = 0x100000 } |
enum | NumericType { NT_uint8, NT_uint16, NT_uint32, NT_packed_dcba, NT_packed_dabc, NT_float32, NT_float64, NT_stdfloat, NT_int8, NT_int16, NT_int32, NT_packed_ufloat } |
enum | PrimitiveType { PT_none, PT_polygons, PT_lines, PT_points, PT_patches } |
enum | ShadeModel { SM_uniform, SM_smooth, SM_flat_first_vertex, SM_flat_last_vertex } |
enum | UsageHint { UH_client, UH_stream, UH_dynamic, UH_static, UH_unspecified } |
Encapsulates the data from a GeomVertexData, pre-fetched for one stage of the pipeline.
Does not hold a reference to the GeomVertexData, so make sure it does not go out of scope.
Definition at line 508 of file geomVertexData.h.
void GeomVertexDataPipelineWriter::copy_row_from | ( | int | dest_row, |
const GeomVertexDataPipelineReader & | source, | ||
int | source_row | ||
) |
Copies a single row of the data from the other array into the indicated row of this array.
In this case, the source format must exactly match the destination format.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.
Definition at line 2594 of file geomVertexData.cxx.
Referenced by GeomVertexData::copy_row_from().