GeomVertexWriter
from panda3d.core import GeomVertexWriter
- class GeomVertexWriter
- Bases: - GeomEnums- This object provides a high-level interface for quickly writing a sequence of numeric values from a vertex table. - This object can be used both to replace existing vertices in the table, or to extend the table with new vertices. The set_data*() family of methods can only be used to replace existing data; it is an error to allow these to run past the end of the data. The add_data*() family of methods, on the other hand, can be used to replace existing data or add new data; if you call set_row() into the middle of existing data the add_data*() methods will behave like the corresponding set_data*(), but if they run past the end of existing data they will quietly add new vertices. - Like GeomVertexReader, the writer is particularly optimized for writing a single column of data values for a series of vertices, without changing columns between each number. Although you can also use one GeomVertexWriter to write across the columns if it is convenient, by calling set_column() repeatedly at each vertex, it is faster to write down the columns, and to use a different GeomVertexWriter for each column. - Note that, like a GeomVertexReader, a GeomVertexWriter does not keep a reference count to the actual vertex data buffer. This means that it is important not to keep a GeomVertexWriter object around over a long period of time in which the data buffer is likely to be deallocated; it is intended for making a quick pass over the data in one session. - It also means that you should create any GeomVertexWriters before creating GeomVertexReaders on the same data, since the writer itself might cause the vertex buffer to be deallocated. Better yet, use a GeomVertexRewriter if you are going to create both of them anyway. - Inheritance diagram - __init__(*args, **kwargs)
 - addData1()
