diff options
Diffstat (limited to 'source/blender/blenlib/BLI_utildefines.h')
-rw-r--r-- | source/blender/blenlib/BLI_utildefines.h | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/source/blender/blenlib/BLI_utildefines.h b/source/blender/blenlib/BLI_utildefines.h index 683b3c4c438..63a6b2a1943 100644 --- a/source/blender/blenlib/BLI_utildefines.h +++ b/source/blender/blenlib/BLI_utildefines.h @@ -297,14 +297,36 @@ (v1)[2] = FTOCHAR((v2[2])); \ (v1)[3] = FTOCHAR((v2[3])); \ } (void)0 -#define VECCOPY(v1, v2) { \ +#define VEC2D(v1, x, y) { \ + *((v1) + 0) = x; \ + *((v1) + 1) = y; \ +} (void)0 +#define VEC3D(v1, x, y, z) { \ + *((v1) + 0) = x; \ + *((v1) + 1) = y; \ + *((v1) + 2) = z; \ +} (void)0 +#define VEC4D(v1, x, y, z, w) { \ + *((v1) + 0) = x; \ + *((v1) + 1) = y; \ + *((v1) + 2) = z; \ + *((v1) + 3) = w; \ +} (void)0 +#define VECCOPY2D(v1, v2) { \ *(v1) = *(v2); \ *(v1 + 1) = *(v2 + 1); \ - *(v1 + 2) = *(v2 + 2); \ } (void)0 -#define VECCOPY2D(v1, v2) { \ +#define VECCOPY3D(v1, v2) { \ *(v1) = *(v2); \ *(v1 + 1) = *(v2 + 1); \ + *(v1 + 2) = *(v2 + 2); \ +} (void)0 +#define VECCOPY(v1, v2) VECCOPY3D(v1, v2) +#define VECCOPY4D(v1, v2) { \ + *(v1 + 0) = *(v2 + 0); \ + *(v1 + 1) = *(v2 + 1); \ + *(v1 + 2) = *(v2 + 2); \ + *(v1 + 3) = *(v2 + 3); \ } (void)0 #define VECADD(v1, v2, v3) { \ *(v1) = *(v2) + *(v3); \ |