6 template<
typename T>
class QList;
37 const QVector3D &
color()
const;
38 void setColor(
const QVector3D &color);
44 const QMatrix4x4 &
model()
const;
QQuaternion * m_rotation
Definition: gemdata.h:70
GemData & operator=(const GemData &rhs)
Definition: gemdata.cpp:47
GemType
An enum describing current gem type. This enum is used for faster comparision of gems, because all gems of one type have same (objectspace) vertices.
Definition: abstractgem.h:22
const QVector3D & position() const
Definition: gemdata.cpp:80
QVector3D * m_position
Definition: gemdata.h:69
QVector3D * m_color
Definition: gemdata.h:66
The Triangle class represents a triangle in three dimensional space.
Definition: triangle.h:11
QList< Triangle * > * m_triangles
Definition: gemdata.h:72
const QMatrix4x4 & model() const
Returns on demand the modelmatrix of current gemData.
Definition: gemdata.cpp:72
The GemData class stores all required information to describe an AbstractGem. The advantage of GemDa...
Definition: gemdata.h:20
const QQuaternion & rotation() const
Definition: gemdata.cpp:94
void copyTriangles(const QList< Triangle * > &triangles)
Definition: gemdata.cpp:145
bool operator!=(const GemData &lhs, const GemData &rhs)
Definition: gemdata.cpp:194
void setScale(float scale)
Definition: gemdata.cpp:113
void setRotation(const QQuaternion &rotation)
Definition: gemdata.cpp:99
const QVector3D & color() const
Definition: gemdata.cpp:59
bool operator==(const GemData &lhs, const GemData &rhs)
Definition: gemdata.cpp:165
~GemData()
Definition: gemdata.cpp:35
void calculateModelMatrix() const
Definition: gemdata.cpp:156
float m_scale
Definition: gemdata.h:71
QMatrix4x4 * m_model
Definition: gemdata.h:68
void setTriangles(const QList< Triangle * > &triangles)
Definition: gemdata.cpp:127
uint qHash(const GemData &key, uint seed)
Definition: gemdata.cpp:185
GemData()
Creates a new GemData with all values initialized to zero.
Definition: gemdata.cpp:10
bool m_isModelInvalid
Definition: gemdata.h:67
GemType m_type
Definition: gemdata.h:73
void setPosition(const QVector3D &position)
Definition: gemdata.cpp:85
void setColor(const QVector3D &color)
Definition: gemdata.cpp:64
The AbstractGem class is the base class of all gems. As base class all required information of a gem...
Definition: abstractgem.h:39
const QList< Triangle * > & triangles() const
Definition: gemdata.cpp:122
void setType(GemType type)
Definition: gemdata.cpp:137
GemType type() const
Definition: gemdata.cpp:132
float scale() const
Definition: gemdata.cpp:108