!XT (BREAK-16) (Sandbox) Remove double-newlines at the end of files.
[CRYENGINE.git] / Code / Sandbox / Plugins / CryDesigner / Core / BSPTree3D.h
blobaa178e08aa77b83fe6207f59aed0c97f78644ace
1 // Copyright 2001-2018 Crytek GmbH / Crytek Group. All rights reserved.
3 #pragma once
5 #include "Model.h"
7 namespace Designer
9 class BSPTree3DNode;
10 struct OutputPolygons
12 PolygonList posList;
13 PolygonList negList;
14 PolygonList coSameList;
15 PolygonList coDiffList;
18 class BSPTree3D : public _i_reference_target_t
20 public:
21 BSPTree3D(PolygonList& polygonList);
22 ~BSPTree3D();
24 void GetPartitions(PolygonPtr& pPolygon, OutputPolygons& outPolygons) const;
25 bool IsInside(const BrushVec3& vPos) const;
26 bool IsValidTree() const { return m_bValidTree; }
28 private:
29 BSPTree3DNode* m_pRootNode;
30 bool m_bValidTree;
31 BSPTree3DNode* BuildBSP(PolygonList& polygonList);