Select Git revision
VerticesArray.hpp

BATON Theau authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
VerticesArray.hpp 1.25 KiB
#pragma once
#include <array>
#include <engine/graphics/back/geometry/Transformable.hpp>
#include <engine/graphics/back/textures/Texture.hpp>
#include <engine/graphics/front/geometry/Quads.hpp>
#include <engine/graphics/front/geometry/Vertex.hpp>
namespace megu {
class VerticesArray {
public:
VerticesArray(Primitive_t, size_t);
VerticesArray(const VerticesArray &);
VerticesArray operator=(const VerticesArray &);
~VerticesArray() = default;
inline size_t size() const {return this->_vertices.size();}
void scale(float x, float y) {this->_transformation.scale(x, y);}
void append(const Vertex &);
const Transformable & transformation() const {return this->_transformation;}
const Primitive_t & primitive() const {return this->_primitive;}
const std::vector<Vertex> & vertices() const {return this->_vertices;}
Vertex & operator[](size_t index) {return this->_vertices[index];}
const Vertex & operator[](size_t index) const {return this->_vertices[index];}
private:
Transformable _transformation;
Primitive_t _primitive;
std::vector<Vertex> _vertices;
};
}