00001
00002
00003
00004
00005
00006
00007
00008
00009 #import <Cocoa/Cocoa.h>
00010
00011 @class O3D_Vector3;
00012
00013 @interface O3D_Vector4 : NSObject {
00014 float x, y, z, w;
00015 }
00016
00017 @property (nonatomic) float x, y, z, w;
00018
00019 - (id) initWithX:(float)ax Y:(float)ay Z:(float)az W:(float)aw;
00020 - (id) initWithVector:(id)vector;
00021 - (id) initWithAngle:(float)angle;
00022
00023 + (O3D_Vector4 *) vector;
00024 + (O3D_Vector4 *) vectorWithX:(float)ax Y:(float)ay Z:(float)az W:(float)aw;
00025 + (O3D_Vector4 *) vectorWithAngle:(float)angle;
00026 + (O3D_Vector4 *) vectorWithVector:(id)vector;
00027
00028 - (float) angle;
00029 - (float) dotProductWithVector:(O3D_Vector4 *)vector;
00030 - (float) angleWithVector:(O3D_Vector4 *)vector;
00031
00032 - (void) normalize;
00033 - (void) rotate:(float)rotation;
00034 - (void) asFloats:(float *)values;
00035
00036 - (O3D_Vector4 *) normalizedVector;
00037 - (O3D_Vector4 *) vectorWithRotation:(float)rotation;
00038 - (O3D_Vector3 *) vector3;
00039
00040
00041
00042
00043 @end