X-Git-Url: http://gitweb.pgornicz.com/gitweb.cgi?a=blobdiff_plain;f=src%2FVector2.cpp;h=d13ea958e4b080a904b74f69fa71b75e088396c2;hb=9ae1c0798cff2d1ed816bccb0723bd5a4ca97194;hp=4d4b85add9546abc4aabd8fb3f6a11bba420ed82;hpb=617dcc71d9a71663f63fb56ffac2505b45bf91b9;p=physics.git diff --git a/src/Vector2.cpp b/src/Vector2.cpp index 4d4b85a..d13ea95 100644 --- a/src/Vector2.cpp +++ b/src/Vector2.cpp @@ -1,3 +1,20 @@ +/* + * Copyright (C) 2008 Patrik Gornicz, Gornicz_P (at) hotmail (dot) com. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + #include "Vector2.h" #include "mathw.h" @@ -46,7 +63,16 @@ float Vector2::angle() const } float Vector2::length() const { - return sqrt(x*x + y*y); + return sqrt(sqrLength()); +} +float Vector2::sqrLength() const +{ + return x*x + y*y; +} + +float Vector2::dot(const Vector2& v) const +{ + return x*v.x + y*v.y; }