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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
|
// model.h
#ifndef _MODEL_H_
#define _MODEL_H_
class CInstanceManager;
class CD3DEngine;
class CModFile;
class CInterface;
class CModel
{
public:
CModel(CInstanceManager* iMan);
~CModel();
void StartUserAction();
void StopUserAction();
BOOL EventProcess(const Event &event);
void InitView();
void InitViewFromSelect();
void UpdateView();
void ViewMove(const Event &event, float speed);
protected:
BOOL EventFrame(const Event &event);
BOOL GetVertex(int rank, D3DVERTEX2 &vertex);
BOOL SetVertex(int rank, D3DVERTEX2 &vertex);
D3DVECTOR RetSelectCDG();
D3DVECTOR RetSelectNormal();
void SmoothSelect();
void PlaneSelect();
void ColorSelect();
void StateSelect();
void MoveSelect(D3DVECTOR move);
void OperSelect(D3DVECTOR move, char oper);
void ReadScript(char *filename);
void BBoxCompute(D3DVECTOR &min, D3DVECTOR &max);
BOOL IsMappingSelectPlausible(D3DMaping D3Dmode);
void MappingSelect(int mode, int rotate, BOOL bMirrorX, BOOL bMirrorY, FPOINT ti, FPOINT ts, char *texName);
void MappingSelectSpherical(int mode, int rotate, BOOL bMirrorX, BOOL bMirrorY, FPOINT ti, FPOINT ts, char *texName);
D3DVECTOR RetMappingCenter(D3DVECTOR pos, D3DVECTOR min);
void MappingSelectCylindrical(int mode, int rotate, BOOL bMirrorX, BOOL bMirrorY, FPOINT ti, FPOINT ts, char *texName);
void MappingSelectFace(int mode, int rotate, BOOL bMirrorX, BOOL bMirrorY, FPOINT ti, FPOINT ts, char *texName);
void MappingSelect2(int texNum2, int subdiv, int offsetU, int offsetV, BOOL bMirrorX, BOOL bMirrorY);
void MappingSelectPlane2(int mode, BOOL bMirrorX, BOOL bMirrorY);
void MappingSelectSpherical2(BOOL bMirrorX, BOOL bMirrorY);
void MappingSelectMagic2(BOOL bMirrorX, BOOL bMirrorY);
int SearchNext(int rank, int step);
int SearchSamePlane(int first, int step);
void CurrentSearchNext(int step, BOOL bControl);
void CurrentInit();
void CurrentSelect(BOOL bSelect);
void DeselectAll();
void SelectAll();
void SelectZone(int first, int last);
void SelectTerm();
void DefaultSelect();
void SelectDelete();
void Compress();
void MinMaxSelect();
void MinMaxChange();
void UpdateInfoText();
int* RetTextureTable();
void TexturePartUpdate();
void TextureRankChange(int step);
void TexturePartChange(int step);
void PutTextureValues();
void GetTextureValues();
void GetModelName(char *buffer);
void GetDXFName(char *buffer);
void GetScriptName(char *buffer);
BOOL IsEditFocus();
protected:
CInstanceManager* m_iMan;
CD3DEngine* m_engine;
CModFile* m_modFile;
CInterface* m_interface;
float m_time;
ModelTriangle* m_triangleTable;
int m_triangleSel1;
int m_triangleSel2;
int m_mode;
int m_textureMode;
int m_textureRotate;
BOOL m_bTextureMirrorX;
BOOL m_bTextureMirrorY;
FPOINT m_textureInf;
FPOINT m_textureSup;
int m_texturePart;
int m_textureRank;
char m_textureName[20];
BOOL m_bDisplayTransparent;
BOOL m_bDisplayOnlySelection;
float m_viewHeight;
float m_viewDist;
float m_viewAngleH;
float m_viewAngleV;
int m_color;
int m_state;
int m_secondTexNum;
int m_secondSubdiv;
int m_secondOffsetU;
int m_secondOffsetV;
char m_oper;
float m_min;
float m_max;
};
#endif //_MODEL_H_
|