7 #ifndef CAFU_BSPTREEBUILDER_HPP_INCLUDED
8 #define CAFU_BSPTREEBUILDER_HPP_INCLUDED
10 #include "Math3D/Brush.hpp"
11 #include "Math3D/Polygon.hpp"
12 #include "Math3D/Vector3.hpp"
14 #if defined(_WIN32) && _MSC_VER<1600
22 namespace cf {
namespace SceneGraph {
class BspTreeNodeT; } }
23 namespace cf {
namespace SceneGraph {
class FaceNodeT; } }
24 namespace cf {
namespace SceneGraph {
class GenericNodeT; } }
42 void Build(
bool IsWorldspawn,
45 const std::string& MapFileName );
73 void DetectLeaks(
const ArrayT<VectorT>& FloodFillOrigins,
const std::string& WorldFileName,
MaterialT* LeakDetectMat);
76 void AssignOtherChildrenToLeaves();
80 void RemoveOuterFaces();
83 void RemoveOuterPortals();
91 void SortFacesIntoTexNameOrder();
94 void ChopUpForMaxLightMapSize();
97 void ChopUpForMaxSHLMapSize();
101 void CreateFullBrightLightMaps();
105 void CreateZeroBandSHLMaps();
109 void ComputeDrawStructures();
113 void CreateFullVisPVS();
124 void FloodFillInsideRecursive(
unsigned long Leaf1Nr);
125 void ComputeLeakPathByBFS(
const VectorT& Start)
const;
126 void LeakDetected(
const VectorT& InfoPlayerStartOrigin,
const std::string& PointFileName,
const unsigned long LeafNr)
const;
127 void QuickSortFacesIntoTexNameOrder();
129 const bool m_Option_MostSimpleTree;
130 const bool m_Option_BspSplitFaces;
131 const bool m_Option_ChopUpFaces;
Definition: BspTreeBuilder.hpp:27
This class represents a polymorphic 3-dimensional vector.
Definition: Misc.hpp:11
This class represents a surface material ("A datastructural representation of a scripts material def...
Definition: Material.hpp:22
The class represents a BSP Tree node, implementing the Composite design pattern.
Definition: BspTreeNode.hpp:30