]> git.xonotic.org Git - xonotic/netradiant.git/blob - contrib/bobtoolz/DShape.h
reformat code! now the code is only ugly on the *inside*
[xonotic/netradiant.git] / contrib / bobtoolz / DShape.h
1 /*
2    BobToolz plugin for GtkRadiant
3    Copyright (C) 2001 Gordon Biggans
4
5    This library is free software; you can redistribute it and/or
6    modify it under the terms of the GNU Lesser General Public
7    License as published by the Free Software Foundation; either
8    version 2.1 of the License, or (at your option) any later version.
9
10    This library is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13    Lesser General Public License for more details.
14
15    You should have received a copy of the GNU Lesser General Public
16    License along with this library; if not, write to the Free Software
17    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18  */
19
20 // DShape.h: interface for the DShape class.
21 //
22 //////////////////////////////////////////////////////////////////////
23
24 #if !defined( AFX_DSHAPE_H__0B30B302_9D21_4C2D_836A_61F3C8D4244D__INCLUDED_ )
25 #define AFX_DSHAPE_H__0B30B302_9D21_4C2D_836A_61F3C8D4244D__INCLUDED_
26
27 #if _MSC_VER > 1000
28 #pragma once
29 #endif // _MSC_VER > 1000
30
31 #include <stdlib.h>
32 #include "mathlib.h"
33 #include "DMap.h"
34
35 class DBrush;
36
37 class DEntity;
38
39 // defines for polygon stuff
40 const int MAX_POLYGON_FACES = 128;
41
42 extern bool bFacesAll[];
43
44 class DShape {
45 public:
46     bool BuildPit(vec3_t min, vec3_t max);
47
48     void BuildBorderedPrism(vec3_t min, vec3_t max, int nSides, int nBorder, bool bAlignTop);
49
50     void BuildInversePrism(vec3_t min, vec3_t max, int nSides, bool bAlignTop);
51
52     void BuildRegularPrism(vec3_t min, vec3_t max, int nSides, bool bAlignTop);
53
54     int m_nNextBrush;
55
56     static DBrush *GetBoundingCube_Ext(vec3_t min, vec3_t max, const char *textureName, bool *bUseFaces = bFacesAll,
57                                        bool detail = false);
58
59     DShape();
60
61     virtual ~DShape();
62
63     void Commit();
64
65 private:
66     DBrush *
67     GetBoundingCube(vec3_t min, vec3_t max, const char *textureName, DEntity *ent = NULL, bool *bUseFaces = bFacesAll);
68
69     DMap m_Container;
70 };
71
72 #endif // !defined(AFX_DSHAPE_H__0B30B302_9D21_4C2D_836A_61F3C8D4244D__INCLUDED_)