]> de.git.xonotic.org Git - xonotic/netradiant.git/blob - contrib/bobtoolz/DPlane.h
transfer from internal tree r5311 branches/1.4-gpl
[xonotic/netradiant.git] / contrib / bobtoolz / DPlane.h
1 /*\r
2 BobToolz plugin for GtkRadiant\r
3 Copyright (C) 2001 Gordon Biggans\r
4 \r
5 This library is free software; you can redistribute it and/or\r
6 modify it under the terms of the GNU Lesser General Public\r
7 License as published by the Free Software Foundation; either\r
8 version 2.1 of the License, or (at your option) any later version.\r
9 \r
10 This library is distributed in the hope that it will be useful,\r
11 but WITHOUT ANY WARRANTY; without even the implied warranty of\r
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
13 Lesser General Public License for more details.\r
14 \r
15 You should have received a copy of the GNU Lesser General Public\r
16 License along with this library; if not, write to the Free Software\r
17 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
18 */\r
19 \r
20 // DPlane.h: interface for the DPlane class.\r
21 //\r
22 //////////////////////////////////////////////////////////////////////\r
23 \r
24 #if !defined(AFX_DPLANE_H__FC37C021_F0A1_11D4_ACF7_004095A18133__INCLUDED_)\r
25 #define AFX_DPLANE_H__FC37C021_F0A1_11D4_ACF7_004095A18133__INCLUDED_\r
26 \r
27 #include "DPoint.h"\r
28 \r
29 #define FACE_DETAIL 0x8000000\r
30 \r
31 #if _MSC_VER > 1000\r
32 #pragma once\r
33 #endif // _MSC_VER > 1000\r
34 \r
35 class DWinding;\r
36 \r
37 class DPlane  \r
38 {\r
39 public:\r
40         DPlane(vec3_t va, vec3_t vb, vec3_t vc, const char* textureName, bool bDetail);\r
41         void ScaleTexture();\r
42         DWinding* BaseWindingForPlane();\r
43 \r
44         void Rebuild();\r
45 \r
46         bool AddToBrush_t(brush_t *brush);\r
47         bool operator != (DPlane& other);\r
48         bool operator == (DPlane& other);\r
49 \r
50         bool IsRedundant(list<DPoint*>& pointList);\r
51         bool PlaneIntersection(DPlane* pl1, DPlane* pl2, vec3_t out);;\r
52 \r
53         vec_t DistanceToPoint(vec3_t pnt);\r
54 \r
55         DPlane(vec3_t va, vec3_t vb, vec3_t vc, _QERFaceData* texData);\r
56         DPlane() { }\r
57         virtual ~DPlane();\r
58 \r
59         bool m_bChkOk;\r
60         _QERFaceData texInfo;\r
61         vec3_t points[3];               // djbob:do we really need these any more?\r
62         vec3_t normal;\r
63         float _d;\r
64 };\r
65 \r
66 //typedef CList<DPlane*, DPlane*> DPlaneList;\r
67 #endif // !defined(AFX_DPLANE_H__FC37C021_F0A1_11D4_ACF7_004095A18133__INCLUDED_)\r