vector.h cmath src/camera.h src/window.h src/geometry.h src/level.h src/main.h src/vector.cpp OpenArena::Vec3d OpenArena::Vec2f OpenArena::Vec2i OpenArena #ifndef__vector_h__ #define__vector_h__ #include<cmath> namespaceOpenArena{ classVec3d { public: doublex,y,z; Vec3d();//DefaultConstructor Vec3d(constVec3d&);//CopyConstructor Vec3d(double,double);//Fromanangle Vec3d(double,double,double);//Fromvalues doublelengthsquared()const; doublelength()const; voidnormalize(); Vec3dnormalized()const; Vec3dcross(constVec3d&)const; voidoperator=(constVec3d&); Vec3doperator*(constVec3d&)const; Vec3doperator+(constVec3d&)const; Vec3doperator-(constVec3d&)const; Vec3doperator*(double)const; Vec3doperator/(double)const; }; Vec3dVector(double,double); //Vec3dAngle2Vec3f() classVec2f { public: floatx,y; Vec2f();//DefaultConstructor Vec2f(constVec2f&);//CopyConstructor Vec2f(double);//fromanangle Vec2f(double,double);//fromvalues doublelengthsquared()const; doublelength()const; voidnormalize(); Vec2fnormalized()const; Vec2fcross(constVec2f&)const; Vec2foperator=(constVec2f&); Vec2foperator*(constVec2f&)const; Vec2foperator+(constVec2f&)const; Vec2foperator-(constVec2f&)const; //Vec2foperator/(constVec2f&)const;//Isthisright? Vec2foperator*(double)const; Vec2foperator/(double)const; }; typedefVec3dVec3f; classVec2i { public: intx,y; Vec2i();//DefaultConstructor Vec2i(constVec2i&);//CopyConstructor Vec2i(int);//fromanangle Vec2i(int,int);//fromvalues intlengthsquared()const; intlength()const; voidnormalize(); Vec2inormalized()const; Vec2icross(constVec2i&)const; Vec2ioperator=(constVec2i&); Vec2ioperator*(constVec2i&)const; Vec2ioperator+(constVec2i&)const; Vec2ioperator-(constVec2i&)const; //Vec2ioperator/(constVec2i&)const;//Isthisright? Vec2ioperator*(int)const; Vec2ioperator/(int)const; booloperator==(constVec2i&)const; booloperator!=(constVec2i&)const; }; }; #endif