36 lines
916 B
C++
36 lines
916 B
C++
#ifndef TILEVERTEXINFO_H
|
|
#define TILEVERTEXINFO_H
|
|
|
|
#include <QVector3D>
|
|
#include <QVector2D>
|
|
#include "vertex.h"
|
|
class TileVertexInfo
|
|
{
|
|
|
|
public:
|
|
Q_DECL_CONSTEXPR inline TileVertexInfo(){}
|
|
Q_DECL_CONSTEXPR inline TileVertexInfo(float z):m_z(z){}
|
|
// Accessors / Mutators
|
|
Q_DECL_CONSTEXPR const float& height() const { return m_z; }
|
|
|
|
void inline setHeight(float f){m_z=f;}
|
|
void inline setNormal(QVector3D n){m_normal=n;}
|
|
//void calculateNormal(QVector2D v);
|
|
|
|
static const int HeightTupleSize = 1;
|
|
static const int NormalTupleSize = 3;
|
|
static int heightOffset() { return offsetof(TileVertexInfo, m_z); }
|
|
static int normalOffset() { return offsetof(TileVertexInfo, m_normal); }
|
|
static int stride() { return sizeof(TileVertexInfo); }
|
|
|
|
private:
|
|
float m_z=0.0f;
|
|
QVector3D m_normal;
|
|
};
|
|
|
|
Q_DECLARE_TYPEINFO(TileVertexInfo, Q_MOVABLE_TYPE);
|
|
|
|
|
|
|
|
#endif // TILEVERTEXINFO_H
|