00001
00002
00003
00004
00005
00006
00007
00008
00009 #import <Cocoa/Cocoa.h>
00010 #import <OpenGL/OpenGL.h>
00011 #import <OpenGL/glu.h>
00012 #import "O3D_Vector3.h"
00013 #import "O3D_Matrix.h"
00014 #import "O3D_Quaternion.h"
00015 #import "O3D_Util.h"
00016
00018
00019 @interface O3D_Camera : NSObject {
00021 float x, y, z;
00023 float movementSpeed, rotationSpeed;
00024
00026 O3D_Quaternion *rotation;
00028 O3D_Matrix *perspective;
00030 O3D_Matrix *location;
00031 }
00032
00033 @property (nonatomic) float x, y, z, movementSpeed, rotationSpeed;
00034 @property (nonatomic, retain) O3D_Quaternion *rotation;
00035
00037 - (void) load;
00038
00040 - (void) left:(float)amount;
00042 - (void) left;
00044 - (void) right:(float)amount;
00046 - (void) right;
00048 - (void) up:(float)amount;
00050 - (void) up;
00052 - (void) down:(float)amount;
00054 - (void) down;
00056 - (void) forward:(float)amount;
00058 - (void) forward;
00060 - (void) backward:(float)amount;
00062 - (void) backward;
00063
00065 - (void) moveX:(float)ax Y:(float)ay Z:(float)az;
00066
00068 - (void) pan:(float)amount;
00070 - (void) panLeft;
00072 - (void) panRight;
00073
00075 - (void) tilt:(float)amount;
00077 - (void) tiltUp;
00079 - (void) tiltDown;
00080
00082 - (void) rotateByAngle:(float)angle onAxis:(O3D_Vector3 *)axis;
00084 - (void) setPerspectiveWithFOV:(float)fov aspect:(float)aspect zNear:(float)zNear zFar:(float)zFar;
00086 - (void) applyPerspective;
00087
00088 @end