1 /*
2 	Copyright (C) 1996-1997  Id Software, Inc.
3 
4 	This program is free software; you can redistribute it and/or modify
5 	it under the terms of the GNU General Public License as published by
6 	the Free Software Foundation; either version 2 of the License, or
7 	(at your option) any later version.
8 
9 	This program is distributed in the hope that it will be useful,
10 	but WITHOUT ANY WARRANTY; without even the implied warranty of
11 	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 	GNU General Public License for more details.
13 
14 	You should have received a copy of the GNU General Public License
15 	along with this program; if not, write to the Free Software
16 	Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 
18 	See file, 'COPYING', for details.
19 
20 */
21 
22 #ifndef qfbsp_solidbsp_h
23 #define qfbsp_solidbsp_h
24 
25 #include "QF/qtypes.h"
26 
27 /**	\defgroup qfbsp_solidbsp BSP Creation Functions
28 	\ingroup qfbsp
29 */
30 //@{
31 
32 struct visfacet_s;
33 struct plane_s;
34 struct surface_s;
35 struct node_s;
36 
37 /**	Calculate the bounding box of the surface.
38 
39 	\param surf		The surface of which to calculate the bounding box.
40 */
41 void CalcSurfaceInfo (struct surface_s *surf);
42 
43 /**	Partition the surfaces, creating a nice bsp.
44 
45 	\param surfhead	The surfaces to partition.
46 	\param midsplit	If true, use the volume balancing heuristic rather than
47 					the split balancing heuristic (false).
48 */
49 struct node_s *SolidBSP (struct surface_s *surfhead, qboolean midsplit);
50 
51 //@}
52 
53 #endif//qfbsp_solidbsp_h
54