36#include "../../Core/Math/vec3.h"
37#include "../2D/color.h"
38#include "vertex_array_vector.h"
49 class PrimitivesArray_Impl;
52 #define cl_offsetof(s,m) (&(((s *)0)->m))
82 explicit operator bool()
const {
return bool(impl); }
281 template<
typename Type>
287 template<
typename Type>
293 template<
typename Type>
299 template<
typename Type>
305 template<
typename Type>
311 template<
typename Type>
317 template<
typename Type>
323 template<
typename Type>
329 template<
typename Type>
335 template<
typename Type>
341 template<
typename Type>
347 template<
typename Type>
353 template<
typename Type>
359 template<
typename Type>
365 template<
typename Type>
371 template<
typename Type>
377 template<
typename Type>
383 template<
typename Type>
389 template<
typename Type>
395 template<
typename Type>
401 template<
typename Type>
407 template<
typename Type>
413 template<
typename Type>
419 template<
typename Type>
425 template<
typename Type>
431 template<
typename Type>
437 template<
typename Type>
443 template<
typename Type>
449 template<
typename Type>
456 std::shared_ptr<PrimitivesArray_Impl> impl;
Floating point color description class (for float).
Definition color.h:799
Interface to drawing graphics.
Definition graphic_context.h:257
Interface for implementing a PrimitivesArray target.
Definition primitives_array_provider.h:40
void set_attributes(int index, VertexArrayVector< Type > &buffer, signed char *member_offset, bool normalize=false)
Definition primitives_array.h:288
void set_attributes(int index, VertexArrayVector< Vec3us > &buffer, bool normalize=false)
Definition primitives_array.h:216
void set_attributes(int index, VertexArrayVector< Type > &buffer, Vec3ub *member_offset, bool normalize=false)
Definition primitives_array.h:366
void set_attributes(int index, VertexArrayVector< Type > &buffer, Vec2us *member_offset, bool normalize=false)
Definition primitives_array.h:336
void set_attributes(int index, VertexArrayVector< unsigned char > &buffer, int size, bool normalize=false)
Definition primitives_array.h:101
void set_attributes(int index, VertexArrayVector< Vec4s > &buffer, bool normalize=false)
Definition primitives_array.h:256
void set_attributes(int index, VertexArrayVector< Type > &buffer, signed short *member_offset, bool normalize=false)
Definition primitives_array.h:300
PrimitivesArray()
Construct a null instance.
void set_attributes(int index, VertexArrayVector< signed char > &buffer, bool normalize=false)
Definition primitives_array.h:141
void set_attributes(int index, VertexArrayVector< float > &buffer)
Definition primitives_array.h:166
void set_attributes(int index, VertexArrayVector< Type > &buffer, Vec2ui *member_offset, bool normalize=false)
Definition primitives_array.h:348
void set_attributes(int index, VertexArrayVector< char > &buffer, int size, bool normalize=false)
Definition primitives_array.h:106
void set_attributes(int index, VertexArrayVector< unsigned int > &buffer, bool normalize=false)
Definition primitives_array.h:156
void set_attributes(int index, VertexArrayVector< Vec2s > &buffer, bool normalize=false)
Definition primitives_array.h:186
void set_attributes(int index, VertexArrayVector< Type > &buffer, Vec2i *member_offset, bool normalize=false)
Definition primitives_array.h:354
PrimitivesArray(GraphicContext &gc)
Constructs a PrimitivesArray.
void set_attributes(int index, VertexArrayVector< Vec2us > &buffer, bool normalize=false)
Definition primitives_array.h:181
void set_attributes(int index, VertexArrayVector< Vec3i > &buffer, bool normalize=false)
Definition primitives_array.h:231
PrimitivesArrayProvider * get_provider() const
Returns the target provider for the primitives array.
void set_attributes(int index, VertexArrayVector< Vec4b > &buffer, bool normalize=false)
Definition primitives_array.h:246
void set_attributes(int index, VertexArrayVector< unsigned short > &buffer, int size, bool normalize=false)
Definition primitives_array.h:111
void set_attributes(int index, VertexArrayBuffer &buffer, int size, VertexAttributeDataType type, size_t offset=0, int stride=0, bool normalize=false)
Set attributes.
void set_attributes(int index, VertexArrayVector< Vec3b > &buffer, bool normalize=false)
Definition primitives_array.h:211
void set_attributes(int index, VertexArrayVector< Type > &buffer, Vec4us *member_offset, bool normalize=false)
Definition primitives_array.h:420
void set_attributes(int index, VertexArrayVector< Type > &buffer, float *member_offset)
Definition primitives_array.h:318
void set_attributes(int index, VertexArrayVector< Type > &buffer, unsigned int *member_offset, bool normalize=false)
Definition primitives_array.h:306
void set_attributes(int index, VertexArrayVector< Vec3ui > &buffer, bool normalize=false)
Definition primitives_array.h:226
void set_attributes(int index, VertexArrayVector< Type > &buffer, Vec3ui *member_offset, bool normalize=false)
Definition primitives_array.h:390
void set_attributes(int index, VertexArrayVector< signed short > &buffer, bool normalize=false)
Definition primitives_array.h:151
void set_attributes(int index, VertexArrayVector< Vec4ub > &buffer, bool normalize=false)
Definition primitives_array.h:241
void set_attributes(int index, VertexArrayVector< Type > &buffer, Vec2s *member_offset, bool normalize=false)
Definition primitives_array.h:342
void set_attributes(int index, VertexArrayVector< Vec4us > &buffer, bool normalize=false)
Definition primitives_array.h:251
void set_attributes(int index, VertexArrayVector< Type > &buffer, Vec4f *member_offset)
Definition primitives_array.h:444
void set_attributes(int index, VertexArrayVector< unsigned short > &buffer, bool normalize=false)
Definition primitives_array.h:146
bool is_null() const
Returns true if this object is invalid.
Definition primitives_array.h:81
void set_attributes(int index, VertexArrayVector< Type > &buffer, signed int *member_offset, bool normalize=false)
Definition primitives_array.h:312
void set_attributes(int index, VertexArrayVector< Vec4ui > &buffer, bool normalize=false)
Definition primitives_array.h:261
void set_attributes(int index, VertexArrayVector< signed int > &buffer, bool normalize=false)
Definition primitives_array.h:161
void set_attributes(int index, VertexArrayVector< Vec4f > &buffer)
Definition primitives_array.h:271
void set_attributes(int index, VertexArrayVector< Vec2ui > &buffer, bool normalize=false)
Definition primitives_array.h:191
void set_attributes(int index, VertexArrayVector< Type > &buffer, Vec3i *member_offset, bool normalize=false)
Definition primitives_array.h:396
void set_attributes(int index, VertexArrayVector< unsigned int > &buffer, int size, bool normalize=false)
Definition primitives_array.h:121
void set_attributes(int index, VertexArrayVector< Type > &buffer, unsigned char *member_offset, bool normalize=false)
Definition primitives_array.h:282
void set_attributes(int index, VertexArrayVector< Type > &buffer, Vec4ui *member_offset, bool normalize=false)
Definition primitives_array.h:432
void set_attributes(int index, VertexArrayVector< Type > &buffer, Vec3f *member_offset)
Definition primitives_array.h:402
void set_attributes(int index, VertexArrayVector< Type > &buffer, unsigned short *member_offset, bool normalize=false)
Definition primitives_array.h:294
void set_attributes(int index, VertexArrayVector< Vec4i > &buffer, bool normalize=false)
Definition primitives_array.h:266
void set_attributes(int index, VertexArrayVector< int > &buffer, int size, bool normalize=false)
Definition primitives_array.h:126
void set_attributes(int index, VertexArrayVector< Vec2i > &buffer, bool normalize=false)
Definition primitives_array.h:196
void set_attributes(int index, VertexArrayVector< Vec3f > &buffer)
Definition primitives_array.h:236
void set_attributes(int index, VertexArrayVector< short > &buffer, int size, bool normalize=false)
Definition primitives_array.h:116
void set_attributes(int index, VertexArrayVector< Vec3ub > &buffer, bool normalize=false)
Definition primitives_array.h:206
void throw_if_null() const
Throw an exception if this object is invalid.
void set_attributes(int index, VertexArrayVector< Type > &buffer, Vec4i *member_offset, bool normalize=false)
Definition primitives_array.h:438
void set_attributes(int index, VertexArrayVector< Vec2ub > &buffer, bool normalize=false)
Definition primitives_array.h:171
void set_attributes(int index, VertexArrayVector< Type > &buffer, Vec3s *member_offset, bool normalize=false)
Definition primitives_array.h:384
void set_attributes(int index, VertexArrayVector< float > &buffer, int size, bool normalize=false)
Definition primitives_array.h:131
void set_attributes(int index, VertexArrayVector< Type > &buffer, Vec2ub *member_offset, bool normalize=false)
Definition primitives_array.h:324
void set_attributes(int index, VertexArrayVector< Type > &buffer, Vec2b *member_offset, bool normalize=false)
Definition primitives_array.h:330
void set_attributes(int index, VertexArrayVector< Type > &buffer, Vec2f *member_offset)
Definition primitives_array.h:360
void set_attributes(int index, VertexArrayVector< Type > &buffer, Vec3b *member_offset, bool normalize=false)
Definition primitives_array.h:372
void set_attributes(int index, VertexArrayVector< Colorf > &buffer)
Definition primitives_array.h:276
void set_attributes(int index, VertexArrayVector< Vec2b > &buffer, bool normalize=false)
Definition primitives_array.h:176
void set_attributes(int index, VertexArrayVector< Vec2f > &buffer)
Definition primitives_array.h:201
void set_attributes(int index, VertexArrayVector< Type > &buffer, Vec4b *member_offset, bool normalize=false)
Definition primitives_array.h:414
void set_attributes(int index, VertexArrayVector< Type > &buffer, Vec3us *member_offset, bool normalize=false)
Definition primitives_array.h:378
void set_attributes(int index, VertexArrayVector< Type > &buffer, Vec4ub *member_offset, bool normalize=false)
Definition primitives_array.h:408
void set_attributes(int index, VertexArrayVector< Type > &buffer, Vec4s *member_offset, bool normalize=false)
Definition primitives_array.h:426
void set_attributes(int index, VertexArrayVector< Type > &buffer, Colorf *member_offset)
Definition primitives_array.h:450
void set_attributes(int index, VertexArrayVector< unsigned char > &buffer, bool normalize=false)
Definition primitives_array.h:136
void set_attributes(int index, VertexArrayVector< Vec3s > &buffer, bool normalize=false)
Definition primitives_array.h:221
Vertex Array Buffer.
Definition vertex_array_buffer.h:46
Vertex Array Vector.
Definition vertex_array_vector.h:43
Vec4< unsigned char > Vec4ub
Definition vec4.h:393
Vec3< unsigned char > Vec3ub
Definition vec3.h:341
Vec4< unsigned int > Vec4ui
Definition vec4.h:397
Vec2< unsigned int > Vec2ui
Definition vec2.h:355
Vec2< unsigned short > Vec2us
Definition vec2.h:353
Vec3< unsigned short > Vec3us
Definition vec3.h:343
Vec4< char > Vec4b
Definition vec4.h:394
Vec4< float > Vec4f
Definition vec4.h:399
Vec3< unsigned int > Vec3ui
Definition vec3.h:345
Vec2< char > Vec2b
Definition vec2.h:352
Vec3< float > Vec3f
Definition vec3.h:347
Vec2< int > Vec2i
Definition vec2.h:356
Vec4< short > Vec4s
Definition vec4.h:396
Vec4< int > Vec4i
Definition vec4.h:398
Vec3< char > Vec3b
Definition vec3.h:342
Vec2< float > Vec2f
Definition vec2.h:357
Vec2< unsigned char > Vec2ub
Definition vec2.h:351
Vec3< short > Vec3s
Definition vec3.h:344
Vec2< short > Vec2s
Definition vec2.h:354
Vec3< int > Vec3i
Definition vec3.h:346
Vec4< unsigned short > Vec4us
Definition vec4.h:395
VertexAttributeDataType
Primitives array description.
Definition primitives_array.h:56
@ type_float
Definition primitives_array.h:63
@ type_short
Definition primitives_array.h:61
@ type_unsigned_byte
Definition primitives_array.h:57
@ type_int
Definition primitives_array.h:62
@ type_byte
Definition primitives_array.h:60
@ type_unsigned_short
Definition primitives_array.h:58
@ type_unsigned_int
Definition primitives_array.h:59