Panda3D
Public Member Functions | List of all members
GeomVertexRewriter Class Reference

This object provides the functionality of both a GeomVertexReader and a GeomVertexWriter, combined together into one convenient package. More...

#include "geomVertexRewriter.h"

Inheritance diagram for GeomVertexRewriter:
GeomVertexWriter GeomVertexReader GeomEnums GeomEnums

Public Member Functions

 GeomVertexRewriter (Thread *current_thread=Thread::get_current_thread())
 Constructs an invalid GeomVertexRewriter. More...
 
 GeomVertexRewriter (GeomVertexData *vertex_data, Thread *current_thread=Thread::get_current_thread())
 Constructs a new rewriter to process the vertices of the indicated data object. More...
 
 GeomVertexRewriter (GeomVertexData *vertex_data, CPT_InternalName name, Thread *current_thread=Thread::get_current_thread())
 Constructs a new rewriter to process the vertices of the indicated data object. More...
 
 GeomVertexRewriter (GeomVertexArrayData *array_data, Thread *current_thread=Thread::get_current_thread())
 Constructs a new rewriter to process the vertices of the indicated array only. More...
 
 GeomVertexRewriter (GeomVertexArrayData *array_data, int column, Thread *current_thread=Thread::get_current_thread())
 Constructs a new rewriter to process the vertices of the indicated array only. More...
 
 GeomVertexRewriter (const GeomVertexRewriter &copy)
 
void clear ()
 Resets the GeomVertexRewriter to the initial state. More...
 
int get_array () const
 Returns the array index containing the data type that the rewriter is working on. More...
 
GeomVertexArrayDataget_array_data () const
 Returns the particular array object that the rewriter is currently processing. More...
 
GeomVertexArrayDataHandleget_array_handle () const
 Returns the write handle to the array object that the rewriter is currently processing. More...
 
const GeomVertexColumnget_column () const
 Returns the description of the data type that the rewriter is working on. More...
 
Threadget_current_thread () const
 Returns the Thread pointer of the currently-executing thread, as passed to the constructor of this object. More...
 
int get_start_row () const
 Returns the row index at which the rewriter started. More...
 
size_t get_stride () const
 Returns the per-row stride (bytes between consecutive rows) of the underlying vertex array. More...
 
GeomVertexDataget_vertex_data () const
 Returns the vertex data object that the rewriter is processing. More...
 
bool has_column () const
 Returns true if a valid data type has been successfully set, or false if the data type does not exist. More...
 
bool is_at_end () const
 Returns true if the reader or writer is currently at the end of the list of vertices, false otherwise. More...
 
void operator= (const GeomVertexRewriter &copy)
 
void output (std::ostream &out) const
 
bool set_column (int column)
 Sets up the rewriter to use the nth data type of the GeomVertexFormat, numbering from 0. More...
 
bool set_column (CPT_InternalName name)
 Sets up the rewriter to use the data type with the indicated name. More...
 
bool set_column (int array, const GeomVertexColumn *column)
 Sets up the rewriter to use the indicated column description on the given array. More...
 
void set_row (int row)
 Sets the start, write, and write index to the indicated value. More...
 
void set_row_unsafe (int row)
 Sets the start row to the indicated value, without internal checks. More...
 
- Public Member Functions inherited from GeomVertexWriter
 GeomVertexWriter (Thread *current_thread=Thread::get_current_thread())
 Constructs an invalid GeomVertexWriter. More...
 
 GeomVertexWriter (GeomVertexData *vertex_data, Thread *current_thread=Thread::get_current_thread())
 Constructs a new writer to process the vertices of the indicated data object. More...
 
 GeomVertexWriter (GeomVertexData *vertex_data, CPT_InternalName name, Thread *current_thread=Thread::get_current_thread())
 Constructs a new writer to process the vertices of the indicated data object. More...
 
 GeomVertexWriter (GeomVertexArrayData *array_data, Thread *current_thread=Thread::get_current_thread())
 Constructs a new writer to process the vertices of the indicated array only. More...
 
 GeomVertexWriter (GeomVertexArrayData *array_data, int column, Thread *current_thread=Thread::get_current_thread())
 Constructs a new writer to process the vertices of the indicated array only. More...
 
 GeomVertexWriter (GeomVertexDataPipelineWriter *data_writer, const InternalName *name)
 Constructs a new writer to process the vertices of the indicated data object. More...
 
 GeomVertexWriter (const GeomVertexWriter &copy)
 
