PROTO::KLUDGE  0.1
Quick prototyping library for games using SDL and OpenGL.
pk::Mesh Class Reference

Class for building OpenGL generic geometry. More...

#include <Mesh.hpp>

Inheritance diagram for pk::Mesh:
Inheritance graph
Collaboration diagram for pk::Mesh:
Collaboration graph

Public Member Functions

 Mesh (GLfloat *vertices, unsigned int *indices, unsigned int numvertices, unsigned int numindices)
 Required constructor - any Mesh instance will need at least vertices and indices (and their associated counts) to function properly. More...
 
 ~Mesh ()
 
void draw (GLStates &states)
 Draw the Mesh to the screen. More...
 
- Public Member Functions inherited from pk::GLDrawable
 GLDrawable ()
 
virtual ~GLDrawable ()
 
- Public Member Functions inherited from pk::GLTransformable
 GLTransformable ()
 Default constructor. More...
 
virtual ~GLTransformable ()
 
void setRect (GLRect r)
 Set the bounding rectangle for the GLTransformable object. Useful for calculating origin and size definitions. More...
 
GLRectgetRect ()
 Get the current bounding rectangle of the GLTransformable object. More...
 
void setWidth (GLfloat w)
 Convenient function for setting the width of the GLTransformable. More...
 
GLfloat & getWidth ()
 Get the width of the GLTransformable. More...
 
void setHeight (GLfloat h)
 
GLfloat & getHeight ()
 Get the height of the GLTransformable. More...
 
void setOrigin (glm::vec2 origin)
 Set the origin of the GLTransformable in screen coordinates (NOT normalized coordinates such as clip coordinates for example). More...
 
glm::vec2 & getOrigin ()
 Get the origin of the GLTransformable in screen coordinates (NOT normalized coordinates such as clip coordinates for example). More...
 
void setPosition (glm::vec2 position)
 Set the position of the GLTransformable in screen coordinates (NOT normalized coordinates such as clip coordinates for example). More...
 
const glm::vec2 & getPosition ()
 Get the position of the GLTransformable in screen coordinates (NOT normalized coordinates such as clip coordinates for example). More...
 
void move (glm::vec2 offset)
 Move the GLTransformable by a constant offset value in screen coordinates (NOT normalized coordinates such as clip coordinates for example). More...
 
void setAngle (float angle)
 Set the angle of the GLTransformable (in degrees, NOT radians). More...
 
float getAngle ()
 Get the angle of the GLTransformable (in degrees, NOT radians). More...
 
void rotate (float degrees)
 Rotate the GLTransformable by a constant value (in degrees, NOT radians). (in degrees, NOT radians). More...
 
void setScale (glm::vec2 scale)
 Set the scale of the GLTransformable. More...
 
glm::vec2 getScale ()
 Get the scale of the GLTransformable. More...
 
void scale (glm::vec2 scale)
 Scale the GLTransformable by a constant factor specified as a glm::vec2 of floats. More...
 
void clear ()
 Clear the buffers and reset the GLTransformable to an uninitialized state. More...
 

Private Member Functions

 Mesh ()
 Default constructor - INACCESSIBLE! More...
 
void updateNormals (GLfloat *vertices, unsigned int verticeCount, unsigned int *indices, unsigned int stride)
 

Additional Inherited Members

- Public Attributes inherited from pk::GLTransformable
GLTransformData m_data
 Internal transform data for GLTransformable inherited classes. More...
 

Detailed Description

Class for building OpenGL generic geometry.

Constructor & Destructor Documentation

◆ Mesh() [1/2]

pk::Mesh::Mesh ( )
inlineprivate

Default constructor - INACCESSIBLE!

◆ Mesh() [2/2]

pk::Mesh::Mesh ( GLfloat *  vertices,
unsigned int *  indices,
unsigned int  numvertices,
unsigned int  numindices 
)

Required constructor - any Mesh instance will need at least vertices and indices (and their associated counts) to function properly.

◆ ~Mesh()

pk::Mesh::~Mesh ( )

Member Function Documentation

◆ draw()

void pk::Mesh::draw ( GLStates states)
virtual

Draw the Mesh to the screen.

Parameters
GLStates&states - reference to an OpenGl states struct.

Implements pk::GLDrawable.

◆ updateNormals()

void pk::Mesh::updateNormals ( GLfloat *  vertices,
unsigned int  verticeCount,
unsigned int *  indices,
unsigned int  stride 
)
private

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