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