www.pudn.com > sancedit.rar > OgreFrameWork.h
#pragma once
#include "OgreRenderSystem.h"
#include "OgreRoot.h"
#include "OgreGLRenderSystem.h"
#include "OgreD3D9RenderSystem.h"
#include "OgreCommon.h"
#include "OgreRenderWindow.h"
#include "OgreStringConverter.h"
#include "OgreConfigFile.h"
#include "OgreCamera.h"
#include "OgreViewport.h"
#include "OgreMeshManager.h"
#include "OgreEntity.h"
#include "MapGenView.h"
using namespace Ogre;
class COgreFrameWork
{
public:
CMapGenView *mView;
bool mIsInit;
Root * mRoot;
Camera *mCamera;
SceneManager* mSceneMgr;
RenderWindow * mWindow;
public:
static COgreFrameWork * mInstance;
static COgreFrameWork * GetInstance();
public:
void InitOgre(CView * pView);
bool IsInitOgre();
void SetUpResources();
COgreFrameWork(void);
void SetupScene();
void UpdateOgreView();
virtual ~COgreFrameWork(void);
// 摄象机移动
void CameraMove(float *vec);
// //摄象机旋转
void CameraRotate(float rx, float ry);
// //在当前的摄象机所在的位置放下模型
void PlaceMeshAtCamera(char * meshFile, char * entityName, char * nodeName);
// //get the position of the node
void GetNodePosition(char * nodeName, float * pos);
void GetNodeQuaternion(char * nodeName, float * q);
// //get scale of the node
void GetNodeScale(char* nodeName, float * scale);
// //旋转场景节点
void RotateNode(char * nodeName, int axis , float delta);
void HighLight(char * nodeName, bool state);
void HighLight2(char * nodeName, bool state);
// // scale the scene node
void ScaleNode(char * nodeName, int axis , float delta);
// set the position of the scene node
void SetNodePosition(char * nodeName, float * pos);
void SetNodeQuaternion(char * nodeName, float * q);
void SetNodeScale(char * nodeName , float * scale);
void TranslateNode(char * nodeName, int axis, float delta);
void WindowMovedOrResized(void);
void DeleteNode(char * nodeName);
};