Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//-----------------------------------------------------------------------------
// File: nstate.h
//
// Desc: NORMAL_STATE
//
// Copyright (c) 1994-2000 Microsoft Corporation
//-----------------------------------------------------------------------------
#ifndef __nstate_h__
#define __nstate_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;
//-----------------------------------------------------------------------------
// Name:
// Desc:
//-----------------------------------------------------------------------------
class NORMAL_STATE { public: int m_jointStyle; int m_bCycleJointStyles; IDirect3DDevice8* m_pd3dDevice; PIPE_OBJECT* m_pShortPipe; PIPE_OBJECT* m_pLongPipe; ELBOW_OBJECT* m_pElbows[4]; SPHERE_OBJECT* m_pBallCap; SPHERE_OBJECT* m_pBigBall; BALLJOINT_OBJECT* m_pBallJoints[4];
NORMAL_STATE( STATE *pState ); ~NORMAL_STATE();
void Reset(); void BuildObjects( float radius, float divSize, int nSlices, BOOL bTexture, IPOINT2D *pTexRep ); int ChooseJointType(); };
#endif // __nstate_h__
|