14 #ifndef GEOMVERTEXWRITER_H 15 #define GEOMVERTEXWRITER_H 59 Thread *current_thread = Thread::get_current_thread());
62 Thread *current_thread = Thread::get_current_thread());
64 Thread *current_thread = Thread::get_current_thread());
67 Thread *current_thread = Thread::get_current_thread());
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];
222 INLINE std::ostream &
This object provides a high-level interface for quickly writing a sequence of numeric values from a v...
This is a const pointer to an InternalName, and should be used in lieu of a CPT(InternalName) in func...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This data object is returned by GeomVertexArrayData::get_handle() or modify_handle().
Encapsulates the data from a GeomVertexData, pre-fetched for one stage of the pipeline.
This defines how a single column is interleaved within a vertex array stored within a Geom.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This defines the actual numeric vertex data stored in a Geom, in the structure defined by a particula...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
Encodes a string name in a hash table, mapping it to a pointer.
A thread; that is, a lightweight process.
This is the data for one array of a GeomVertexData structure.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.