Gem Illuminator
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
GemData Class Reference

The GemData class stores all required information to describe an AbstractGem. The advantage of GemData is, that it is possible to assign, copy, compare and qHash() this class. Therefore, it is possible to store it in most Qt-containers. More...

#include <gemdata.h>

Public Member Functions

 GemData ()
 Creates a new GemData with all values initialized to zero. More...
 
 GemData (const GemData &ohterGemData)
 Copy constructor. More...
 
 ~GemData ()
 
GemDataoperator= (const GemData &rhs)
 
const QVector3D & color () const
 
void setColor (const QVector3D &color)
 
const QMatrix4x4 & model () const
 Returns on demand the modelmatrix of current gemData. More...
 
const QVector3D & position () const
 
void setPosition (const QVector3D &position)
 
const QQuaternion & rotation () const
 
void setRotation (const QQuaternion &rotation)
 
float scale () const
 
void setScale (float scale)
 
const QList< Triangle * > & triangles () const
 
void setTriangles (const QList< Triangle * > &triangles)
 
GemType type () const
 
void setType (GemType type)
 

Protected Member Functions

void copyTriangles (const QList< Triangle * > &triangles)
 
void calculateModelMatrix () const
 

Protected Attributes

QVector3D * m_color
 
bool m_isModelInvalid
 
QMatrix4x4 * m_model
 
QVector3D * m_position
 
QQuaternion * m_rotation
 
float m_scale
 
QList< Triangle * > * m_triangles
 
GemType m_type
 

Detailed Description

The GemData class stores all required information to describe an AbstractGem. The advantage of GemData is, that it is possible to assign, copy, compare and qHash() this class. Therefore, it is possible to store it in most Qt-containers.

Constructor & Destructor Documentation

GemData::GemData ( )

Creates a new GemData with all values initialized to zero.

GemData::GemData ( const GemData ohterGemData)

Copy constructor.

Parameters
ohterGemDataGemData that should be copied.
GemData::~GemData ( )

Member Function Documentation

void GemData::calculateModelMatrix ( ) const
protected
const QVector3D & GemData::color ( ) const
void GemData::copyTriangles ( const QList< Triangle * > &  triangles)
protected
const QMatrix4x4 & GemData::model ( ) const

Returns on demand the modelmatrix of current gemData.

Returns
GemData & GemData::operator= ( const GemData rhs)
const QVector3D & GemData::position ( ) const
const QQuaternion & GemData::rotation ( ) const
float GemData::scale ( ) const
void GemData::setColor ( const QVector3D &  color)
void GemData::setPosition ( const QVector3D &  position)
void GemData::setRotation ( const QQuaternion &  rotation)
void GemData::setScale ( float  scale)
void GemData::setTriangles ( const QList< Triangle * > &  triangles)
void GemData::setType ( GemType  type)
const QList< Triangle * > & GemData::triangles ( ) const
GemType GemData::type ( ) const

Member Data Documentation

QVector3D* GemData::m_color
protected
bool GemData::m_isModelInvalid
mutableprotected
QMatrix4x4* GemData::m_model
mutableprotected
QVector3D* GemData::m_position
protected
QQuaternion* GemData::m_rotation
protected
float GemData::m_scale
protected
QList<Triangle *>* GemData::m_triangles
protected
GemType GemData::m_type
protected

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