Loading...
Searching...
No Matches

Set of one or more 2D primitives. More...

#include <SFML/Graphics/VertexArray.hpp>

Inheritance diagram for sf::VertexArray:
sf::Drawable

Public Member Functions

 VertexArray ()=default
 Default constructor.
 
 VertexArray (PrimitiveType type, std::size_t vertexCount=0)
 Construct the vertex array with a type and an initial number of vertices.
 
std::size_t getVertexCount () const
 Return the vertex count.
 
Vertexoperator[] (std::size_t index)
 Get a read-write access to a vertex by its index.
 
const Vertexoperator[] (std::size_t index) const
 Get a read-only access to a vertex by its index.
 
void clear ()
 Clear the vertex array.
 
void resize (std::size_t vertexCount)
 Resize the vertex array.
 
void append (const Vertex &vertex)
 Add a vertex to the array.
 
void setPrimitiveType (PrimitiveType type)
 Set the type of primitives to draw.
 
PrimitiveType getPrimitiveType () const
 Get the type of primitives drawn by the vertex array.
 
FloatRect getBounds () const
 Compute the bounding rectangle of the vertex array.
 

Detailed Description

Set of one or more 2D primitives.

sf::VertexArray is a very simple wrapper around a dynamic array of vertices and a primitives type.

It inherits sf::Drawable, but unlike other drawables it is not transformable.

Example:

lines[0].position = sf::Vector2f(10, 0);
lines[1].position = sf::Vector2f(20, 0);
lines[2].position = sf::Vector2f(30, 5);
lines[3].position = sf::Vector2f(40, 2);
window.draw(lines);
Set of one or more 2D primitives.
@ LineStrip
List of connected lines, a point uses the previous point to form a line.
Vector2< float > Vector2f
Definition Vector2.hpp:210
See also
sf::Vertex

Definition at line 51 of file VertexArray.hpp.

Constructor & Destructor Documentation

◆ VertexArray() [1/2]

sf::VertexArray::VertexArray ( )
default

Default constructor.

Creates an empty vertex array.

◆ VertexArray() [2/2]

sf::VertexArray::VertexArray ( PrimitiveType type,
std::size_t vertexCount = 0 )
explicit

Construct the vertex array with a type and an initial number of vertices.

Parameters
typeType of primitives
vertexCountInitial number of vertices in the array

Member Function Documentation

◆ append()

void sf::VertexArray::append ( const Vertex & vertex)

Add a vertex to the array.

Parameters
vertexVertex to add

◆ clear()

void sf::VertexArray::clear ( )

Clear the vertex array.

This function removes all the vertices from the array. It doesn't deallocate the corresponding memory, so that adding new vertices after clearing doesn't involve reallocating all the memory.

◆ getBounds()

FloatRect sf::VertexArray::getBounds ( ) const
nodiscard

Compute the bounding rectangle of the vertex array.

This function returns the minimal axis-aligned rectangle that contains all the vertices of the array.

Returns
Bounding rectangle of the vertex array

◆ getPrimitiveType()

PrimitiveType sf::VertexArray::getPrimitiveType ( ) const
nodiscard

Get the type of primitives drawn by the vertex array.

Returns
Primitive type

◆ getVertexCount()

std::size_t sf::VertexArray::getVertexCount ( ) const
nodiscard

Return the vertex count.

Returns
Number of vertices in the array

◆ operator[]() [1/2]

Vertex & sf::VertexArray::operator[] ( std::size_t index)
nodiscard

Get a read-write access to a vertex by its index.

This function doesn't check index, it must be in range [0, getVertexCount() - 1]. The behavior is undefined otherwise.

Parameters
indexIndex of the vertex to get
Returns
Reference to the index-th vertex
See also
getVertexCount

◆ operator[]() [2/2]

const Vertex & sf::VertexArray::operator[] ( std::size_t index) const
nodiscard

Get a read-only access to a vertex by its index.

This function doesn't check index, it must be in range [0, getVertexCount() - 1]. The behavior is undefined otherwise.

Parameters
indexIndex of the vertex to get
Returns
Const reference to the index-th vertex
See also
getVertexCount

◆ resize()

void sf::VertexArray::resize ( std::size_t vertexCount)

Resize the vertex array.

If vertexCount is greater than the current size, the previous vertices are kept and new (default-constructed) vertices are added. If vertexCount is less than the current size, existing vertices are removed from the array.

Parameters
vertexCountNew size of the array (number of vertices)

◆ setPrimitiveType()

void sf::VertexArray::setPrimitiveType ( PrimitiveType type)

Set the type of primitives to draw.

This function defines how the vertices must be interpreted when it's time to draw them:

Parameters
typeType of primitive

The documentation for this class was generated from the following file: