00001
00002 #ifndef _RANDOM_RACER_CAR_H_
00003 #define _RANDOM_RACER_CAR_H_
00004
00005 #include <vrs/sharedobj.h>
00006 #include <vrs/sg/scenething.h>
00007 #include "vrsode/PhysicsBody.h"
00008
00009
00010 namespace random_racer
00011 {
00012
00017 class Car : public VRS::SharedObj
00018 {
00019 public:
00023 Car(VRS::SO<VRS::SceneThing> p_rootNode){};
00024
00028 virtual ~Car(){};
00029
00034 virtual void accelerate(double p_amount) = 0;
00035
00040 virtual void handBreak(double p_amount) = 0;
00041
00047 virtual void steer(double p_amount) = 0;
00048
00053 virtual void nitro(double p_amount) = 0;
00054
00059 virtual void setPosition(double, double, double) = 0;
00060 virtual void setPosition(VRS::Vector) = 0;
00061
00065 virtual VRS::Vector position() = 0;
00066
00071 virtual VRS::SO<vrsode::CollisionBody> cameraHook() = 0;
00072
00076 virtual VRS::SO<vrsode::CollisionBody> chassis() = 0;
00077
00078 };
00079
00080 }
00081
00082 #endif