Panda3D
Public Member Functions | Static Public Member Functions | List of all members
GeomVertexDataPipelineWriter Class Reference

Encapsulates the data from a GeomVertexData, pre-fetched for one stage of the pipeline. More...

#include "geomVertexData.h"

Inheritance diagram for GeomVertexDataPipelineWriter:
GeomVertexDataPipelineBase GeomEnums

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...
 
GeomVertexArrayDataHandleget_array_writer (size_t i) const
 
int get_num_rows () const
 
GeomVertexDataget_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 &copy)=delete
 
 CPT (GeomVertexArrayData) get_array(size_t i) const
 
 CPT (TransformBlendTable) get_transform_blend_table() const
 
Threadget_current_thread () const
 
const GeomVertexFormatget_format () const
 
UpdateSeq get_modified () const
 
size_t get_num_arrays () const
 
int get_num_bytes () const
 
const SliderTableget_slider_table () const
 
const TransformTableget_transform_table () const
 
UsageHint get_usage_hint () const
 
bool has_column (const InternalName *name) const
 
GeomVertexDataPipelineBaseoperator= (const GeomVertexDataPipelineBase &copy)=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
}
 

Detailed Description

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.

Member Function Documentation

◆ copy_row_from()

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().


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