00001
00002
00003
00004
00005
00006
00007
00008
00009 #import <Cocoa/Cocoa.h>
00010
00012 @interface O3D_Vector3 : NSObject {
00013
00014 float x, y, z;
00015 }
00016
00017 @property (nonatomic) float x, y, z;
00018
00020 - (id) initWithX:(float)ax Y:(float)ay Z:(float)az;
00022 - (id) initWithVector:(O3D_Vector3 *)vector;
00024 - (id) initWithAngle:(float)angle;
00025
00027 + (O3D_Vector3 *) vector;
00029 + (O3D_Vector3 *) vectorWithX:(float)ax Y:(float)ay Z:(float)az;
00031 + (O3D_Vector3 *) vectorWithAngle:(float)angle;
00033 + (O3D_Vector3 *) vectorWithVector:(id)vector;
00034
00036 - (void) normalize;
00038 - (void) rotate:(float)rotation;
00040 - (float) angle;
00042 - (float) dotProductWithVector:(O3D_Vector3 *)vector;
00044 - (float) angleWithVector:(O3D_Vector3 *)vector;
00045
00047 - (O3D_Vector3 *) normalizedVector;
00049 - (O3D_Vector3 *) vectorWithRotation:(float)rotation;
00051 - (O3D_Vector3 *) crossProductWithVector:(O3D_Vector3 *)vector;
00052
00053 @end