summaryrefslogtreecommitdiff
path: root/sunkenEngine/bin/sunkenEngine.app/Contents/MacOS/Frameworks/GLUT.framework/Headers/gutil.h
blob: f7ffcf3644f4193348670d0806c48a178ae19fbf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89

/*
 * gutil.h
 *
 * FUNCTION:
 * Provide utilities that allow rotation to occur 
 * around any axis.
 * 
 * HISTORY:
 * created by Linas Vepstas  1990
 * added single & double precision, June 1991, Linas Vepstas
 */

#ifndef __GUTIL_H__
#define __GUTIL_H__

#ifdef __GUTIL_DOUBLE
#define gutDouble double
#else
#define gutDouble float  
#endif


#ifdef _NO_PROTO		/* NO ANSI C PROTOTYPING */

/* Rotation Utilities */
extern void rot_axis_f ();
extern void rot_about_axis_f ();
extern void rot_omega_f ();
extern void urot_axis_f ();
extern void urot_about_axis_f ();
extern void urot_omega_f ();

/* double-precision versions */
extern void rot_axis_d ();
extern void rot_about_axis_d ();
extern void rot_omega_d ();
extern void urot_axis_d ();
extern void urot_about_axis_d ();
extern void urot_omega_d ();

/* viewpoint functions */
extern void uview_direction_d ();
extern void uview_direction_f ();
extern void uviewpoint_d ();
extern void uviewpoint_f ();

#else /* _NO_PROTO */		/* ANSI C PROTOTYPING */

/* Rotation Utilities */
extern void rot_axis_f (float omega, float axis[3]);
extern void rot_about_axis_f (float angle, float axis[3]);
extern void rot_omega_f (float axis[3]);
extern void urot_axis_f (float m[4][4], float omega, float axis[3]);
extern void urot_about_axis_f (float m[4][4], float angle, float axis[3]);
extern void urot_omega_f (float m[4][4], float axis[3]);

/* double-precision versions */
extern void rot_axis_d (double omega, double axis[3]);
extern void rot_about_axis_d (double angle, double axis[3]);
extern void rot_omega_d (double axis[3]);
extern void urot_axis_d (double m[4][4], double omega, double axis[3]);
extern void urot_about_axis_d (double m[4][4], double angle, double axis[3]);
extern void urot_omega_d (double m[4][4], double axis[3]);

/* viewpoint functions */
extern void uview_direction_d (double m[4][4],		/* returned */
                        double v21[3],		/* input */
                        double up[3]);		/* input */

extern void uview_direction_f (float m[4][4],		/* returned */
                        float v21[3],		/* input */
                        float up[3]);		/* input */

extern void uviewpoint_d (double m[4][4],		/* returned */
                   double v1[3],		/* input */
                   double v2[3],		/* input */
                   double up[3]);		/* input */

extern void uviewpoint_f (float m[4][4],		/* returned */
                   float v1[3],		/* input */
                   float v2[3],		/* input */
                   float up[3]);		/* input */

#endif /* _NO_PROTO */

#endif /* _GUTIL_H__ */

/* ------------------- end of file ---------------------- */