void add_data1 (PN_stdfloat data)
 Sets the write row to a particular 1-component value, and advances the write row. More...
 
void add_data1d (double data)
 Sets the write row to a particular 1-component value, and advances the write row. More...
 
void add_data1f (float data)
 Sets the write row to a particular 1-component value, and advances the write row. More...
 
void add_data1i (int data)
 Sets the write row to a particular 1-component value, and advances the write row. More...
 
void add_data2 (PN_stdfloat x, PN_stdfloat y)
 Sets the write row to a particular 2-component value, and advances the write row. More...
 
void add_data2 (const LVecBase2 &data)
 Sets the write row to a particular 2-component value, and advances the write row. More...
 
void add_data2d (double x, double y)
 Sets the write row to a particular 2-component value, and advances the write row. More...
 
void add_data2d (const LVecBase2d &data)
 Sets the write row to a particular 2-component value, and advances the write row. More...
 
void add_data2f (float x, float y)
 Sets the write row to a particular 2-component value, and advances the write row. More...
 
void add_data2f (const LVecBase2f &data)
 Sets the write row to a particular 2-component value, and advances the write row. More...
 
void add_data2i (int a, int b)
 Sets the write row to a particular 2-component value, and advances the write row. More...
 
void add_data2i (const LVecBase2i &data)
 Sets the write row to a particular 2-component value, and advances the write row. More...
 
void add_data3 (PN_stdfloat x, PN_stdfloat y, PN_stdfloat z)
 Sets the write row to a particular 3-component value, and advances the write row. More...
 
void add_data3 (const LVecBase3 &data)
 Sets the write row to a particular 3-component value, and advances the write row. More...
 
void add_data3d (double x, double y, double z)
 Sets the write row to a particular 3-component value, and advances the write row. More...
 
void add_data3d (const LVecBase3d &data)
 Sets the write row to a particular 3-component value, and advances the write row. More...
 
void add_data3f (float x, float y, float z)
 Sets the write row to a particular 3-component value, and advances the write row. More...
 
void add_data3f (const LVecBase3f &data)
 Sets the write row to a particular 3-component value, and advances the write row. More...
 
void add_data3i (int a, int b, int c)
 Sets the write row to a particular 3-component value, and advances the write row. More...
 
void add_data3i (const LVecBase3i &data)
 Sets the write row to a particular 3-component value, and advances the write row. More...
 
void add_data4 (PN_stdfloat x, PN_stdfloat y, PN_stdfloat z, PN_stdfloat w)
 Sets the write row to a particular 4-component value, and advances the write row. More...
 
void add_data4 (const LVecBase4 &data)
 Sets the write row to a particular 4-component value, and advances the write row. More...
 
void add_data4d (double x, double y, double z, double w)
 Sets the write row to a particular 4-component value, and advances the write row. More...
 
void add_data4d (const LVecBase4d &data)
 Sets the write row to a particular 4-component value, and advances the write row. More...
 
void add_data4f (float x, float y, float z, float w)
 Sets the write row to a particular 4-component value, and advances the write row. More...
 
void add_data4f (const LVecBase4f &data)
 Sets the write row to a particular 4-component value, and advances the write row. More...
 
void add_data4i (int a, int b, int c, int d)
 Sets the write row to a particular 4-component value, and advances the write row. More...
 
void add_data4i (const LVecBase4i &data)
 Sets the write row to a particular 4-component value, and advances the write row. More...
 
void add_matrix3 (const LMatrix3 &mat)
 Sets the write row to a 3-by-3 matrix, and advances the write row. More...
 
void add_matrix3d (const LMatrix3d &mat)
 Sets the write row to a 3-by-3 matrix, and advances the write row. More...
 
