00001 #pragma once
00002
00003 #ifndef __BUILDING_H__
00004 #define __BUILDING_H__
00005
00006 #include "OgreSceneNode.h"
00007 #include "OgreString.h"
00008 #include "OgreEntity.h"
00009 #include "OgreMath.h"
00010 #include "OgreVector3.h"
00011
00012 using Ogre::String;
00013 using Ogre::SceneNode;
00014 using Ogre::Entity;
00015 using Ogre::Real;
00016 using Ogre::Vector3;
00017
00018
00019 namespace ASR
00020 {
00030 class Building
00031 {
00032
00033
00034 private:
00035 static int mNumBuildings;
00036
00038 String mName;
00039
00041 Entity* mEntity;
00042
00044 SceneNode* mNode;
00045
00046
00047
00048
00049 public:
00056 Building( SceneNode* parentNode, String meshName, Vector3 position );
00057 ~Building(void);
00058
00059
00060
00061
00062 public:
00067 void scale ( Real x, Real y, Real z );
00068
00069
00070
00071 public:
00076 void translate ( const Vector3& vec );
00077
00080 Vector3 getPosition ();
00081
00086 void setPosition ( const Vector3& pos );
00087
00092 void setDirection ( const Vector3& dir );
00093
00100 void setDirection ( float x, float y, float z );
00101 };
00102 }
00103
00104 #endif // __BUILDING_H__