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__