void add_matrix3f (const LMatrix3f &mat)
 Sets the write row to a 3-by-3 matrix, and advances the write row. More...
 
void add_matrix4 (const LMatrix4 &mat)
 Sets the write row to a 4-by-4 matrix, and advances the write row. More...
 
void add_matrix4d (const LMatrix4d &mat)
 Sets the write row to a 4-by-4 matrix, and advances the write row. More...
 
void add_matrix4f (const LMatrix4f &mat)
 Sets the write row to a 4-by-4 matrix, and advances the write row. More...
 
void clear ()
 Resets the GeomVertexWriter to the initial state. More...
 
int get_array () const
 Returns the array index containing the data type that the writer is working on. More...
 
GeomVertexArrayDataget_array_data () const
 Returns the particular array object that the writer is currently processing. More...
 
GeomVertexArrayDataHandleget_array_handle () const
 Returns the write handle to the array object that the writer is currently processing. More...
 
const GeomVertexColumnget_column () const
 Returns the description of the data type that the writer is working on. More...
 
Threadget_current_thread () const
 Returns the Thread pointer of the currently-executing thread, as passed to the constructor of this object. More...
 
int get_start_row () const
 Returns the row index at which the writer started. More...
 
size_t get_stride () const
 Returns the per-row stride (bytes between consecutive rows) of the underlying vertex array. More...
 
GeomVertexDataget_vertex_data () const
 Returns the vertex data object that the writer is processing. More...
 
int get_write_row () const
 Returns the row index to which the data will be written at the next call to set_data*() or add_data*(). More...
 
bool has_column () const
 Returns true if a valid data type has been successfully set, or false if the data type does not exist. More...
 
bool is_at_end () const
 Returns true if the writer is currently at the end of the list of vertices, false otherwise. More...
 
void operator= (const GeomVertexWriter &copy)
 
void output (std::ostream &out) const
 
bool reserve_num_rows (int num_rows)
 This ensures that enough memory space for num_rows is allocated, so that you may add up to num_rows rows without causing a new memory allocation. More...
 
bool set_column (int column)
 Sets up the writer to use the nth data type of the GeomVertexFormat, numbering from 0. More...
 
bool set_column (CPT_InternalName name)
 Sets up the writer to use the data type with the indicated name. More...
 
bool set_column (int array, const GeomVertexColumn *column)
 Sets up the writer to use the indicated column description on the given array. More...
 
void set_data1 (PN_stdfloat data)
 Sets the write row to a particular 1-component value, and advances the write row. More...
 
void set_data1d (double data)
 Sets the write row to a particular 1-component value, and advances the write row. More...
 
void set_data1f (float data)
 Sets the write row to a particular 1-component value, and advances the write row. More...
 
void set_data1i (int data)
 Sets the write row to a particular 1-component value, and advances the write row. More...
 
void set_data2 (PN_stdfloat x, PN_stdfloat y)
 Sets the write row to a particular 2-component value, and advances the write row. More...
 
void set_data2 (const LVecBase2 &data)
 Sets the write row to a particular 2-component value, and advances the write row. More...
 
void set_data2d (double x, double y)
 Sets the write row to a particular 2-component value, and advances the write row. More...
 
void set_data2d (const LVecBase2d &data)
 Sets the write row to a particular 2-component value, and advances the write row. More...
 
void set_data2f (float x, float y)
 Sets the write row to a particular 2-component value, and advances the write row. More...
 
void set_data2f (const LVecBase2f &data)
 Sets the write row to a particular 2-component value, and advances the write row. More...
 
void set_data2i (int a, int b)
 Sets the write row to a particular 2-component value, and advances the write row. More...
 
void set_data2i (const LVecBase2i &data)
 Sets the write row to a particular 2-component value, and advances the write row. More...
 
void set_data3 (PN_stdfloat x, PN_stdfloat y, PN_stdfloat z)
 Sets the write row to a particular 3-component value, and advances the write row. More...
 
void set_data3 (const LVecBase3 &data)
 Sets the write row to a particular 3-component value, and advances the write row. More...
 