- C++ Interface: add_data1(const GeomVertexWriter self, float data) - /**
- Sets the write row to a particular 1-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - addData1d()
- C++ Interface: add_data1d(const GeomVertexWriter self, double data) - /**
- Sets the write row to a particular 1-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - addData1f()
- C++ Interface: add_data1f(const GeomVertexWriter self, float data) - /**
- Sets the write row to a particular 1-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - addData1i()
- C++ Interface: add_data1i(const GeomVertexWriter self, int data) - /**
- Sets the write row to a particular 1-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - addData2()
- C++ Interface: add_data2(const GeomVertexWriter self, const LVecBase2f data) add_data2(const GeomVertexWriter self, float x, float y) - /**
- Sets the write row to a particular 2-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
- /**
- Sets the write row to a particular 2-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - addData2d()
- C++ Interface: add_data2d(const GeomVertexWriter self, const LVecBase2d data) add_data2d(const GeomVertexWriter self, double x, double y) - /**
- Sets the write row to a particular 2-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
- /**
- Sets the write row to a particular 2-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - addData2f()
- C++ Interface: add_data2f(const GeomVertexWriter self, const LVecBase2f data) add_data2f(const GeomVertexWriter self, float x, float y) - /**
- Sets the write row to a particular 2-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
- /**
- Sets the write row to a particular 2-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - addData2i()
- C++ Interface: add_data2i(const GeomVertexWriter self, const LVecBase2i data) add_data2i(const GeomVertexWriter self, int a, int b) - /**
- Sets the write row to a particular 2-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
- /**
- Sets the write row to a particular 2-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - addData3()
- C++ Interface: add_data3(const GeomVertexWriter self, const LVecBase3f data) add_data3(const GeomVertexWriter self, float x, float y, float z) - /**
- Sets the write row to a particular 3-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
- /**
- Sets the write row to a particular 3-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - addData3d()
- C++ Interface: add_data3d(const GeomVertexWriter self, const LVecBase3d data) add_data3d(const GeomVertexWriter self, double x, double y, double z) - /**
- Sets the write row to a particular 3-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
- /**
- Sets the write row to a particular 3-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - addData3f()
- C++ Interface: add_data3f(const GeomVertexWriter self, const LVecBase3f data) add_data3f(const GeomVertexWriter self, float x, float y, float z) - /**
- Sets the write row to a particular 3-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
- /**
- Sets the write row to a particular 3-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - addData3i()
- C++ Interface: add_data3i(const GeomVertexWriter self, const LVecBase3i data) add_data3i(const GeomVertexWriter self, int a, int b, int c) - /**
- Sets the write row to a particular 3-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
- /**
- Sets the write row to a particular 3-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - addData4()
- C++ Interface: add_data4(const GeomVertexWriter self, const LVecBase4f data) add_data4(const GeomVertexWriter self, float x, float y, float z, float w) - /**
- Sets the write row to a particular 4-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
- /**
- Sets the write row to a particular 4-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - addData4d()
- C++ Interface: add_data4d(const GeomVertexWriter self, const LVecBase4d data) add_data4d(const GeomVertexWriter self, double x, double y, double z, double w) - /**
- Sets the write row to a particular 4-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
- /**
- Sets the write row to a particular 4-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - addData4f()
- C++ Interface: add_data4f(const GeomVertexWriter self, const LVecBase4f data) add_data4f(const GeomVertexWriter self, float x, float y, float z, float w) - /**
- Sets the write row to a particular 4-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
- /**
- Sets the write row to a particular 4-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - addData4i()
- C++ Interface: add_data4i(const GeomVertexWriter self, const LVecBase4i data) add_data4i(const GeomVertexWriter self, int a, int b, int c, int d) - /**
- Sets the write row to a particular 4-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
- /**
- Sets the write row to a particular 4-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - addMatrix3()
- C++ Interface: add_matrix3(const GeomVertexWriter self, const LMatrix3f mat) - /**
- Sets the write row to a 3-by-3 matrix, and advances the write row. This is 
- a special method that can only be used on matrix columns. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - addMatrix3d()
- C++ Interface: add_matrix3d(const GeomVertexWriter self, const LMatrix3d mat) - /**
- Sets the write row to a 3-by-3 matrix, and advances the write row. This is 
- a special method that can only be used on matrix columns. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - addMatrix3f()
- C++ Interface: add_matrix3f(const GeomVertexWriter self, const LMatrix3f mat) - /**
- Sets the write row to a 3-by-3 matrix, and advances the write row. This is 
- a special method that can only be used on matrix columns. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - addMatrix4()
- C++ Interface: add_matrix4(const GeomVertexWriter self, const LMatrix4f mat) - /**
- Sets the write row to a 4-by-4 matrix, and advances the write row. This is 
- a special method that can only be used on matrix columns. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - addMatrix4d()
- C++ Interface: add_matrix4d(const GeomVertexWriter self, const LMatrix4d mat) - /**
- Sets the write row to a 4-by-4 matrix, and advances the write row. This is 
- a special method that can only be used on matrix columns. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - addMatrix4f()
- C++ Interface: add_matrix4f(const GeomVertexWriter self, const LMatrix4f mat) - /**
- Sets the write row to a 4-by-4 matrix, and advances the write row. This is 
- a special method that can only be used on matrix columns. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - add_data1()
- C++ Interface: add_data1(const GeomVertexWriter self, float data) - /**
- Sets the write row to a particular 1-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - add_data1d()
- C++ Interface: add_data1d(const GeomVertexWriter self, double data) - /**
- Sets the write row to a particular 1-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - add_data1f()
- C++ Interface: add_data1f(const GeomVertexWriter self, float data) - /**
- Sets the write row to a particular 1-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - add_data1i()
- C++ Interface: add_data1i(const GeomVertexWriter self, int data) - /**
- Sets the write row to a particular 1-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - add_data2()
- C++ Interface: add_data2(const GeomVertexWriter self, const LVecBase2f data) add_data2(const GeomVertexWriter self, float x, float y) - /**
- Sets the write row to a particular 2-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
- /**
- Sets the write row to a particular 2-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - add_data2d()
- C++ Interface: add_data2d(const GeomVertexWriter self, const LVecBase2d data) add_data2d(const GeomVertexWriter self, double x, double y) - /**
- Sets the write row to a particular 2-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
- /**
- Sets the write row to a particular 2-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - add_data2f()
- C++ Interface: add_data2f(const GeomVertexWriter self, const LVecBase2f data) add_data2f(const GeomVertexWriter self, float x, float y) - /**
- Sets the write row to a particular 2-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
- /**
- Sets the write row to a particular 2-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - add_data2i()
- C++ Interface: add_data2i(const GeomVertexWriter self, const LVecBase2i data) add_data2i(const GeomVertexWriter self, int a, int b) - /**
- Sets the write row to a particular 2-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
- /**
- Sets the write row to a particular 2-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - add_data3()
- C++ Interface: add_data3(const GeomVertexWriter self, const LVecBase3f data) add_data3(const GeomVertexWriter self, float x, float y, float z) - /**
- Sets the write row to a particular 3-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
- /**
- Sets the write row to a particular 3-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - add_data3d()
- C++ Interface: add_data3d(const GeomVertexWriter self, const LVecBase3d data) add_data3d(const GeomVertexWriter self, double x, double y, double z) - /**
- Sets the write row to a particular 3-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
- /**
- Sets the write row to a particular 3-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - add_data3f()
- C++ Interface: add_data3f(const GeomVertexWriter self, const LVecBase3f data) add_data3f(const GeomVertexWriter self, float x, float y, float z) - /**
- Sets the write row to a particular 3-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
- /**
- Sets the write row to a particular 3-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - add_data3i()
- C++ Interface: add_data3i(const GeomVertexWriter self, const LVecBase3i data) add_data3i(const GeomVertexWriter self, int a, int b, int c) - /**
- Sets the write row to a particular 3-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
- /**
- Sets the write row to a particular 3-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - add_data4()
- C++ Interface: add_data4(const GeomVertexWriter self, const LVecBase4f data) add_data4(const GeomVertexWriter self, float x, float y, float z, float w) - /**
- Sets the write row to a particular 4-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
- /**
- Sets the write row to a particular 4-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - add_data4d()
- C++ Interface: add_data4d(const GeomVertexWriter self, const LVecBase4d data) add_data4d(const GeomVertexWriter self, double x, double y, double z, double w) - /**
- Sets the write row to a particular 4-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
- /**
- Sets the write row to a particular 4-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - add_data4f()
- C++ Interface: add_data4f(const GeomVertexWriter self, const LVecBase4f data) add_data4f(const GeomVertexWriter self, float x, float y, float z, float w) - /**
- Sets the write row to a particular 4-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
- /**
- Sets the write row to a particular 4-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - add_data4i()
- C++ Interface: add_data4i(const GeomVertexWriter self, const LVecBase4i data) add_data4i(const GeomVertexWriter self, int a, int b, int c, int d) - /**
- Sets the write row to a particular 4-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
- /**
- Sets the write row to a particular 4-component value, and advances the 
- write row. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - add_matrix3()
- C++ Interface: add_matrix3(const GeomVertexWriter self, const LMatrix3f mat) - /**
- Sets the write row to a 3-by-3 matrix, and advances the write row. This is 
- a special method that can only be used on matrix columns. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - add_matrix3d()
- C++ Interface: add_matrix3d(const GeomVertexWriter self, const LMatrix3d mat) - /**
- Sets the write row to a 3-by-3 matrix, and advances the write row. This is 
- a special method that can only be used on matrix columns. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - add_matrix3f()
- C++ Interface: add_matrix3f(const GeomVertexWriter self, const LMatrix3f mat) - /**
- Sets the write row to a 3-by-3 matrix, and advances the write row. This is 
- a special method that can only be used on matrix columns. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - add_matrix4()
- C++ Interface: add_matrix4(const GeomVertexWriter self, const LMatrix4f mat) - /**
- Sets the write row to a 4-by-4 matrix, and advances the write row. This is 
- a special method that can only be used on matrix columns. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - add_matrix4d()
- C++ Interface: add_matrix4d(const GeomVertexWriter self, const LMatrix4d mat) - /**
- Sets the write row to a 4-by-4 matrix, and advances the write row. This is 
- a special method that can only be used on matrix columns. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - add_matrix4f()
- C++ Interface: add_matrix4f(const GeomVertexWriter self, const LMatrix4f mat) - /**
- Sets the write row to a 4-by-4 matrix, and advances the write row. This is 
- a special method that can only be used on matrix columns. 
- If the write row advances past the end of data, implicitly adds a new row 
- to the data. 
 - */ 
 
 - assign()
