#ifndef TILEVERTEXINFO_H #define TILEVERTEXINFO_H #include #include #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