Panda3D
|
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. | |
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) |
![]() | |
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 | |
![]() | |
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.
|
inline |
Definition at line 849 of file geomVertexData.I.
|
inline |
Definition at line 867 of file geomVertexData.I.
|
inline |
Definition at line 886 of file geomVertexData.I.
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 2602 of file geomVertexData.cxx.
References GeomVertexFormat::get_array, GeomVertexData::get_format, GeomVertexFormat::get_num_arrays, GeomVertexData::get_num_rows(), GeomVertexArrayDataHandle::get_read_pointer(), GeomVertexArrayFormat::get_stride, GeomVertexArrayDataHandle::get_write_pointer(), and GeomVertexData::set_num_rows().
Referenced by GeomVertexData::copy_row_from(), and GeomPrimitive::make_nonindexed().
|
inline |
Definition at line 896 of file geomVertexData.I.
|
inlinestatic |
Definition at line 541 of file geomVertexData.h.
int GeomVertexDataPipelineWriter::get_num_rows | ( | ) | const |
Definition at line 2400 of file geomVertexData.cxx.
|
inline |
Definition at line 878 of file geomVertexData.I.
|
inlinestatic |
Definition at line 544 of file geomVertexData.h.
bool GeomVertexDataPipelineWriter::reserve_num_rows | ( | int | n | ) |
Definition at line 2541 of file geomVertexData.cxx.
void GeomVertexDataPipelineWriter::set_array | ( | size_t | i, |
const GeomVertexArrayData * | array ) |
Definition at line 2581 of file geomVertexData.cxx.
bool GeomVertexDataPipelineWriter::set_num_rows | ( | int | n | ) |
Definition at line 2418 of file geomVertexData.cxx.
bool GeomVertexDataPipelineWriter::unclean_set_num_rows | ( | int | n | ) |
Definition at line 2514 of file geomVertexData.cxx.