Panda3D

Loading...
Searching...
No Matches
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:

## 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
PointerTo< 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
ConstPointerTo< GeomVertexArrayData > | get_array (size_t i) 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
ConstPointerTo< TransformBlendTable > | get_transform_blend_table () const
const TransformTable * | get_transform_table () const
UsageHint | get_usage_hint () const
bool | has_column (const InternalName *name) const
GeomVertexDataPipelineBase & | operator= (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.

## Constructor & Destructor Documentation

## ◆ GeomVertexDataPipelineWriter()

GeomVertexDataPipelineWriter::GeomVertexDataPipelineWriter | ( | GeomVertexData * | object,
|  | bool | force_to_0,
|  | Thread * | current_thread )
| inline

Definition at line 849 of file geomVertexData.I.

## ◆ ~GeomVertexDataPipelineWriter()

GeomVertexDataPipelineWriter::~GeomVertexDataPipelineWriter | ( |  | ) |
| inline

Definition at line 867 of file geomVertexData.I.

## Member Function Documentation

## ◆ check_array_writers()

void GeomVertexDataPipelineWriter::check_array_writers | ( |  | ) | const
| inline

Definition at line 886 of file geomVertexData.I.

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

## ◆ get_array_writer()

GeomVertexArrayDataHandle * GeomVertexDataPipelineWriter::get_array_writer | ( | size_t | i | ) | const
| inline

Definition at line 896 of file geomVertexData.I.

## ◆ get_class_type()

static TypeHandle GeomVertexDataPipelineWriter::get_class_type | ( |  | ) |
| inline static

Definition at line 541 of file geomVertexData.h.

## ◆ get_num_rows()

int GeomVertexDataPipelineWriter::get_num_rows | ( |  | ) | const

Definition at line 2400 of file geomVertexData.cxx.

## ◆ get_object()

GeomVertexData * GeomVertexDataPipelineWriter::get_object | ( |  | ) | const
| inline

Definition at line 878 of file geomVertexData.I.

## ◆ init_type()

static void GeomVertexDataPipelineWriter::init_type | ( |  | ) |
| inline static

Definition at line 544 of file geomVertexData.h.

## ◆ modify_array()

PointerTo< GeomVertexArrayData > GeomVertexDataPipelineWriter::modify_array | ( | size_t | i | ) |

Definition at line 2560 of file geomVertexData.cxx.

## ◆ reserve_num_rows()

bool GeomVertexDataPipelineWriter::reserve_num_rows | ( | int | n | ) |

Definition at line 2541 of file geomVertexData.cxx.

## ◆ set_array()

void GeomVertexDataPipelineWriter::set_array | ( | size_t | i,
|  | const GeomVertexArrayData * | array )

Definition at line 2581 of file geomVertexData.cxx.

## ◆ set_num_rows()

bool GeomVertexDataPipelineWriter::set_num_rows | ( | int | n | ) |

Definition at line 2418 of file geomVertexData.cxx.

## ◆ unclean_set_num_rows()

bool GeomVertexDataPipelineWriter::unclean_set_num_rows | ( | int | n | ) |

Definition at line 2514 of file geomVertexData.cxx.

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

- panda/src/gobj/geomVertexData.h
- panda/src/gobj/geomVertexData.cxx
- panda/src/gobj/geomVertexData.I