Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
cpp3ds::Vertex Class Reference

Define a point with color and texture coordinates. More...

#include <Vertex.hpp>

Public Member Functions

 Vertex ()
 Default constructor. More...
 
 Vertex (const Vector2f &thePosition)
 Construct the vertex from its position. More...
 
 Vertex (const Vector2f &thePosition, const Color &theColor)
 Construct the vertex from its position and color. More...
 
 Vertex (const Vector2f &thePosition, const Vector2f &theTexCoords)
 Construct the vertex from its position and texture coordinates. More...
 
 Vertex (const Vector2f &thePosition, const Color &theColor, const Vector2f &theTexCoords)
 Construct the vertex from its position, color and texture coordinates. More...
 

Static Public Member Functions

static void * operator new (std::size_t size)
 
static void * operator new[] (std::size_t size)
 
static void operator delete (void *p)
 
static void operator delete[] (void *p)
 

Public Attributes

Vector2f position
 2D position of the vertex More...
 
Color color
 Color of the vertex. More...
 
Vector2f texCoords
 Coordinates of the texture's pixel to map to the vertex. More...
 

Detailed Description

Define a point with color and texture coordinates.

A vertex is an improved point.

It has a position and other extra attributes that will be used for drawing: in SFML, vertices also have a color and a pair of texture coordinates.

The vertex is the building block of drawing. Everything which is visible on screen is made of vertices. They are grouped as 2D primitives (triangles, quads, ...), and these primitives are grouped to create even more complex 2D entities such as sprites, texts, etc.

If you use the graphical entities of SFML (sprite, text, shape) you won't have to deal with vertices directly. But if you want to define your own 2D entities, such as tiled maps or particle systems, using vertices will allow you to get maximum performances.

Example:

// define a 100x100 square, red, with a 10x10 texture mapped on it
cpp3ds::Vertex vertices[] =
{
};
// draw it
window.draw(vertices, 4, cpp3ds::Quads);

Note: although texture coordinates are supposed to be an integer amount of pixels, their type is float because of some buggy graphics drivers that are not able to process integer coordinates correctly.

See also
cpp3ds::VertexArray

Definition at line 41 of file Vertex.hpp.

Constructor & Destructor Documentation

cpp3ds::Vertex::Vertex ( )

Default constructor.

cpp3ds::Vertex::Vertex ( const Vector2f thePosition)

Construct the vertex from its position.

The vertex color is white and texture coordinates are (0, 0).

Parameters
thePositionVertex position
cpp3ds::Vertex::Vertex ( const Vector2f thePosition,
const Color theColor 
)

Construct the vertex from its position and color.

The texture coordinates are (0, 0).

Parameters
thePositionVertex position
theColorVertex color
cpp3ds::Vertex::Vertex ( const Vector2f thePosition,
const Vector2f theTexCoords 
)

Construct the vertex from its position and texture coordinates.

The vertex color is white.

Parameters
thePositionVertex position
theTexCoordsVertex texture coordinates
cpp3ds::Vertex::Vertex ( const Vector2f thePosition,
const Color theColor,
const Vector2f theTexCoords 
)

Construct the vertex from its position, color and texture coordinates.

Parameters
thePositionVertex position
theColorVertex color
theTexCoordsVertex texture coordinates

Member Data Documentation

Color cpp3ds::Vertex::color

Color of the vertex.

Definition at line 104 of file Vertex.hpp.

Vector2f cpp3ds::Vertex::position

2D position of the vertex

Definition at line 103 of file Vertex.hpp.

Vector2f cpp3ds::Vertex::texCoords

Coordinates of the texture's pixel to map to the vertex.

Definition at line 105 of file Vertex.hpp.


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