void set_data3d (double x, double y, double z)
 Sets the write row to a particular 3-component value, and advances the write row. More...
 
void set_data3d (const LVecBase3d &data)
 Sets the write row to a particular 3-component value, and advances the write row. More...
 
void set_data3f (float x, float y, float z)
 Sets the write row to a particular 3-component value, and advances the write row. More...
 
void set_data3f (const LVecBase3f &data)
 Sets the write row to a particular 3-component value, and advances the write row. More...
 
void set_data3i (int a, int b, int c)
 Sets the write row to a particular 3-component value, and advances the write row. More...
 
void set_data3i (const LVecBase3i &data)
 Sets the write row to a particular 3-component value, and advances the write row. More...
 
void set_data4 (PN_stdfloat x, PN_stdfloat y, PN_stdfloat z, PN_stdfloat w)
 Sets the write row to a particular 4-component value, and advances the write row. More...
 
void set_data4 (const LVecBase4 &data)
 Sets the write row to a particular 4-component value, and advances the write row. More...
 
void set_data4d (double x, double y, double z, double w)
 Sets the write row to a particular 4-component value, and advances the write row. More...
 
void set_data4d (const LVecBase4d &data)
 Sets the write row to a particular 4-component value, and advances the write row. More...
 
void set_data4f (float x, float y, float z, float w)
 Sets the write row to a particular 4-component value, and advances the write row. More...
 
void set_data4f (const LVecBase4f &data)
 Sets the write row to a particular 4-component value, and advances the write row. More...
 
void set_data4i (int a, int b, int c, int d)
 Sets the write row to a particular 4-component value, and advances the write row. More...
 
void set_data4i (const LVecBase4i &data)
 Sets the write row to a particular 4-component value, and advances the write row. More...
 
void set_matrix3 (const LMatrix3 &mat)
 Sets the write row to a 3-by-3 matrix, and advances the write row. More...
 
void set_matrix3d (const LMatrix3d &mat)
 Sets the write row to a 3-by-3 matrix, and advances the write row. More...
 
void set_matrix3f (const LMatrix3f &mat)
 Sets the write row to a 3-by-3 matrix, and advances the write row. More...
 
void set_matrix4 (const LMatrix4 &mat)
 Sets the write row to a 4-by-4 matrix, and advances the write row. More...
 
void set_matrix4d (const LMatrix4d &mat)
 Sets the write row to a 4-by-4 matrix, and advances the write row. More...
 
void set_matrix4f (const LMatrix4f &mat)
 Sets the write row to a 4-by-4 matrix, and advances the write row. More...
 
void set_row (int row)
 Sets the start row to the indicated value. More...
 
void set_row_unsafe (int row)
 Sets the start row to the indicated value, without internal checks. More...
 
- Public Member Functions inherited from GeomVertexReader
 GeomVertexReader (Thread *current_thread=Thread::get_current_thread())
 Constructs an invalid GeomVertexReader. More...
 
 GeomVertexReader (const GeomVertexData *vertex_data, Thread *current_thread=Thread::get_current_thread())
 Constructs a new reader to process the vertices of the indicated data object. More...
 
 GeomVertexReader (const GeomVertexData *vertex_data, CPT_InternalName name, Thread *current_thread=Thread::get_current_thread())
 Constructs a new reader to process the vertices of the indicated data object. More...
 
 GeomVertexReader (const GeomVertexArrayData *array_data, Thread *current_thread=Thread::get_current_thread())
 Constructs a new reader to process the vertices of the indicated array only. More...
 
 GeomVertexReader (const GeomVertexArrayData *array_data, int column, Thread *current_thread=Thread::get_current_thread())
 Constructs a new reader to process the vertices of the indicated array only. More...
 
 GeomVertexReader (const GeomVertexDataPipelineReader *data_reader, const InternalName *name, bool force=true)
 Constructs a new reader to process the vertices of the indicated data object. More...
 
 GeomVertexReader (const GeomVertexReader &copy)
 
void clear ()
 Resets the GeomVertexReader to the initial state. More...
 
int get_array () const
 Returns the array index containing the data type that the reader is working on. More...
 
