Files
2026-11-08 11:22:15 +01:00

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