-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathEditPointor.h
55 lines (48 loc) · 1.49 KB
/
EditPointor.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#ifndef __EditPointor_h_
#define __EditPointor_h_
#include "Ogre.h"
#include "EditScene.h"
using namespace Ogre;
class EditPointor: public Ogre::FrameListener
{
public:
EditPointor(EditScene *scene);
virtual ~EditPointor();
SceneNode* mPointorNode;
SceneNode* mMoveNode;
SceneNode* mScaleNode;
SceneNode* mRotionNode;
SceneNode* mEditTerrainNode;
Frustum* mDecalFrustum; //投影器///
Entity* mEditTerrainPointor;
Entity* MovePointorX;
Entity* MovePointorY;
Entity* MovePointorZ;
Entity* MovePointorBox;
Entity* ScalePointorX;
Entity* ScalePointorY;
Entity* ScalePointorZ;
Entity* ScalePointorBox;
Entity* RotionPointorX;
Entity* RotionPointorY;
Entity* RotionPointorZ;
SceneNode* RotionCollisionXNode;
SceneNode* RotionCollisionYNode;
SceneNode* RotionCollisionZNode;
bool bShow;
bool bBoxSelect;
int SelectState; /////0表示未选中,1 2 3 4分别代表 x y z 和自由方向//////
bool bDruging;
EditScene* mscene;
Ogre::Degree camDegree; //记录移动或旋转时相机的水平旋转角度//
float EditSpeed; //编辑时,拖拽移动、旋转、缩放的速度//
void updatePosition();
void updateScale();
void querySelect();
virtual bool frameStarted(const Ogre::FrameEvent& evt);
void createMovePointer();
void createEdtiTerrainPointor();
void createScalePointer();
void createRotationPointor();
};
#endif // #ifndef __SceneObj_h_