summaryrefslogtreecommitdiff
path: root/hammer/mapsphere.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/mapsphere.h
downloadarchived-source-engine-2018-hl2-src-master.tar.xz
archived-source-engine-2018-hl2-src-master.zip
Diffstat (limited to 'hammer/mapsphere.h')
-rw-r--r--hammer/mapsphere.h76
1 files changed, 76 insertions, 0 deletions
diff --git a/hammer/mapsphere.h b/hammer/mapsphere.h
new file mode 100644
index 0000000..4b8a0ae
--- /dev/null
+++ b/hammer/mapsphere.h
@@ -0,0 +1,76 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+//=============================================================================
+
+#ifndef MAPSPHERE_H
+#define MAPSPHERE_H
+#ifdef _WIN32
+#pragma once
+#endif
+
+#include "fgdlib/WCKeyValues.h"
+#include "MapHelper.h"
+#include "ToolInterface.h"
+
+
+class CToolSphere;
+class CHelperInfo;
+class CRender2D;
+class CRender3D;
+class IMesh;
+
+
+class CMapSphere : public CMapHelper
+{
+ friend class CToolSphere;
+
+ public:
+
+ DECLARE_MAPCLASS(CMapSphere,CMapHelper)
+
+ //
+ // Factory for building from a list of string parameters.
+ //
+ static CMapClass *Create(CHelperInfo *pInfo, CMapEntity *pParent);
+
+ //
+ // Construction/destruction:
+ //
+ CMapSphere(void);
+ ~CMapSphere(void);
+
+ virtual void CalcBounds(BOOL bFullUpdate = FALSE);
+
+ virtual CMapClass *Copy(bool bUpdateDependencies);
+ virtual CMapClass *CopyFrom(CMapClass *pFrom, bool bUpdateDependencies);
+
+ virtual void OnParentKeyChanged(const char *szKey, const char *szValue);
+
+ virtual void Render2D(CRender2D *pRender);
+ virtual void Render3D(CRender3D *pRender);
+
+ virtual int SerializeRMF(std::fstream &File, BOOL bRMF) { return(0); }
+ virtual int SerializeMAP(std::fstream &File, BOOL bRMF) { return(0); }
+
+ virtual bool IsVisualElement(void) { return false; } // Only visible when the parent entity is selected.
+ virtual bool IsScaleable(void) { return false; } // TODO: allow for scaling the sphere by itself
+ virtual bool IsClutter(void) { return true; }
+ virtual bool IsCulledByCordon(const Vector &vecMins, const Vector &vecMaxs) { return false; } // We don't hide unless our parent hides.
+
+ virtual CBaseTool *GetToolObject(int nHitData, bool bAttachObject );
+
+ virtual bool HitTest2D(CMapView2D *pView, const Vector2D &point, HitInfo_t &HitData);
+
+ virtual const char* GetDescription() { return "Sphere helper"; }
+
+ protected:
+
+ void SetRadius(float flRadius);
+
+ char m_szKeyName[KEYVALUE_MAX_KEY_LENGTH];
+ float m_flRadius;
+};
+
+#endif // MAPSPHERE_H