17 operator << (ostream &out,
const GeomVertexFormat &obj) {
30 INLINE
bool GeomVertexFormat::
31 is_registered()
const {
32 return _is_registered;
50 INLINE CPT(GeomVertexFormat) GeomVertexFormat::
51 register_format(
const GeomVertexFormat *format) {
52 return get_registry()->register_format((GeomVertexFormat *)format);
61 INLINE CPT(GeomVertexFormat) GeomVertexFormat::
62 register_format(
const GeomVertexArrayFormat *format) {
63 return register_format(
new GeomVertexFormat(format));
73 get_animation()
const {
88 INLINE
void GeomVertexFormat::
90 nassertv(!_is_registered);
91 _animation = animation;
103 INLINE
int GeomVertexFormat::
104 get_num_arrays()
const {
105 return _arrays.size();
114 INLINE
const GeomVertexArrayFormat *GeomVertexFormat::
115 get_array(
int array)
const {
116 nassertr(array >= 0 && array < (
int)_arrays.size(), NULL);
117 return _arrays[array];
126 INLINE
bool GeomVertexFormat::
127 has_column(
const InternalName *name)
const {
140 INLINE
int GeomVertexFormat::
141 get_num_points()
const {
142 nassertr(_is_registered, 0);
143 return _points.size();
156 INLINE
const InternalName *GeomVertexFormat::
157 get_point(
int n)
const {
158 nassertr(_is_registered, NULL);
159 nassertr(n >= 0 && n < (
int)_points.size(), NULL);
172 INLINE
int GeomVertexFormat::
173 get_num_vectors()
const {
174 nassertr(_is_registered, 0);
175 return _vectors.size();
189 INLINE
const InternalName *GeomVertexFormat::
190 get_vector(
int n)
const {
191 nassertr(_is_registered, NULL);
192 nassertr(n >= 0 && n < (
int)_vectors.size(), NULL);
205 INLINE
int GeomVertexFormat::
206 get_num_texcoords()
const {
207 nassertr(_is_registered, 0);
208 return _texcoords.size();
220 INLINE
const InternalName *GeomVertexFormat::
221 get_texcoord(
int n)
const {
222 nassertr(_is_registered, NULL);
223 nassertr(n >= 0 && n < (
int)_texcoords.size(), NULL);
224 return _texcoords[n];
236 INLINE
int GeomVertexFormat::
237 get_num_morphs()
const {
238 nassertr(_is_registered, 0);
240 return _morphs.size();
254 INLINE
const InternalName *GeomVertexFormat::
255 get_morph_slider(
int n)
const {
256 nassertr(_is_registered, NULL);
257 nassertr(n >= 0 && n < (
int)_morphs.size(), NULL);
259 return _morphs[n]._slider;
273 INLINE
const InternalName *GeomVertexFormat::
274 get_morph_base(
int n)
const {
275 nassertr(_is_registered, NULL);
276 nassertr(n >= 0 && n < (
int)_morphs.size(), NULL);
278 return _morphs[n]._base;
294 INLINE
const InternalName *GeomVertexFormat::
295 get_morph_delta(
int n)
const {
296 nassertr(_is_registered, NULL);
297 nassertr(n >= 0 && n < (
int)_morphs.size(), NULL);
299 return _morphs[n]._delta;
308 INLINE
const GeomVertexFormat *GeomVertexFormat::
310 return get_registry()->_v3;
319 INLINE
const GeomVertexFormat *GeomVertexFormat::
321 return get_registry()->_v3n3;
331 INLINE
const GeomVertexFormat *GeomVertexFormat::
333 return get_registry()->_v3t2;
343 INLINE
const GeomVertexFormat *GeomVertexFormat::
345 return get_registry()->_v3n3t2;
354 INLINE
const GeomVertexFormat *GeomVertexFormat::
356 return get_registry()->_v3cp;
366 INLINE
const GeomVertexFormat *GeomVertexFormat::
368 return get_registry()->_v3n3cp;
378 INLINE
const GeomVertexFormat *GeomVertexFormat::
380 return get_registry()->_v3cpt2;
391 INLINE
const GeomVertexFormat *GeomVertexFormat::
393 return get_registry()->_v3n3cpt2;
402 INLINE
const GeomVertexFormat *GeomVertexFormat::
404 return get_registry()->_v3c4;
414 INLINE
const GeomVertexFormat *GeomVertexFormat::
416 return get_registry()->_v3n3c4;
426 INLINE
const GeomVertexFormat *GeomVertexFormat::
428 return get_registry()->_v3c4t2;
439 INLINE
const GeomVertexFormat *GeomVertexFormat::
441 return get_registry()->_v3n3c4t2;
453 INLINE
int GeomVertexFormat::
454 get_vertex_array_index()
const {
455 nassertr(_is_registered, -1);
456 return _vertex_array_index;
469 get_vertex_column()
const {
470 nassertr(_is_registered, NULL);
471 return _vertex_column;
483 INLINE
int GeomVertexFormat::
484 get_normal_array_index()
const {
485 nassertr(_is_registered, -1);
486 return _normal_array_index;
499 get_normal_column()
const {
500 nassertr(_is_registered, NULL);
501 return _normal_column;
513 INLINE
int GeomVertexFormat::
514 get_color_array_index()
const {
515 nassertr(_is_registered, -1);
516 return _color_array_index;
529 get_color_column()
const {
530 nassertr(_is_registered, NULL);
531 return _color_column;
539 INLINE GeomVertexFormat::Registry *GeomVertexFormat::
541 if (_registry == (Registry *)NULL) {
553 INLINE CPT(GeomVertexFormat) GeomVertexFormat::Registry::
554 register_format(GeomVertexArrayFormat *format) {
555 return register_format(
new GeomVertexFormat(format));
This object describes how the vertex animation, if any, represented in a GeomVertexData is encoded...
This defines how a single column is interleaved within a vertex array stored within a Geom...