summaryrefslogtreecommitdiff
path: root/hammer/SmoothingGroupMgr.h
diff options
context:
space:
mode:
authorFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
committerFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
commit3bf9df6b2785fa6d951086978a3e66f49427166a (patch)
tree2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /hammer/SmoothingGroupMgr.h
downloadarchived-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.h45
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