00001 /* 00002 * Physics base object header 00003 * 00004 * This file is part of the "SoftPixel Engine" (Copyright (c) 2008 by Lukas Hermanns) 00005 * See "SoftPixelEngine.hpp" for license information. 00006 */ 00007 00008 #ifndef __SP_PHYSICS_BASEOBJECT_H__ 00009 #define __SP_PHYSICS_BASEOBJECT_H__ 00010 00011 00012 #include "Base/spStandard.hpp" 00013 00014 #ifdef SP_COMPILE_WITH_PHYSICS 00015 00016 00017 #include "Base/spDimension.hpp" 00018 #include "Base/spBaseObject.hpp" 00019 00020 00021 namespace sp 00022 { 00023 namespace physics 00024 { 00025 00026 00027 class SP_EXPORT PhysicsBaseObject : virtual public BaseObject 00028 { 00029 00030 public: 00031 00032 virtual ~PhysicsBaseObject(); 00033 00034 /* Functions */ 00035 00036 virtual void setTransformation(const dim::matrix4f &Transformation) = 0; 00037 virtual dim::matrix4f getTransformation() const = 0; 00038 00039 virtual void setPosition(const dim::vector3df &Position); 00040 virtual dim::vector3df getPosition() const; 00041 00042 virtual void setRotation(const dim::matrix4f &Rotation); 00043 virtual dim::matrix4f getRotation() const; 00044 00045 protected: 00046 00047 PhysicsBaseObject(); 00048 00049 }; 00050 00051 00052 } // /namespace physics 00053 00054 } // /namespace sp 00055 00056 00057 #endif 00058 00059 #endif 00060 00061 00062 00063 // ================================================================================