14#ifndef GEOMVERTEXWRITER_H
15#define GEOMVERTEXWRITER_H
81 INLINE
size_t get_stride()
const;
82 INLINE
Thread *get_current_thread()
const;
84 INLINE
bool set_column(
int column);
88 bool reserve_num_rows(
int num_rows);
90 INLINE
bool has_column()
const;
91 INLINE
int get_array()
const;
94 INLINE
void set_row_unsafe(
int row);
95 INLINE
void set_row(
int row);
97 INLINE
int get_start_row()
const;
98 INLINE
int get_write_row()
const;
99 INLINE
bool is_at_end()
const;
101 INLINE
void set_data1f(
float data);
102 INLINE
void set_data2f(
float x,
float y);
103 INLINE
void set_data2f(
const LVecBase2f &data);
104 INLINE
void set_data3f(
float x,
float y,
float z);
105 INLINE
void set_data3f(
const LVecBase3f &data);
106 INLINE
void set_data4f(
float x,
float y,
float z,
float w);
107 INLINE
void set_data4f(
const LVecBase4f &data);
108 INLINE
void set_matrix3f(
const LMatrix3f &mat);
109 INLINE
void set_matrix4f(
const LMatrix4f &mat);
111 INLINE
void set_data1d(
double data);
112 INLINE
void set_data2d(
double x,
double y);
113 INLINE
void set_data2d(
const LVecBase2d &data);
114 INLINE
void set_data3d(
double x,
double y,
double z);
115 INLINE
void set_data3d(
const LVecBase3d &data);
116 INLINE
void set_data4d(
double x,
double y,
double z,
double w);
117 INLINE
void set_data4d(
const LVecBase4d &data);
118 INLINE
void set_matrix3d(
const LMatrix3d &mat);
119 INLINE
void set_matrix4d(
const LMatrix4d &mat);
121 INLINE
void set_data1(PN_stdfloat data);
122 INLINE
void set_data2(PN_stdfloat x, PN_stdfloat y);
123 INLINE
void set_data2(
const LVecBase2 &data);
124 INLINE
void set_data3(PN_stdfloat x, PN_stdfloat y, PN_stdfloat z);
125 INLINE
void set_data3(
const LVecBase3 &data);
126 INLINE
void set_data4(PN_stdfloat x, PN_stdfloat y, PN_stdfloat z, PN_stdfloat w);
127 INLINE
void set_data4(
const LVecBase4 &data);
128 INLINE
void set_matrix3(
const LMatrix3 &mat);
129 INLINE
void set_matrix4(
const LMatrix4 &mat);
131 INLINE
void set_data1i(
int data);
132 INLINE
void set_data2i(
int a,
int b);
133 INLINE
void set_data2i(
const LVecBase2i &data);
134 INLINE
void set_data3i(
int a,
int b,
int c);
135 INLINE
void set_data3i(
const LVecBase3i &data);
136 INLINE
void set_data4i(
int a,
int b,
int c,
int d);
137 INLINE
void set_data4i(
const LVecBase4i &data);
139 INLINE
void add_data1f(
float data);
140 INLINE
void add_data2f(
float x,
float y);
141 INLINE
void add_data2f(
const LVecBase2f &data);
142 INLINE
void add_data3f(
float x,
float y,
float z);
143 INLINE
void add_data3f(
const LVecBase3f &data);
144 INLINE
void add_data4f(
float x,
float y,
float z,
float w);
145 INLINE
void add_data4f(
const LVecBase4f &data);
146 INLINE
void add_matrix3f(
const LMatrix3f &mat);
147 INLINE
void add_matrix4f(
const LMatrix4f &mat);
149 INLINE
void add_data1d(
double data);
150 INLINE
void add_data2d(
double x,
double y);
151 INLINE
void add_data2d(
const LVecBase2d &data);
152 INLINE
void add_data3d(
double x,
double y,
double z);
153 INLINE
void add_data3d(
const LVecBase3d &data);
154 INLINE
void add_data4d(
double x,
double y,
double z,
double w);
155 INLINE
void add_data4d(
const LVecBase4d &data);
156 INLINE
void add_matrix3d(
const LMatrix3d &mat);
157 INLINE
void add_matrix4d(
const LMatrix4d &mat);
159 INLINE
void add_data1(PN_stdfloat data);
160 INLINE
void add_data2(PN_stdfloat x, PN_stdfloat y);
161 INLINE
void add_data2(
const LVecBase2 &data);
162 INLINE
void add_data3(PN_stdfloat x, PN_stdfloat y, PN_stdfloat z);
163 INLINE
void add_data3(
const LVecBase3 &data);
164 INLINE
void add_data4(PN_stdfloat x, PN_stdfloat y, PN_stdfloat z, PN_stdfloat w);
165 INLINE
void add_data4(
const LVecBase4 &data);
166 INLINE
void add_matrix3(
const LMatrix3 &mat);
167 INLINE
void add_matrix4(
const LMatrix4 &mat);
169 INLINE
void add_data1i(
int data);
170 INLINE
void add_data2i(
int a,
int b);
171 INLINE
void add_data2i(
const LVecBase2i &data);
172 INLINE
void add_data3i(
int a,
int b,
int c);
173 INLINE
void add_data3i(
const LVecBase3i &data);
174 INLINE
void add_data4i(
int a,
int b,
int c,
int d);
175 INLINE
void add_data4i(
const LVecBase4i &data);
177 void output(std::ostream &out)
const;
180 INLINE GeomVertexColumn::Packer *get_packer()
const;
187 INLINE
void set_pointer(
int row);
188 INLINE
void quick_set_pointer(
int row);
189 INLINE
unsigned char *inc_pointer();
190 INLINE
unsigned char *inc_add_pointer();
205 GeomVertexColumn::Packer *_packer;
209 unsigned char *_pointer_begin;
210 unsigned char *_pointer_end;
211 unsigned char *_pointer;
218 static 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 writing a sequence of numeric values from a v...
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.