1
#ifndef GIM_GEOM_TYPES_H_INCLUDED
2
#define GIM_GEOM_TYPES_H_INCLUDED
4
/*! \file gim_geom_types.h
5
\author Francisco Len N�jera
8
-----------------------------------------------------------------------------
9
This source file is part of GIMPACT Library.
11
For the latest info, see http://gimpact.sourceforge.net/
13
Copyright (c) 2006 Francisco Leon Najera. C.C. 80087371.
14
email: projectileman@yahoo.com
16
This library is free software; you can redistribute it and/or
17
modify it under the terms of EITHER:
18
(1) The GNU Lesser General Public License as published by the Free
19
Software Foundation; either version 2.1 of the License, or (at
20
your option) any later version. The text of the GNU Lesser
21
General Public License is included with this library in the
22
file GIMPACT-LICENSE-LGPL.TXT.
23
(2) The BSD-style license that is included with this library in
24
the file GIMPACT-LICENSE-BSD.TXT.
25
(3) The zlib/libpng license that is included with this library in
26
the file GIMPACT-LICENSE-ZLIB.TXT.
28
This library is distributed in the hope that it will be useful,
29
but WITHOUT ANY WARRANTY; without even the implied warranty of
30
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files
31
GIMPACT-LICENSE-LGPL.TXT, GIMPACT-LICENSE-ZLIB.TXT and GIMPACT-LICENSE-BSD.TXT for more details.
33
-----------------------------------------------------------------------------
39
/*! \defgroup GEOMETRIC_TYPES
41
Basic types and constants for geometry
45
//! Short Integer vector 2D
46
typedef GSHORT vec2s[2];
48
typedef GSHORT vec3s[3];
50
typedef GSHORT vec4s[4];
52
//! Short Integer vector 2D
53
typedef GUSHORT vec2us[2];
55
typedef GUSHORT vec3us[3];
57
typedef GUSHORT vec4us[4];
60
typedef GINT vec2i[2];
62
typedef GINT vec3i[3];
64
typedef GINT vec4i[4];
66
//! Unsigned Integer vector 2D
67
typedef GUINT vec2ui[2];
68
//! Unsigned Integer vector 3D
69
typedef GUINT vec3ui[3];
70
//! Unsigned Integer vector 4D
71
typedef GUINT vec4ui[4];
74
typedef GREAL vec2f[2];
76
typedef GREAL vec3f[3];
78
typedef GREAL vec4f[4];
81
typedef GREAL2 vec2d[2];
83
typedef GREAL2 vec3d[3];
85
typedef GREAL2 vec4d[4];
87
//! Matrix 2D, row ordered
88
typedef GREAL mat2f[2][2];
89
//! Matrix 3D, row ordered
90
typedef GREAL mat3f[3][3];
91
//! Matrix 4D, row ordered
92
typedef GREAL mat4f[4][4];
95
typedef GREAL quatf[4];
97
//typedef struct _aabb3f aabb3f;
102
#endif // GIM_GEOM_TYPES_H_INCLUDED