]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - contrib/bobtoolz/DWinding.h
Wean off #define
[xonotic/netradiant.git] / contrib / bobtoolz / DWinding.h
index d173fbf653bf81cdbb7b8ca4be2d3e82b4083297..cb8ddda759197504eb5eeef5dd2970aae9b87172 100644 (file)
@@ -1,68 +1,70 @@
-/*\r
-BobToolz plugin for GtkRadiant\r
-Copyright (C) 2001 Gordon Biggans\r
-\r
-This library is free software; you can redistribute it and/or\r
-modify it under the terms of the GNU Lesser General Public\r
-License as published by the Free Software Foundation; either\r
-version 2.1 of the License, or (at your option) any later version.\r
-\r
-This library is distributed in the hope that it will be useful,\r
-but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
-Lesser General Public License for more details.\r
-\r
-You should have received a copy of the GNU Lesser General Public\r
-License along with this library; if not, write to the Free Software\r
-Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
-*/\r
-\r
-// DWinding.h: interface for the DWinding class.\r
-//\r
-//////////////////////////////////////////////////////////////////////\r
-\r
-#if !defined(AFX_DWINDING_H__35B2C524_F0A7_11D4_ACF7_004095A18133__INCLUDED_)\r
-#define AFX_DWINDING_H__35B2C524_F0A7_11D4_ACF7_004095A18133__INCLUDED_\r
-\r
-#if _MSC_VER > 1000\r
-#pragma once\r
-#endif // _MSC_VER > 1000\r
-\r
-class DPlane;\r
-\r
-class DWinding  \r
-{\r
-public:\r
-       DWinding();\r
-       virtual ~DWinding();\r
-\r
-       void AllocWinding(int points);\r
-\r
-       bool ChopWinding(DPlane* chopPlane);\r
-       bool ChopWindingInPlace(DPlane* chopPlane, vec_t ON_EPSILON);\r
-       void ClipWindingEpsilon(DPlane* chopPlane, vec_t epsilon, DWinding** front, DWinding** back);\r
-\r
-       void CheckWinding();\r
-       void WindingCentre(vec3_t centre);\r
-       void WindingBounds(vec3_t mins, vec3_t maxs);\r
-       void RemoveColinearPoints();\r
-\r
-       DWinding* ReverseWinding();\r
-       DWinding* CopyWinding();\r
-       DPlane* WindingPlane();\r
-\r
-       int WindingOnPlaneSide(vec3_t normal, vec_t dist);\r
-\r
-       vec_t WindingArea();\r
-\r
-//     members\r
-       int             numpoints;\r
-       vec3_t* p;\r
-  vec3_t  clr;\r
-};\r
-\r
-#define        MAX_POINTS_ON_WINDING   64\r
-\r
-#define        ON_EPSILON      0.01\r
-\r
-#endif // !defined(AFX_DWINDING_H__35B2C524_F0A7_11D4_ACF7_004095A18133__INCLUDED_)\r
+/*
+   BobToolz plugin for GtkRadiant
+   Copyright (C) 2001 Gordon Biggans
+
+   This library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   This library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with this library; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+// DWinding.h: interface for the DWinding class.
+//
+//////////////////////////////////////////////////////////////////////
+
+#if !defined( AFX_DWINDING_H__35B2C524_F0A7_11D4_ACF7_004095A18133__INCLUDED_ )
+#define AFX_DWINDING_H__35B2C524_F0A7_11D4_ACF7_004095A18133__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include "mathlib.h"
+
+class DPlane;
+
+class DWinding
+{
+public:
+DWinding();
+virtual ~DWinding();
+
+void AllocWinding( int points );
+
+bool ChopWinding( DPlane* chopPlane );
+bool ChopWindingInPlace( DPlane* chopPlane, vec_t ON_EPSILON );
+void ClipWindingEpsilon( DPlane* chopPlane, vec_t epsilon, DWinding** front, DWinding** back );
+
+void CheckWinding();
+void WindingCentre( vec3_t centre );
+void WindingBounds( vec3_t mins, vec3_t maxs );
+void RemoveColinearPoints();
+
+DWinding* ReverseWinding();
+DWinding* CopyWinding();
+DPlane* WindingPlane();
+
+int WindingOnPlaneSide( vec3_t normal, vec_t dist );
+
+vec_t WindingArea();
+
+//     members
+int numpoints;
+vec3_t* p;
+vec3_t clr;
+};
+
+const int MAX_POINTS_ON_WINDING = 64;
+
+const double ON_EPSILON = 0.01;
+
+#endif // !defined(AFX_DWINDING_H__35B2C524_F0A7_11D4_ACF7_004095A18133__INCLUDED_)