const GeomVertexArrayDataget_array_data () const
 Returns the particular array object that the reader is currently processing. More...
 
const GeomVertexArrayDataHandleget_array_handle () const
 Returns the read handle to the array object that the read is currently processing. More...
 
const GeomVertexColumnget_column () const
 Returns the description of the data type that the reader is working on. More...
 
Threadget_current_thread () const
 Returns the Thread pointer of the currently-executing thread, as passed to the constructor of this object. More...
 
PN_stdfloat get_data1 ()
 Returns the data associated with the read row, expressed as a 1-component value, and advances the read row. More...
 
double get_data1d ()
 Returns the data associated with the read row, expressed as a 1-component value, and advances the read row. More...
 
float get_data1f ()
 Returns the data associated with the read row, expressed as a 1-component value, and advances the read row. More...
 
int get_data1i ()
 Returns the data associated with the read row, expressed as a 1-component value, and advances the read row. More...
 
const LVecBase2 & get_data2 ()
 Returns the data associated with the read row, expressed as a 2-component value, and advances the read row. More...
 
const LVecBase2d & get_data2d ()
 Returns the data associated with the read row, expressed as a 2-component value, and advances the read row. More...
 
const LVecBase2f & get_data2f ()
 Returns the data associated with the read row, expressed as a 2-component value, and advances the read row. More...
 
const LVecBase2i & get_data2i ()
 Returns the data associated with the read row, expressed as a 2-component value, and advances the read row. More...
 
const LVecBase3 & get_data3 ()
 Returns the data associated with the read row, expressed as a 3-component value, and advances the read row. More...
 
const LVecBase3d & get_data3d ()
 Returns the data associated with the read row, expressed as a 3-component value, and advances the read row. More...
 
const LVecBase3f & get_data3f ()
 Returns the data associated with the read row, expressed as a 3-component value, and advances the read row. More...
 
const LVecBase3i & get_data3i ()
 Returns the data associated with the read row, expressed as a 3-component value, and advances the read row. More...
 
const LVecBase4 & get_data4 ()
 Returns the data associated with the read row, expressed as a 4-component value, and advances the read row. More...
 
const LVecBase4d & get_data4d ()
 Returns the data associated with the read row, expressed as a 4-component value, and advances the read row. More...
 
const LVecBase4f & get_data4f ()
 Returns the data associated with the read row, expressed as a 4-component value, and advances the read row. More...
 
const LVecBase4i & get_data4i ()
 Returns the data associated with the read row, expressed as a 4-component value, and advances the read row. More...
 
bool get_force () const
 Returns the value of the force flag. More...
 
LMatrix3 get_matrix3 ()
 Returns the 3-by-3 matrix associated with the read row and advances the read row. More...
 
LMatrix3d get_matrix3d ()
 Returns the 3-by-3 matrix associated with the read row and advances the read row. More...
 
LMatrix3f get_matrix3f ()
 Returns the 3-by-3 matrix associated with the read row and advances the read row. More...
 
LMatrix4 get_matrix4 ()
 Returns the 4-by-4 matrix associated with the read row and advances the read row. More...
 
LMatrix4d get_matrix4d ()
 Returns the 4-by-4 matrix associated with the read row and advances the read row. More...
 
LMatrix4f get_matrix4f ()
 Returns the 4-by-4 matrix associated with the read row and advances the read row. More...
 
int get_read_row () const
 Returns the row index from which the data will be retrieved by the next call to get_data*(). More...
 
int get_start_row () const
 Returns the row index at which the reader started. More...
 
size_t get_stride () const
 Returns the per-row stride (bytes between consecutive rows) of the underlying vertex array. More...
 
const GeomVertexDataget_vertex_data () const
 Returns the vertex data object that the reader is processing. More...
 
bool has_column () const
 Returns true if a valid data type has been successfully set, or false if the data type does not exist (or if get_force() is false and the vertex data is nonresident). More...
 
bool is_at_end () const
 Returns true if the reader is currently at the end of the list of vertices, false otherwise. More...
 
void operator= (const GeomVertexReader &copy)
 
