24#ifndef GF_VERTEX_ARRAY_H
25#define GF_VERTEX_ARRAY_H
31#include "GraphicsApi.h"
32#include "PrimitiveType.h"
37#ifndef DOXYGEN_SHOULD_SKIP_THIS
99 return m_vertices.size();
108 return m_vertices.data();
125 return m_vertices[index];
142 return m_vertices[index];
153 return m_vertices.data();
164 return m_vertices.data() + m_vertices.size();
175 return m_vertices.data();
186 return m_vertices.data() + m_vertices.size();
195 return m_vertices.empty();
223 m_vertices.resize(count);
232 m_vertices.reserve(capacity);
241 m_vertices.push_back(vertex);
249 template<
typename ...
V>
251 (append(std::forward<V>(vertices)), ...);
295 std::vector<Vertex> m_vertices;
298#ifndef DOXYGEN_SHOULD_SKIP_THIS
Abstract base class for objects that can be drawn to a render window.
Definition: Drawable.h:57
Base class for all render targets (window, texture, ...)
Definition: RenderTarget.h:102
A set of primitives.
Definition: VertexArray.h:65
const Vertex * end() const
Get an iterator past the last element.
Definition: VertexArray.h:163
PrimitiveType getPrimitiveType() const
Get the type of primitives drawn by the vertex array.
Definition: VertexArray.h:277
const Vertex * begin() const
Get an iterator to the first element.
Definition: VertexArray.h:152
Vertex & operator[](std::size_t index)
Get a read-write access to a vertex by its index.
Definition: VertexArray.h:124
Vertex * begin()
Get an iterator to the first element.
Definition: VertexArray.h:174
VertexArray(PrimitiveType type, std::size_t count=0)
Construct the vertex array with a type and an initial number of vertices.
Definition: VertexArray.h:86
VertexArray()
Default constructor.
Definition: VertexArray.h:73
void appendAll(V &&... vertices)
Append a sequence of vertices.
Definition: VertexArray.h:250
Vertex * end()
Get an iterator past the last element.
Definition: VertexArray.h:185
void append(const Vertex &vertex)
Add a vertex to the array.
Definition: VertexArray.h:240
const Vertex & operator[](std::size_t index) const
Get a read-only access to a vertex by its index.
Definition: VertexArray.h:141
void setPrimitiveType(PrimitiveType type)
Set the type of primitives to draw.
Definition: VertexArray.h:268
std::size_t getVertexCount() const
Return the vertex count.
Definition: VertexArray.h:98
RectF getBounds() const
Compute the bounding rectangle of the vertex array.
void clear()
Clear the vertex array.
Definition: VertexArray.h:206
virtual void draw(RenderTarget &target, const RenderStates &states) override
Draw the object to a render target.
const Vertex * getVertexData() const
Return the vertex data.
Definition: VertexArray.h:107
bool isEmpty() const
Check if the vertex array is empty.
Definition: VertexArray.h:194
void resize(std::size_t count)
Resize the vertex array.
Definition: VertexArray.h:222
void reserve(std::size_t capacity)
Increase the capacity of the vertex array.
Definition: VertexArray.h:231
PrimitiveType
Kind of primitives to render.
Definition: PrimitiveType.h:43
@ Points
List of individual points.
The namespace for gf classes.
Define the states used for drawing to a RenderTarget.
Definition: RenderStates.h:82
A point associated with a color and a texture coordinate.
Definition: Vertex.h:75