Panda3D
|
This object provides the functionality of both a GeomVertexReader and a GeomVertexWriter, combined together into one convenient package. More...
#include "geomVertexRewriter.h"
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 ©) | |
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... | |
GeomVertexArrayData * | get_array_data () const |
Returns the particular array object that the rewriter is currently processing. More... | |
GeomVertexArrayDataHandle * | get_array_handle () const |
Returns the write handle to the array object that the rewriter is currently processing. More... | |
const GeomVertexColumn * | get_column () const |
Returns the description of the data type that the rewriter is working on. More... | |
Thread * | get_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... | |
GeomVertexData * | get_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 ©) |
void | output (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... | |
![]() | |
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 ©) | |
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 int data[2]) |
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 int data[3]) |
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 int data[4]) |
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... | |
GeomVertexArrayData * | get_array_data () const |
Returns the particular array object that the writer is currently processing. More... | |
GeomVertexArrayDataHandle * | get_array_handle () const |
Returns the write handle to the array object that the writer is currently processing. More... | |
const GeomVertexColumn * | get_column () const |
Returns the description of the data type that the writer is working on. More... | |
Thread * | get_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... | |
GeomVertexData * | get_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 ©) |
void | output (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 int data[2]) |
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 int data[3]) |
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 int data[4]) |
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... | |
![]() | |
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 ©) | |
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 GeomVertexArrayData * | get_array_data () const |
Returns the particular array object that the reader is currently processing. More... | |
const GeomVertexArrayDataHandle * | get_array_handle () const |
Returns the read handle to the array object that the read is currently processing. More... | |
const GeomVertexColumn * | get_column () const |
Returns the description of the data type that the reader is working on. More... | |
Thread * | get_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 GeomVertexData * | get_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 ©) |
void | output (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 | |
![]() | |
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 } |
enum | NumericType { NT_uint8, NT_uint16, NT_uint32, NT_packed_dcba, NT_packed_dabc, NT_float32, NT_float64, NT_stdfloat } |
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 } |
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 39 of file geomVertexRewriter.h.
|
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 25 of file geomVertexRewriter.I.
Referenced by GeomVertexRewriter().
|
inline |
Constructs a new rewriter to process the vertices of the indicated data object.
Definition at line 38 of file geomVertexRewriter.I.
References GeomVertexRewriter().
|
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 52 of file geomVertexRewriter.I.
References GeomVertexRewriter(), and set_column().
|
inline |
Constructs a new rewriter to process the vertices of the indicated array only.
Definition at line 67 of file geomVertexRewriter.I.
References GeomVertexRewriter().
|
inline |
Constructs a new rewriter to process the vertices of the indicated array only.
Definition at line 80 of file geomVertexRewriter.I.
References GeomVertexReader::GeomVertexReader(), GeomVertexRewriter(), GeomVertexWriter::GeomVertexWriter(), get_vertex_data(), and set_column().
|
inline |
Resets the GeomVertexRewriter to the initial state.
Definition at line 259 of file geomVertexRewriter.I.
References GeomVertexReader::clear(), GeomVertexWriter::clear(), and has_column().
Referenced by set_column().
|
inline |
Returns the array index containing the data type that the rewriter is working on.
Definition at line 285 of file geomVertexRewriter.I.
References GeomVertexReader::get_array(), GeomVertexWriter::get_array(), and get_column().
Referenced by has_column().
|
inline |
Returns the particular array object that the rewriter is currently processing.
Definition at line 140 of file geomVertexRewriter.I.
References GeomVertexReader::get_array_data(), GeomVertexWriter::get_array_data(), and get_array_handle().
Referenced by get_vertex_data().
|
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 156 of file geomVertexRewriter.I.
References GeomVertexWriter::get_array_handle(), and get_stride().
Referenced by GeomVertexData::clear_cache_stage(), and get_array_data().
|
inline |
Returns the description of the data type that the rewriter is working on.
Definition at line 298 of file geomVertexRewriter.I.
References GeomVertexReader::get_column(), GeomVertexWriter::get_column(), and set_row_unsafe().
Referenced by GeomVertexData::clear_cache_stage(), GeomTransformer::finish_collect(), and get_array().
|
inline |
Returns the Thread pointer of the currently-executing thread, as passed to the constructor of this object.
Definition at line 181 of file geomVertexRewriter.I.
References GeomVertexReader::get_current_thread(), GeomVertexWriter::get_current_thread(), and set_column().
Referenced by get_stride().
|
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 345 of file geomVertexRewriter.I.
References GeomVertexReader::get_start_row(), GeomVertexWriter::get_start_row(), and is_at_end().
Referenced by set_row().
|
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 169 of file geomVertexRewriter.I.
References get_current_thread(), GeomVertexReader::get_stride(), and GeomVertexWriter::get_stride().
Referenced by GeomVertexData::clear_cache_stage(), and get_array_handle().
|
inline |
Returns the vertex data object that the rewriter is processing.
Definition at line 127 of file geomVertexRewriter.I.
References get_array_data(), GeomVertexReader::get_vertex_data(), and GeomVertexWriter::get_vertex_data().
Referenced by GeomVertexRewriter().
|
inline |
Returns true if a valid data type has been successfully set, or false if the data type does not exist.
Definition at line 272 of file geomVertexRewriter.I.
References get_array(), GeomVertexReader::get_column(), GeomVertexWriter::get_column(), and GeomVertexWriter::has_column().
Referenced by clear(), and GeomTransformer::finish_collect().
|
inline |
Returns true if the reader or writer is currently at the end of the list of vertices, false otherwise.
Definition at line 358 of file geomVertexRewriter.I.
References GeomVertexReader::is_at_end(), and GeomVertexWriter::is_at_end().
Referenced by GeomVertexData::copy_row_from(), GeomTransformer::finish_collect(), get_start_row(), GeomPrimitive::offset_vertices(), ProjectionScreen::recompute_if_stale(), and PhysxSoftBodyNode::set_from_geom().
|
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 202 of file geomVertexRewriter.I.
References GeomVertexReader::set_column(), and GeomVertexWriter::set_column().
Referenced by GeomVertexRewriter(), get_current_thread(), and set_column().
|
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 224 of file geomVertexRewriter.I.
References set_column(), GeomVertexReader::set_column(), and GeomVertexWriter::set_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 246 of file geomVertexRewriter.I.
References clear(), GeomVertexReader::set_column(), and GeomVertexWriter::set_column().
|
inline |
Sets the start, write, and write index to the indicated value.
The rewriter will begin traversing from the given row.
Definition at line 332 of file geomVertexRewriter.I.
References get_start_row(), GeomVertexReader::set_row(), and GeomVertexWriter::set_row().
Referenced by set_row_unsafe().
|
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 316 of file geomVertexRewriter.I.
References set_row(), GeomVertexReader::set_row_unsafe(), and GeomVertexWriter::set_row_unsafe().
Referenced by GeomVertexData::clear_cache_stage(), GeomTransformer::finish_collect(), get_column(), TextAssembler::is_whitespace(), GeomPrimitive::offset_vertices(), and PhysxSoftBodyNode::set_from_geom().