Fix T66096: Crash in Cycles versioning
[blender.git] / source / blender / makesdna / DNA_vec_types.h
1 /*
2  * This program is free software; you can redistribute it and/or
3  * modify it under the terms of the GNU General Public License
4  * as published by the Free Software Foundation; either version 2
5  * of the License, or (at your option) any later version.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program; if not, write to the Free Software Foundation,
14  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
15  *
16  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
17  * All rights reserved.
18  */
19
20 /** \file
21  * \ingroup DNA
22  */
23
24 #ifndef __DNA_VEC_TYPES_H__
25 #define __DNA_VEC_TYPES_H__
26
27 /* types */
28
29 /** vector of two shorts. */
30 typedef struct vec2s {
31   short x, y;
32 } vec2s;
33
34 /** vector of two floats. */
35 typedef struct vec2f {
36   float x, y;
37 } vec2f;
38
39 /* not used at the moment */
40 /*
41 typedef struct vec2i {
42   int x, y;
43 } vec2i;
44
45 typedef struct vec2d {
46   double x, y;
47 } vec2d;
48
49 typedef struct vec3i {
50   int x, y, z;
51 } vec3i;
52 */
53 typedef struct vec3f {
54   float x, y, z;
55 } vec3f;
56 /*
57 typedef struct vec3d {
58   double x, y, z;
59 } vec3d;
60
61 typedef struct vec4i {
62   int x, y, z, w;
63 } vec4i;
64
65 typedef struct vec4f {
66   float x, y, z, w;
67 } vec4f;
68
69 typedef struct vec4d {
70   double x, y, z, w;
71 } vec4d;
72 */
73
74 /** integer rectangle. */
75 typedef struct rcti {
76   int xmin, xmax;
77   int ymin, ymax;
78 } rcti;
79
80 /** float rectangle. */
81 typedef struct rctf {
82   float xmin, xmax;
83   float ymin, ymax;
84 } rctf;
85
86 /** dual quaternion. */
87 typedef struct DualQuat {
88   float quat[4];
89   float trans[4];
90
91   float scale[4][4];
92   float scale_weight;
93 } DualQuat;
94
95 #endif