draw  0.0.0
Classes | Public Types | Public Member Functions | Static Public Attributes | List of all members
draw::Geometry Class Referenceabstract

Set of indexed 2D-primitives. More...

#include <draw.h>

Classes

struct  Vertex
 2D-vertex. More...
 

Public Types

enum  Primitive { Primitive::Point = 1, Primitive::Line, Primitive::Triangle }
 A type of primitive. More...
 
using Vertices = Span< Vertex >
 Sequence of vertices. More...
 
using Index = uint16_t
 An index of a vertex. More...
 
using Indices = Span< Index >
 Sequence of indices. More...
 

Public Member Functions

virtual ~Geometry ()=default
 
virtual uint32_t vertexCount () const =0
 return vertex count More...
 
virtual uint32_t indexCount () const =0
 return index count More...
 
virtual Primitive primitive () const =0
 return primitive type More...
 

Static Public Attributes

static const uint32_t kMaxVertexCount = 65535
 maximum available vertex count More...
 

Detailed Description

Set of indexed 2D-primitives.

You should define your vertices in [0.0, 1.0] space as if it's fit to one pixel. Then you can set appropriate pixel size via Shape::size(const Size& size). To create an object of this type use Renderer::makeGeometry function.

Member Typedef Documentation

using draw::Geometry::Index = uint16_t

An index of a vertex.

Sequence of indices.

Sequence of vertices.

Member Enumeration Documentation

A type of primitive.

Enumerator
Point 

consumes 1 index per primitive

Line 

consumes 2 index per primitive

Triangle 

consumes 3 index per primitive

Constructor & Destructor Documentation

virtual draw::Geometry::~Geometry ( )
virtualdefault

Member Function Documentation

virtual uint32_t draw::Geometry::indexCount ( ) const
pure virtual

return index count

virtual Primitive draw::Geometry::primitive ( ) const
pure virtual

return primitive type

virtual uint32_t draw::Geometry::vertexCount ( ) const
pure virtual

return vertex count

Member Data Documentation

const uint32_t draw::Geometry::kMaxVertexCount = 65535
static

maximum available vertex count


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