- C++ Interface: assign(const GeomVertexWriter self, const GeomVertexWriter copy) 
 - clear()
- C++ Interface: clear(const GeomVertexWriter self) - /**
- Resets the GeomVertexWriter to the initial state. 
 - */ 
 
 - getArray()
- C++ Interface: get_array(GeomVertexWriter self) - /**
- Returns the array index containing the data type that the writer is working 
- on. 
 - */ 
 
 - getArrayData()
- C++ Interface: get_array_data(GeomVertexWriter self) - /**
- Returns the particular array object that the writer is currently 
- processing. 
 - */ 
 
 - getArrayHandle()
- C++ Interface: get_array_handle(GeomVertexWriter self) - /**
- Returns the write handle to the array object that the writer 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 GeomVertexWriter. 
 - */ 
 
 - getColumn()
- C++ Interface: get_column(GeomVertexWriter self) - /**
- Returns the description of the data type that the writer is working on. 
 - */ 
 
 - getCurrentThread()
- C++ Interface: get_current_thread(GeomVertexWriter self) - /**
- Returns the Thread pointer of the currently-executing thread, as passed to 
- the constructor of this object. 
 - */ 
 
 - getStartRow()
- C++ Interface: get_start_row(GeomVertexWriter self) - /**
- Returns the row index at which the writer started. It will return to this 
- row if you reset the current column. 
 - */ 
 
 - getStride()
