X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fphysic.h;h=002b42f805cc8ab6b0d0c6ef965169b4093cb280;hb=828b5e1ef1cb89d830735f24dd79bbd9b09d5b32;hp=37b6302ffa2103682964eb794baeff1c7c45890a;hpb=2398b134147461d9b4e096f1c15dbf889c0f2d41;p=supertux.git diff --git a/src/physic.h b/src/physic.h index 37b6302ff..002b42f80 100644 --- a/src/physic.h +++ b/src/physic.h @@ -1,14 +1,22 @@ +// $Id$ +// +// SuperTux +// Copyright (C) 2004 Tobias Glaesser // -// C++ Interface: physic -// -// Description: -// -// -// Author: Tobias Glaesser , (C) 2004 -// -// Copyright: See COPYING file that comes with this distribution -// +// 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 2 +// 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, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +// 02111-1307, USA. #ifndef SUPERTUX_PHYSIC_H #define SUPERTUX_PHYSIC_H @@ -28,6 +36,13 @@ public: /** sets velocity to a fixed value */ void set_velocity(float vx, float vy); + void set_velocity_x(float vx); + void set_velocity_y(float vy); + + /** velocities invertion */ + void inverse_velocity_x(); + void inverse_velocity_y(); + float get_velocity_x(); float get_velocity_y(); @@ -36,6 +51,9 @@ public: */ void set_acceleration(float ax, float ay); + void set_acceleration_x(float ax); + void set_acceleration_y(float ay); + float get_acceleration_x(); float get_acceleration_y(); @@ -45,6 +63,9 @@ public: /** applies the physical simulation to given x and y coordinates */ void apply(float frame_ratio, float &x, float &y); + /** applies the physical simulation to given x and y coordinates */ + void apply(Vector& vector, float frame_ratio); + private: /// horizontal and vertical acceleration float ax, ay;