diff --git a/src/OpenMesh/Core/Geometry/VectorT.hh b/src/OpenMesh/Core/Geometry/VectorT.hh index b2d2e29b..6edcad78 100644 --- a/src/OpenMesh/Core/Geometry/VectorT.hh +++ b/src/OpenMesh/Core/Geometry/VectorT.hh @@ -178,7 +178,27 @@ template <> struct VectorDataT #undef unroll #undef unroll_comb #undef unroll_csv + +#define DIM 5 +#define unroll(expr) expr(0) expr(1) expr(2) expr(3) expr(4) +#define unroll_comb(expr, op) expr(0) op expr(1) op expr(2) op expr(3) op expr(4) +#define unroll_csv(expr) expr(0), expr(1), expr(2), expr(3), expr(4) +#include "VectorT_inc.hh" +#undef DIM +#undef unroll +#undef unroll_comb +#undef unroll_csv +#define DIM 6 +#define unroll(expr) expr(0) expr(1) expr(2) expr(3) expr(4) expr(5) +#define unroll_comb(expr, op) expr(0) op expr(1) op expr(2) op expr(3) op expr(4) op expr(5) +#define unroll_csv(expr) expr(0), expr(1), expr(2), expr(3), expr(4), expr(5) +#include "VectorT_inc.hh" +#undef DIM +#undef unroll +#undef unroll_comb +#undef unroll_csv + #undef TEMPLATE_HEADER #undef CLASSNAME @@ -320,6 +340,23 @@ typedef VectorT Vec4f; /** 4-double vector */ typedef VectorT Vec4d; +/** 5-byte signed vector */ +typedef VectorT Vec5c; +/** 5-byte unsigned vector */ +typedef VectorT Vec5uc; +/** 5-short signed vector */ +typedef VectorT Vec5s; +/** 5-short unsigned vector */ +typedef VectorT Vec5us; +/** 5-int signed vector */ +typedef VectorT Vec5i; +/** 5-int unsigned vector */ +typedef VectorT Vec5ui; +/** 5-float vector */ +typedef VectorT Vec5f; +/** 5-double vector */ +typedef VectorT Vec5d; + /** 6-byte signed vector */ typedef VectorT Vec6c; /** 6-byte unsigned vector */