nstate.h
资源名称:win2ksrc.rar [点击查看]
上传用户:caisha3
上传日期:2013-09-21
资源大小:208739k
文件大小:2k
源码类别:
Windows编程
开发平台:
Visual C++
- /******************************Module*Header*******************************
- * Module Name: nstate.h
- *
- * NORMAL_STATE
- *
- * Copyright (c) 1995 Microsoft Corporation
- *
- **************************************************************************/
- #ifndef __nstate_h__
- #define __nstate_h__
- #include "sscommon.h"
- #include "objects.h"
- #include "state.h"
- #define NORMAL_PIPE_COUNT 5
- #define NORMAL_TEX_PIPE_COUNT 3
- #define NUM_JOINT_STYLES 3
- // styles for pipe joints
- enum {
- ELBOWS = 0,
- BALLS,
- EITHER
- };
- // joint types
- enum {
- ELBOW_JOINT = 0,
- BALL_JOINT
- };
- // shchemes for choosing directions
- enum {
- NORMAL_SCHEME_CHOOSE_DIR_RANDOM,
- NORMAL_SCHEME_CHOOSE_DIR_TURN,
- NORMAL_SCHEME_CHOOSE_DIR_STRAIGHT
- };
- // this used for traditional pipe drawing
- class PIPE_OBJECT;
- class ELBOW_OBJECT;
- class SPHERE_OBJECT;
- class BALLJOINT_OBJECT;
- class STATE;
- #if 0
- struct _OBJECT_SET {
- public:
- PIPE_OBJECT *shortPipe;
- PIPE_OBJECT *longPipe;
- ELBOW_OBJECT *elbows[4];
- SPHERE_OBJECT *ballCap;
- SPHERE_OBJECT *bigBall;
- BALLJOINT_OBJECT *ballJoints[4];
- } OBJECT_SET;
- #endif
- class NORMAL_STATE {
- public:
- int jointStyle;
- int bCycleJointStyles;
- PIPE_OBJECT *shortPipe;
- PIPE_OBJECT *longPipe;
- ELBOW_OBJECT *elbows[4];
- SPHERE_OBJECT *ballCap;
- SPHERE_OBJECT *bigBall;
- BALLJOINT_OBJECT *ballJoints[4];
- NORMAL_STATE( STATE *pState );
- ~NORMAL_STATE();
- void Reset();
- // int GetMaxPipesPerFrame();
- void BuildObjects( float radius, float divSize, int nSlices,
- BOOL bTexture, IPOINT2D *pTexRep );
- int ChooseJointType();
- };
- #endif // __nstate_h__
English
