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

Inheritance diagram of GeomVertexWriter

__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.

*/

output()

C++ Interface: output(GeomVertexWriter self, ostream out)

/**

*/

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.

*/