SFML - Simple and Fast Multimedia Library

SFML 3.1.0
Loading...
Searching...
No Matches
Public Member Functions | List of all members
sf::VertexArray Class Reference
Graphics module

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

`#include <SFML/Graphics/VertexArray.hpp>`

Inheritance diagram for sf::VertexArray:

## 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.
Vertex & | operator[] (std::size_t index)
| Get a read-write access to a vertex by its index.
const Vertex & | operator[] (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.
std::vector< Vertex >::iterator | begin ()
| Return an iterator to the beginning of the array.
std::vector< Vertex >::const_iterator | begin () const
| Return an iterator to the beginning of the array.
std::vector< Vertex >::iterator | end ()
| Return an iterator to the end of the array.
std::vector< Vertex >::const_iterator | end () const
| Return an iterator to the end of the 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:

sf::VertexArray lines(sf::PrimitiveType::LineStrip, 4);
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);
sf::VertexArray
Set of one or more 2D primitives.
Definition VertexArray.hpp:52
sf::PrimitiveType::LineStrip
@ LineStrip
List of connected lines, a point uses the previous point to form a line.
Definition PrimitiveType.hpp:42
sf::Vector2f
Vector2< float > Vector2f
Definition Vector2.hpp:213

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

  type | Type of primitives
  vertexCount | Initial number of vertices in the array

## Member Function Documentation

## ◆ append()

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

Add a vertex to the array.

Parameters

  vertex | Vertex to add

## ◆ begin() [1/2]

std::vector< Vertex >::iterator sf::VertexArray::begin | ( |  | ) |
| nodiscard

Return an iterator to the beginning of the array.

Returns
  Read-write iterator to the beginning of the vertices

See also
  end

## ◆ begin() [2/2]

std::vector< Vertex >::const_iterator sf::VertexArray::begin | ( |  | ) | const
| nodiscard

Return an iterator to the beginning of the array.

Returns
  Read-only iterator to the beginning of the vertices

See also
  end

## ◆ 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.

## ◆ end() [1/2]

std::vector< Vertex >::iterator sf::VertexArray::end | ( |  | ) |
| nodiscard

Return an iterator to the end of the array.

The end iterator refers to 1 position past the last vertex; thus it represents an invalid vertex and should never be accessed.

Returns
  Read-write iterator to the end of the vertices

See also
  begin

## ◆ end() [2/2]

std::vector< Vertex >::const_iterator sf::VertexArray::end | ( |  | ) | const
| nodiscard

Return an iterator to the end of the array.

The end iterator refers to 1 position past the last vertex; thus it represents an invalid vertex and should never be accessed.

Returns
  Read-only iterator to the end of the vertices

See also
  begin

## ◆ 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

  index | Index 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

  index | Index 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

  vertexCount | New 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:

- As points
- As lines
- As triangles The default primitive type is sf::PrimitiveType::Points.

Parameters

  type | Type of primitive

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

- VertexArray.hpp