- C++ Interface: get_stride(GeomVertexWriter self) - /**
- 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 GeomVertexWriter directly. 
 - */ 
 
 - getVertexData()
- C++ Interface: get_vertex_data(GeomVertexWriter self) - /**
- Returns the vertex data object that the writer is processing. This may 
- return NULL if the writer was constructed with just an array pointer. 
 - */ 
 
 - getWriteRow()
- C++ Interface: get_write_row(GeomVertexWriter self) - /**
- Returns the row index to which the data will be written at the next call to 
- set_data*() or add_data*(). 
 - */ 
 
 - get_array()
- C++ Interface: get_array(GeomVertexWriter self) - /**
- Returns the array index containing the data type that the writer is working 
- on. 
 - */ 
 
 - get_array_data()
- C++ Interface: get_array_data(GeomVertexWriter self) - /**
- Returns the particular array object that the writer is currently 
- processing. 
 - */ 
 
 - get_array_handle()
- C++ Interface: get_array_handle(GeomVertexWriter self) - /**
- Returns the write handle to the array object that the writer 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 GeomVertexWriter. 
 - */ 
 
 - get_column()
- C++ Interface: get_column(GeomVertexWriter self) - /**
- Returns the description of the data type that the writer is working on. 
 - */ 
 
 - get_current_thread()
- C++ Interface: get_current_thread(GeomVertexWriter self) - /**
- Returns the Thread pointer of the currently-executing thread, as passed to 
- the constructor of this object. 
 - */ 
 
 - get_start_row()
- C++ Interface: get_start_row(GeomVertexWriter self) - /**
- Returns the row index at which the writer started. It will return to this 
- row if you reset the current column. 
 - */ 
 
 - get_stride()
- C++ Interface: get_stride(GeomVertexWriter self) - /**
- 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 GeomVertexWriter directly. 
 - */ 
 
 - get_vertex_data()
- C++ Interface: get_vertex_data(GeomVertexWriter self) - /**
- Returns the vertex data object that the writer is processing. This may 
- return NULL if the writer was constructed with just an array pointer. 
 - */ 
 
 - get_write_row()
- C++ Interface: get_write_row(GeomVertexWriter self) - /**
- Returns the row index to which the data will be written at the next call to 
- set_data*() or add_data*(). 
 - */ 
 
 - hasColumn()
- C++ Interface: has_column(GeomVertexWriter self) - /**
- Returns true if a valid data type has been successfully set, or false if 
- the data type does not exist. 
 - */ 
 
 - has_column()
- C++ Interface: has_column(GeomVertexWriter self) - /**
- Returns true if a valid data type has been successfully set, or false if 
- the data type does not exist. 
 - */ 
 
 - isAtEnd()
- C++ Interface: is_at_end(GeomVertexWriter self) - /**
- Returns true if the writer is currently at the end of the list of vertices, 
- false otherwise. If this is true, another call to set_data*() will result 
- in a crash, but another call to add_data*() will add a new row. 
 - */ 
 
 - is_at_end()
- C++ Interface: is_at_end(GeomVertexWriter self) - /**
- Returns true if the writer is currently at the end of the list of vertices, 
- false otherwise. If this is true, another call to set_data*() will result 
- in a crash, but another call to add_data*() will add a new row. 
 - */ 
 
 - reserveNumRows()
