X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fvector.h;h=6c0ad200e067051ea646042a6ce4451ecd8f731e;hb=70297ac8ec7453e4196f4b58056bcfe4b04f2aca;hp=c1cee7dea145eade87160833abd5404f7a22f3a7;hpb=9f6ad3fe0b9cb30115a5d38e8af3aebed0d70c08;p=architektonas diff --git a/src/vector.h b/src/vector.h index c1cee7d..6c0ad20 100644 --- a/src/vector.h +++ b/src/vector.h @@ -16,6 +16,7 @@ class Vector { public: Vector(double xx = 0, double yy = 0, double zz = 0); + Vector(Vector head, Vector tail); // Create vector from two points Vector operator=(Vector const v); Vector operator+(Vector const v); Vector operator-(Vector const v); @@ -31,6 +32,11 @@ class Vector Vector& operator/=(double const v); // Vector divided by constant self-assignment Vector& operator+=(Vector const v); // Vector plus Vector self-assignment Vector& operator+=(double const v); // Vector plus constant self-assignment + Vector& operator-=(Vector const v); // Vector minus Vector self-assignment + Vector& operator-=(double const v); // Vector minus constant self-assignment + + bool operator==(Vector const v); // Check for equality + bool operator!=(Vector const v); // Check for inequality Vector Unit(void); double Magnitude(void); @@ -40,6 +46,9 @@ class Vector // Class methods static double Dot(Vector v1, Vector v2); + static double Magnitude(Vector v1, Vector v2); + static double Parameter(Vector v1, Vector v2, Vector p); + static Vector Normal(Vector v1, Vector v2); public: double x, y, z;