void output (std::ostream &out) const
 
bool set_column (int column)
 Sets up the reader to use the nth data type of the GeomVertexFormat, numbering from 0. More...
 
bool set_column (CPT_InternalName name)
 Sets up the reader to use the data type with the indicated name. More...
 
bool set_column (int array, const GeomVertexColumn *column)
 Sets up the reader to use the indicated column description on the given array. More...
 
void set_force (bool force)
 Sets the value of the force flag. More...
 
void set_row (int row)
 Sets the start row to the indicated value. More...
 
void set_row_unsafe (int row)
 Sets the start row to the indicated value, without internal checks. More...
 

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

This object provides the functionality of both a GeomVertexReader and a GeomVertexWriter, combined together into one convenient package.

It is designed for making a single pass over a GeomVertexData object, modifying rows as it goes.

Although it doesn't provide any real performance benefit over using a separate reader and writer on the same data, it should probably be used in preference to a separate reader and writer, because it makes an effort to manage the reference counts properly between the reader and the writer to avoid accidentally dereferencing either array while recopying.

Definition at line 33 of file geomVertexRewriter.h.

Constructor & Destructor Documentation

◆ GeomVertexRewriter() [1/5]

GeomVertexRewriter::GeomVertexRewriter ( Thread current_thread = Thread::get_current_thread())
inline

Constructs an invalid GeomVertexRewriter.

You must use the assignment operator to assign a valid GeomVertexRewriter to this object before you can use it.

Definition at line 20 of file geomVertexRewriter.I.

◆ GeomVertexRewriter() [2/5]

GeomVertexRewriter::GeomVertexRewriter ( GeomVertexData vertex_data,
Thread current_thread = Thread::get_current_thread() 
)
inline

Constructs a new rewriter to process the vertices of the indicated data object.

Definition at line 31 of file geomVertexRewriter.I.

◆ GeomVertexRewriter() [3/5]

GeomVertexRewriter::GeomVertexRewriter ( GeomVertexData vertex_data,
CPT_InternalName  name,
Thread current_thread = Thread::get_current_thread() 
)
inline

Constructs a new rewriter to process the vertices of the indicated data object.

This flavor creates the rewriter specifically to process the named data type.

Definition at line 43 of file geomVertexRewriter.I.

References set_column().

◆ GeomVertexRewriter() [4/5]

GeomVertexRewriter::GeomVertexRewriter ( GeomVertexArrayData array_data,
Thread current_thread = Thread::get_current_thread() 
)
inline

Constructs a new rewriter to process the vertices of the indicated array only.

Definition at line 56 of file geomVertexRewriter.I.

◆ GeomVertexRewriter() [5/5]

GeomVertexRewriter::GeomVertexRewriter ( GeomVertexArrayData array_data,
int  column,
Thread current_thread = Thread::get_current_thread() 
)
inline

Constructs a new rewriter to process the vertices of the indicated array only.

Definition at line 67 of file geomVertexRewriter.I.

References set_column().

Member Function Documentation

◆ clear()

void GeomVertexRewriter::clear ( )
inline

Resets the GeomVertexRewriter to the initial state.

Definition at line 212 of file geomVertexRewriter.I.

References GeomVertexReader::clear(), and GeomVertexWriter::clear().

◆ get_array()

int GeomVertexRewriter::get_array ( ) const
inline

Returns the array index containing the data type that the rewriter is working on.

Definition at line 233 of file geomVertexRewriter.I.

◆ get_array_data()

GeomVertexArrayData * GeomVertexRewriter::get_array_data ( ) const
inline

Returns the particular array object that the rewriter is currently processing.

Definition at line 116 of file geomVertexRewriter.I.

◆ get_array_handle()

GeomVertexArrayDataHandle * GeomVertexRewriter::get_array_handle ( ) const
inline

Returns the write handle to the array object that the rewriter is currently processing.

This low-level call should be used with caution; be careful with modifying the data in the handle out from under the GeomVertexRewriter.

Definition at line 129 of file geomVertexRewriter.I.

References GeomVertexWriter::get_array_handle().

