diff options
| author | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
|---|---|---|
| committer | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
| commit | 3bf9df6b2785fa6d951086978a3e66f49427166a (patch) | |
| tree | 2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /hammer/SmoothingGroupMgr.h | |
| download | archived-source-engine-2018-hl2-src-master.tar.xz archived-source-engine-2018-hl2-src-master.zip | |
Diffstat (limited to 'hammer/SmoothingGroupMgr.h')
| -rw-r--r-- | hammer/SmoothingGroupMgr.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/hammer/SmoothingGroupMgr.h b/hammer/SmoothingGroupMgr.h new file mode 100644 index 0000000..e5dcf29 --- /dev/null +++ b/hammer/SmoothingGroupMgr.h @@ -0,0 +1,45 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +//=============================================================================// + +#ifndef SMOOTHINGGROUPMGR_H +#define SMOOTHINGGROUPMGR_H +#pragma once + +class CMapFace; +class CChunkFile; +class CSaveInfo; + +enum ChunkFileResult_t; + +#define MAX_SMOOTHING_GROUP_COUNT 32 +#define INVALID_SMOOTHING_GROUP 0xff + +typedef unsigned char SmoothingGroupHandle_t; + +//============================================================================= +// +// Smoothing Group Manager +// +class ISmoothingGroupMgr +{ +public: + + virtual void AddFaceToGroup( SmoothingGroupHandle_t hGroup, CMapFace *pFace ) = 0; + virtual void RemoveFaceFromGroup( SmoothingGroupHandle_t hGroup, CMapFace *pFace ) = 0; + + virtual void SetGroupSmoothingAngle( SmoothingGroupHandle_t hGroup, float flAngle ) = 0; + virtual float GetGroupSmoothingAngle( SmoothingGroupHandle_t hGroup ) = 0; + + virtual int GetFaceCountInGroup( SmoothingGroupHandle_t hGroup ) = 0; + virtual CMapFace *GetFaceFromGroup( SmoothingGroupHandle_t hGroup, int iFace ) = 0; + + virtual ChunkFileResult_t SaveVMF( CChunkFile *pFile, CSaveInfo *pSaveInfo ) = 0; + virtual ChunkFileResult_t LoadVMF( CChunkFile *pFile ) = 0; +}; + +ISmoothingGroupMgr *SmoothingGroupMgr( void ); + +#endif // SMOOTHINGGROUPMGR_H |