00001 /********************* 00002 * Untitledurpose 00003 * uthor 00004 **********************/ 00005 #pragma once 00006 00007 #include "constants.h" 00008 #include "GObject.h" 00009 #include "GVec4f.h" 00010 #include "GMatrix16.h" 00011 #include "GShaderManager.h" 00012 #include "NxController.h" 00013 #include "NxPhysics.h" 00014 00015 class GGraphicsObject : public GObject 00016 { 00017 protected: 00018 GVec4f Rotation; 00019 GVec4f Position; 00020 NxActor *m_Actor; 00021 public: 00022 virtual int Draw(double time, double dtime, GMatrix16 *viewmatrix, GMatrix16 *worldmatrix, int FLAGS) = 0; 00023 virtual int DrawSprites(double time, double dtime, GMatrix16 *viewmatrix, GMatrix16 *worldmatrix, int FLAGS) = 0; 00024 virtual int Move(GVec4f v); 00025 virtual int MoveTo(GVec4f v); 00026 virtual int setPosition(GVec4f v); 00027 virtual int setRotation(GVec4f v); 00028 virtual void queryPosition(GVec4f *v); 00029 virtual void queryRotation(GVec4f *v); 00030 virtual NxController *GetController(void); 00031 virtual NxActor *SetActor(NxActor *a); 00032 virtual NxActor *GetActor(void); 00033 00034 virtual int Update(double time, double dtime); 00035 };