- C++ Interface: reserve_num_rows(const GeomVertexWriter self, 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. 
- This is a performance optimization only; it is especially useful when you 
- know the number of rows you will be adding ahead of time. 
 - */ 
 
 - reserve_num_rows()
- C++ Interface: reserve_num_rows(const GeomVertexWriter self, 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. 
- This is a performance optimization only; it is especially useful when you 
- know the number of rows you will be adding ahead of time. 
 - */ 
 
 - setColumn()
- C++ Interface: set_column(const GeomVertexWriter self, const InternalName name) set_column(const GeomVertexWriter self, int column) set_column(const GeomVertexWriter self, int array, const GeomVertexColumn column) - /**
- Sets up the writer to use the nth data type of the GeomVertexFormat, 
- numbering from 0. 
- This also resets the write row number 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. 
 - */ 
- /**
- Sets up the writer to use the data type with the indicated name. 
- This also resets the write number 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. 
 - */ 
- /**
- Sets up the writer to use the indicated column description on the given 
- array. 
- This also resets the current write row number 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. 
 - */ 
 
 - setData1()
- C++ Interface: set_data1(const GeomVertexWriter self, float data) - /**
- Sets the write row to a particular 1-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - setData1d()
- C++ Interface: set_data1d(const GeomVertexWriter self, double data) - /**
- Sets the write row to a particular 1-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - setData1f()
- C++ Interface: set_data1f(const GeomVertexWriter self, float data) - /**
- Sets the write row to a particular 1-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - setData1i()
- C++ Interface: set_data1i(const GeomVertexWriter self, int data) - /**
- Sets the write row to a particular 1-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - setData2()
- C++ Interface: set_data2(const GeomVertexWriter self, const LVecBase2f data) set_data2(const GeomVertexWriter self, float x, float y) - /**
- Sets the write row to a particular 2-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
- /**
- Sets the write row to a particular 2-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - setData2d()
- C++ Interface: set_data2d(const GeomVertexWriter self, const LVecBase2d data) set_data2d(const GeomVertexWriter self, double x, double y) - /**
- Sets the write row to a particular 2-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
- /**
- Sets the write row to a particular 2-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - setData2f()
- C++ Interface: set_data2f(const GeomVertexWriter self, const LVecBase2f data) set_data2f(const GeomVertexWriter self, float x, float y) - /**
- Sets the write row to a particular 2-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
- /**
- Sets the write row to a particular 2-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - setData2i()
- C++ Interface: set_data2i(const GeomVertexWriter self, const LVecBase2i data) set_data2i(const GeomVertexWriter self, int a, int b) - /**
- Sets the write row to a particular 2-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
- /**
- Sets the write row to a particular 2-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - setData3()
- C++ Interface: set_data3(const GeomVertexWriter self, const LVecBase3f data) set_data3(const GeomVertexWriter self, float x, float y, float z) - /**
- Sets the write row to a particular 3-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
- /**
- Sets the write row to a particular 3-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - setData3d()
- C++ Interface: set_data3d(const GeomVertexWriter self, const LVecBase3d data) set_data3d(const GeomVertexWriter self, double x, double y, double z) - /**
- Sets the write row to a particular 3-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
- /**
- Sets the write row to a particular 3-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - setData3f()
- C++ Interface: set_data3f(const GeomVertexWriter self, const LVecBase3f data) set_data3f(const GeomVertexWriter self, float x, float y, float z) - /**
- Sets the write row to a particular 3-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
- /**
- Sets the write row to a particular 3-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - setData3i()
- C++ Interface: set_data3i(const GeomVertexWriter self, const LVecBase3i data) set_data3i(const GeomVertexWriter self, int a, int b, int c) - /**
- Sets the write row to a particular 3-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
- /**
- Sets the write row to a particular 3-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - setData4()
- C++ Interface: set_data4(const GeomVertexWriter self, const LVecBase4f data) set_data4(const GeomVertexWriter self, float x, float y, float z, float w) - /**
- Sets the write row to a particular 4-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
- /**
- Sets the write row to a particular 4-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - setData4d()
- C++ Interface: set_data4d(const GeomVertexWriter self, const LVecBase4d data) set_data4d(const GeomVertexWriter self, double x, double y, double z, double w) - /**
- Sets the write row to a particular 4-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
- /**
- Sets the write row to a particular 4-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - setData4f()
- C++ Interface: set_data4f(const GeomVertexWriter self, const LVecBase4f data) set_data4f(const GeomVertexWriter self, float x, float y, float z, float w) - /**
- Sets the write row to a particular 4-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
- /**
- Sets the write row to a particular 4-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - setData4i()
- C++ Interface: set_data4i(const GeomVertexWriter self, const LVecBase4i data) set_data4i(const GeomVertexWriter self, int a, int b, int c, int d) - /**
- Sets the write row to a particular 4-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
- /**
- Sets the write row to a particular 4-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - setMatrix3()
- C++ Interface: set_matrix3(const GeomVertexWriter self, const LMatrix3f mat) - /**
- Sets the write row to a 3-by-3 matrix, and advances the write row. This is 
- a special method that can only be used on matrix columns. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - setMatrix3d()
- C++ Interface: set_matrix3d(const GeomVertexWriter self, const LMatrix3d mat) - /**
- Sets the write row to a 3-by-3 matrix, and advances the write row. This is 
- a special method that can only be used on matrix columns. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - setMatrix3f()
- C++ Interface: set_matrix3f(const GeomVertexWriter self, const LMatrix3f mat) - /**
- Sets the write row to a 3-by-3 matrix, and advances the write row. This is 
- a special method that can only be used on matrix columns. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - setMatrix4()
- C++ Interface: set_matrix4(const GeomVertexWriter self, const LMatrix4f mat) - /**
- Sets the write row to a 4-by-4 matrix, and advances the write row. This is 
- a special method that can only be used on matrix columns. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - setMatrix4d()
- C++ Interface: set_matrix4d(const GeomVertexWriter self, const LMatrix4d mat) - /**
- Sets the write row to a 4-by-4 matrix, and advances the write row. This is 
- a special method that can only be used on matrix columns. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - setMatrix4f()
- C++ Interface: set_matrix4f(const GeomVertexWriter self, const LMatrix4f mat) - /**
- Sets the write row to a 4-by-4 matrix, and advances the write row. This is 
- a special method that can only be used on matrix columns. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - setRow()
- C++ Interface: set_row(const GeomVertexWriter self, int row) - /**
- Sets the start row to the indicated value. The writer will begin writing 
- to the indicated row; each subsequent set_data*() call will store the data 
- into the subsequent row. If set_column() is called, the writer will return 
- to this row. 
 - */ 
 
 - setRowUnsafe()
- C++ Interface: set_row_unsafe(const GeomVertexWriter self, int row) - /**
- 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. 
 - */ 
 
 - set_column()
- C++ Interface: set_column(const GeomVertexWriter self, const InternalName name) set_column(const GeomVertexWriter self, int column) set_column(const GeomVertexWriter self, int array, const GeomVertexColumn column) - /**
- Sets up the writer to use the nth data type of the GeomVertexFormat, 
- numbering from 0. 
- This also resets the write row number 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. 
 - */ 
- /**
- Sets up the writer to use the data type with the indicated name. 
- This also resets the write number 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. 
 - */ 
- /**
- Sets up the writer to use the indicated column description on the given 
- array. 
- This also resets the current write row number 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. 
 - */ 
 
 - set_data1()
- C++ Interface: set_data1(const GeomVertexWriter self, float data) - /**
- Sets the write row to a particular 1-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - set_data1d()
- C++ Interface: set_data1d(const GeomVertexWriter self, double data) - /**
- Sets the write row to a particular 1-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - set_data1f()
- C++ Interface: set_data1f(const GeomVertexWriter self, float data) - /**
- Sets the write row to a particular 1-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - set_data1i()
- C++ Interface: set_data1i(const GeomVertexWriter self, int data) - /**
- Sets the write row to a particular 1-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - set_data2()
- C++ Interface: set_data2(const GeomVertexWriter self, const LVecBase2f data) set_data2(const GeomVertexWriter self, float x, float y) - /**
- Sets the write row to a particular 2-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
- /**
- Sets the write row to a particular 2-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - set_data2d()
- C++ Interface: set_data2d(const GeomVertexWriter self, const LVecBase2d data) set_data2d(const GeomVertexWriter self, double x, double y) - /**
- Sets the write row to a particular 2-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
- /**
- Sets the write row to a particular 2-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - set_data2f()
- C++ Interface: set_data2f(const GeomVertexWriter self, const LVecBase2f data) set_data2f(const GeomVertexWriter self, float x, float y) - /**
- Sets the write row to a particular 2-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
- /**
- Sets the write row to a particular 2-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - set_data2i()
- C++ Interface: set_data2i(const GeomVertexWriter self, const LVecBase2i data) set_data2i(const GeomVertexWriter self, int a, int b) - /**
- Sets the write row to a particular 2-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
- /**
- Sets the write row to a particular 2-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - set_data3()
- C++ Interface: set_data3(const GeomVertexWriter self, const LVecBase3f data) set_data3(const GeomVertexWriter self, float x, float y, float z) - /**
- Sets the write row to a particular 3-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
- /**
- Sets the write row to a particular 3-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - set_data3d()
- C++ Interface: set_data3d(const GeomVertexWriter self, const LVecBase3d data) set_data3d(const GeomVertexWriter self, double x, double y, double z) - /**
- Sets the write row to a particular 3-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
- /**
- Sets the write row to a particular 3-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - set_data3f()
- C++ Interface: set_data3f(const GeomVertexWriter self, const LVecBase3f data) set_data3f(const GeomVertexWriter self, float x, float y, float z) - /**
- Sets the write row to a particular 3-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
- /**
- Sets the write row to a particular 3-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - set_data3i()
- C++ Interface: set_data3i(const GeomVertexWriter self, const LVecBase3i data) set_data3i(const GeomVertexWriter self, int a, int b, int c) - /**
- Sets the write row to a particular 3-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
- /**
- Sets the write row to a particular 3-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - set_data4()
- C++ Interface: set_data4(const GeomVertexWriter self, const LVecBase4f data) set_data4(const GeomVertexWriter self, float x, float y, float z, float w) - /**
- Sets the write row to a particular 4-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
- /**
- Sets the write row to a particular 4-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - set_data4d()
- C++ Interface: set_data4d(const GeomVertexWriter self, const LVecBase4d data) set_data4d(const GeomVertexWriter self, double x, double y, double z, double w) - /**
- Sets the write row to a particular 4-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
- /**
- Sets the write row to a particular 4-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - set_data4f()
- C++ Interface: set_data4f(const GeomVertexWriter self, const LVecBase4f data) set_data4f(const GeomVertexWriter self, float x, float y, float z, float w) - /**
- Sets the write row to a particular 4-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
- /**
- Sets the write row to a particular 4-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - set_data4i()
- C++ Interface: set_data4i(const GeomVertexWriter self, const LVecBase4i data) set_data4i(const GeomVertexWriter self, int a, int b, int c, int d) - /**
- Sets the write row to a particular 4-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
- /**
- Sets the write row to a particular 4-component value, and advances the 
- write row. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - set_matrix3()
- C++ Interface: set_matrix3(const GeomVertexWriter self, const LMatrix3f mat) - /**
- Sets the write row to a 3-by-3 matrix, and advances the write row. This is 
- a special method that can only be used on matrix columns. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - set_matrix3d()
- C++ Interface: set_matrix3d(const GeomVertexWriter self, const LMatrix3d mat) - /**
- Sets the write row to a 3-by-3 matrix, and advances the write row. This is 
- a special method that can only be used on matrix columns. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - set_matrix3f()
- C++ Interface: set_matrix3f(const GeomVertexWriter self, const LMatrix3f mat) - /**
- Sets the write row to a 3-by-3 matrix, and advances the write row. This is 
- a special method that can only be used on matrix columns. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - set_matrix4()
- C++ Interface: set_matrix4(const GeomVertexWriter self, const LMatrix4f mat) - /**
- Sets the write row to a 4-by-4 matrix, and advances the write row. This is 
- a special method that can only be used on matrix columns. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - set_matrix4d()
- C++ Interface: set_matrix4d(const GeomVertexWriter self, const LMatrix4d mat) - /**
- Sets the write row to a 4-by-4 matrix, and advances the write row. This is 
- a special method that can only be used on matrix columns. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - set_matrix4f()
- C++ Interface: set_matrix4f(const GeomVertexWriter self, const LMatrix4f mat) - /**
- Sets the write row to a 4-by-4 matrix, and advances the write row. This is 
- a special method that can only be used on matrix columns. 
- It is an error for the write row to advance past the end of data. 
 - */ 
 
 - set_row()
- C++ Interface: set_row(const GeomVertexWriter self, int row) - /**
- Sets the start row to the indicated value. The writer will begin writing 
- to the indicated row; each subsequent set_data*() call will store the data 
- into the subsequent row. If set_column() is called, the writer will return 
- to this row. 
 - */ 
 
 - set_row_unsafe()
- C++ Interface: set_row_unsafe(const GeomVertexWriter self, int row) - /**
- 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. 
 - */ 
 
 
