]> git.xonotic.org Git - xonotic/netradiant.git/blob - contrib/bobtoolz/DShape.h
transfer from internal tree r5311 branches/1.4-gpl
[xonotic/netradiant.git] / contrib / bobtoolz / DShape.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 // DShape.h: interface for the DShape class.\r
21 //\r
22 //////////////////////////////////////////////////////////////////////\r
23 \r
24 #if !defined(AFX_DSHAPE_H__0B30B302_9D21_4C2D_836A_61F3C8D4244D__INCLUDED_)\r
25 #define AFX_DSHAPE_H__0B30B302_9D21_4C2D_836A_61F3C8D4244D__INCLUDED_\r
26 \r
27 #include "DMap.h"       // Added by ClassView\r
28 #include "StdAfx.h"     // Added by ClassView\r
29 \r
30 #if _MSC_VER > 1000\r
31 #pragma once\r
32 #endif // _MSC_VER > 1000\r
33 \r
34 // defines for polygon stuff\r
35 #define MAX_POLYGON_FACES       128\r
36 \r
37 extern bool bFacesAll[];\r
38 \r
39 class DShape  \r
40 {\r
41 public:\r
42         bool BuildPit(vec3_t min, vec3_t max);\r
43         void BuildBorderedPrism(vec3_t min, vec3_t max, int nSides, int nBorder, bool bAlignTop);\r
44         void BuildInversePrism(vec3_t min, vec3_t max, int nSides, bool bAlignTop);\r
45         void BuildRegularPrism(vec3_t min, vec3_t max, int nSides, bool bAlignTop);\r
46         \r
47         int m_nNextBrush;\r
48         static DBrush* GetBoundingCube_Ext(vec3_t min, vec3_t max, const char* textureName, bool* bUseFaces = bFacesAll, bool detail = false);\r
49 \r
50         DShape();\r
51         virtual ~DShape();\r
52 \r
53         void Commit();\r
54 private:\r
55         DBrush* GetBoundingCube(vec3_t min, vec3_t max, const char* textureName, DEntity* ent = NULL, bool* bUseFaces = bFacesAll);\r
56 \r
57         DMap m_Container;\r
58 };\r
59 \r
60 #endif // !defined(AFX_DSHAPE_H__0B30B302_9D21_4C2D_836A_61F3C8D4244D__INCLUDED_)\r