rotate.h 877 Bytes
Newer Older
Kirill Terekhov's avatar
Kirill Terekhov committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/*********************************
 Implementation of quaternion-based
 object rotation
 
 Functions
 clickmotion - call when holded mouse moved
 click       - call when user clicks
 motion      - call when mouse just moves
 quatinit    - flush rotation value
 rotate      - multiply GL matrix

 Dependency: rotate.h,
   Standard: math.h 
   Specific: glut.h
**********************************/

#ifndef _ROTATE_H
#define _ROTATE_H

void clickmotion(int nmx, int nmy);
void motion(int nmx, int nmy);
void click(int b, int s, int nmx, int nmy);
Kirill Terekhov's avatar
Kirill Terekhov committed
23
void quatget(double * vec);
Kirill Terekhov's avatar
Kirill Terekhov committed
24
void quatinit();
Kirill Terekhov's avatar
Kirill Terekhov committed
25
26
void quatpush();
void quatpop();
Kirill Terekhov's avatar
Kirill Terekhov committed
27
void rotate();
Kirill Terekhov's avatar
Kirill Terekhov committed
28
void rotate_from_stack();
Kirill Terekhov's avatar
Kirill Terekhov committed
29
void rotatevector(double * vec);
Kirill Terekhov's avatar
Kirill Terekhov committed
30
void reverse_rotatevector(double * vec);
Kirill Terekhov's avatar
Kirill Terekhov committed
31
32
void revrotatevector(double * vec);
void rotatevector_from_stack(double * vec);
Kirill Terekhov's avatar
Kirill Terekhov committed
33
void reverse_rotatevector_from_stack(double * vec);
Kirill Terekhov's avatar
Kirill Terekhov committed
34
35

#endif