14#ifndef GEOMVERTEXREADER_H
15#define GEOMVERTEXREADER_H
122 void output(std::ostream &out)
const;
125 INLINE GeomVertexColumn::Packer *get_packer()
const;
130 INLINE
bool set_pointer(
int row);
131 INLINE
void quick_set_pointer(
int row);
132 INLINE
const unsigned char *inc_pointer();
147 GeomVertexColumn::Packer *_packer;
151 const unsigned char *_pointer_begin;
152 const unsigned char *_pointer_end;
153 const unsigned char *_pointer;
161 static const unsigned char empty_buffer[100];
This is a const pointer to an InternalName, and should be used in lieu of a CPT(InternalName) in func...
This data object is returned by GeomVertexArrayData::get_handle() or modify_handle().
This is the data for one array of a GeomVertexData structure.
This defines how a single column is interleaved within a vertex array stored within a Geom.
Encapsulates the data from a GeomVertexData, pre-fetched for one stage of the pipeline.
This defines the actual numeric vertex data stored in a Geom, in the structure defined by a particula...
This object provides a high-level interface for quickly reading a sequence of numeric values from a v...
bool set_column(int column)
Sets up the reader to use the nth data type of the GeomVertexFormat, numbering from 0.
bool is_at_end() const
Returns true if the reader is currently at the end of the list of vertices, false otherwise.
double get_data1d()
Returns the data associated with the read row, expressed as a 1-component value, and advances the rea...
Thread * get_current_thread() const
Returns the Thread pointer of the currently-executing thread, as passed to the constructor of this ob...
const LVecBase4d & get_data4d()
Returns the data associated with the read row, expressed as a 4-component value, and advances the rea...
const LVecBase4f & get_data4f()
Returns the data associated with the read row, expressed as a 4-component value, and advances the rea...
const LVecBase4i & get_data4i()
Returns the data associated with the read row, expressed as a 4-component value, and advances the rea...
const LVecBase3f & get_data3f()
Returns the data associated with the read row, expressed as a 3-component value, and advances the rea...
const LVecBase3i & get_data3i()
Returns the data associated with the read row, expressed as a 3-component value, and advances the rea...
LMatrix3 get_matrix3()
Returns the 3-by-3 matrix associated with the read row and advances the read row.
int get_array() const
Returns the array index containing the data type that the reader is working on.
LMatrix3d get_matrix3d()
Returns the 3-by-3 matrix associated with the read row and advances the read row.
void clear()
Resets the GeomVertexReader to the initial state.
const LVecBase2f & get_data2f()
Returns the data associated with the read row, expressed as a 2-component value, and advances the rea...
void set_force(bool force)
Sets the value of the force flag.
LMatrix4 get_matrix4()
Returns the 4-by-4 matrix associated with the read row and advances the read row.
const GeomVertexColumn * get_column() const
Returns the description of the data type that the reader is working on.
LMatrix4d get_matrix4d()
Returns the 4-by-4 matrix associated with the read row and advances the read row.
void set_row_unsafe(int row)
Sets the start row to the indicated value, without internal checks.
LMatrix3f get_matrix3f()
Returns the 3-by-3 matrix associated with the read row and advances the read row.
const LVecBase4 & get_data4()
Returns the data associated with the read row, expressed as a 4-component value, and advances the rea...
PN_stdfloat get_data1()
Returns the data associated with the read row, expressed as a 1-component value, and advances the rea...
int get_data1i()
Returns the data associated with the read row, expressed as a 1-component value, and advances the rea...
LMatrix4f get_matrix4f()
Returns the 4-by-4 matrix associated with the read row and advances the read row.
const GeomVertexData * get_vertex_data() const
Returns the vertex data object that the reader is processing.
const LVecBase2 & get_data2()
Returns the data associated with the read row, expressed as a 2-component value, and advances the rea...
bool has_column() const
Returns true if a valid data type has been successfully set, or false if the data type does not exist...
const LVecBase2i & get_data2i()
Returns the data associated with the read row, expressed as a 2-component value, and advances the rea...
bool get_force() const
Returns the value of the force flag.
int get_start_row() const
Returns the row index at which the reader started.
void set_row(int row)
Sets the start row to the indicated value.
int get_read_row() const
Returns the row index from which the data will be retrieved by the next call to get_data*().
float get_data1f()
Returns the data associated with the read row, expressed as a 1-component value, and advances the rea...
const GeomVertexArrayDataHandle * get_array_handle() const
Returns the read handle to the array object that the read is currently processing.
const LVecBase3d & get_data3d()
Returns the data associated with the read row, expressed as a 3-component value, and advances the rea...
size_t get_stride() const
Returns the per-row stride (bytes between consecutive rows) of the underlying vertex array.
const LVecBase2d & get_data2d()
Returns the data associated with the read row, expressed as a 2-component value, and advances the rea...
const LVecBase3 & get_data3()
Returns the data associated with the read row, expressed as a 3-component value, and advances the rea...
const GeomVertexArrayData * get_array_data() const
Returns the particular array object that the reader is currently processing.
GeomVertexReader(Thread *current_thread=Thread::get_current_thread())
Constructs an invalid GeomVertexReader.
Encodes a string name in a hash table, mapping it to a pointer.
A thread; that is, a lightweight process.
get_current_thread
Returns a pointer to the currently-executing Thread object.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.