◆ get_column()

const GeomVertexColumn * GeomVertexRewriter::get_column ( ) const
inline

Returns the description of the data type that the rewriter is working on.

Definition at line 243 of file geomVertexRewriter.I.

◆ get_current_thread()

Thread * GeomVertexRewriter::get_current_thread ( ) const
inline

Returns the Thread pointer of the currently-executing thread, as passed to the constructor of this object.

Definition at line 149 of file geomVertexRewriter.I.

◆ get_start_row()

int GeomVertexRewriter::get_start_row ( ) const
inline

Returns the row index at which the rewriter started.

It will return to this row if you reset the current column.

Definition at line 280 of file geomVertexRewriter.I.

◆ get_stride()

size_t GeomVertexRewriter::get_stride ( ) const
inline

Returns the per-row stride (bytes between consecutive rows) of the underlying vertex array.

This low-level information is normally not needed to use the GeomVertexRewriter directly.

Definition at line 139 of file geomVertexRewriter.I.

◆ get_vertex_data()

GeomVertexData * GeomVertexRewriter::get_vertex_data ( ) const
inline

Returns the vertex data object that the rewriter is processing.

Definition at line 105 of file geomVertexRewriter.I.

◆ has_column()

bool GeomVertexRewriter::has_column ( ) const
inline

Returns true if a valid data type has been successfully set, or false if the data type does not exist.

Definition at line 222 of file geomVertexRewriter.I.

◆ is_at_end()

bool GeomVertexRewriter::is_at_end ( ) const
inline

Returns true if the reader or writer is currently at the end of the list of vertices, false otherwise.

Definition at line 291 of file geomVertexRewriter.I.

References GeomVertexReader::is_at_end(), and GeomVertexWriter::is_at_end().

Referenced by PT().

◆ set_column() [1/3]

bool GeomVertexRewriter::set_column ( int  column)
inline

Sets up the rewriter to use the nth data type of the GeomVertexFormat, numbering from 0.

This also resets both the read and write row numbers to the start row (the same value passed to a previous call to set_row(), or 0 if set_row() was never called.)

The return value is true if the data type is valid, false otherwise.

Definition at line 166 of file geomVertexRewriter.I.

References GeomVertexReader::set_column(), and GeomVertexWriter::set_column().

Referenced by GeomVertexRewriter().

◆ set_column() [2/3]

bool GeomVertexRewriter::set_column ( CPT_InternalName  name)
inline

Sets up the rewriter to use the data type with the indicated name.

This also resets both the read and write row numbers to the start row (the same value passed to a previous call to set_row(), or 0 if set_row() was never called.)

The return value is true if the data type is valid, false otherwise.

Definition at line 183 of file geomVertexRewriter.I.

References GeomVertexReader::set_column(), and GeomVertexWriter::set_column().

◆ set_column() [3/3]

bool GeomVertexRewriter::set_column ( int  array,
const GeomVertexColumn column 
)
inline

Sets up the rewriter to use the indicated column description on the given array.

This also resets both the read and write row numbers to the start row (the same value passed to a previous call to set_row(), or 0 if set_row() was never called.)

The return value is true if the data type is valid, false otherwise.

Definition at line 201 of file geomVertexRewriter.I.

References GeomVertexReader::set_column(), and GeomVertexWriter::set_column().

◆ set_row()

void GeomVertexRewriter::set_row ( int  row)
inline

Sets the start, write, and write index to the indicated value.

The rewriter will begin traversing from the given row.

Definition at line 270 of file geomVertexRewriter.I.

References GeomVertexReader::set_row(), and GeomVertexWriter::set_row().

◆ set_row_unsafe()

void GeomVertexRewriter::set_row_unsafe ( int  row)
inline

Sets the start row to the indicated value, without internal checks.

This is the same as set_row(), but it does not check for the possibility that the array has been reallocated internally for some reason; use only when you are confident that the array is unchanged and you really need every bit of available performance.

Definition at line 257 of file geomVertexRewriter.I.

References GeomVertexReader::set_row_unsafe(), and GeomVertexWriter::set_row_unsafe().


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