#pragma once #include "tarray.h" #include "vectors.h" #include "build.h" struct SectorGeometryPlane { TArray vertices; TArray texcoords; FVector3 normal{}; }; struct SectorGeometryData { SectorGeometryPlane planes[2]; sectortype compare{}; vec2_t poscompare{ }; vec2_t poscompare2{ }; }; class SectorGeometry { TArray data; void ValidateSector(unsigned sectnum, int plane); void MakeVertices(unsigned sectnum, int plane); public: SectorGeometryPlane* get(unsigned sectnum, int plane) { if (sectnum >= data.Size()) return nullptr; ValidateSector(sectnum, plane); return &data[sectnum].planes[plane]; } void SetSize(unsigned sectcount) { data.Clear(); // delete old content data.Resize(sectcount); } }; extern SectorGeometry sectorGeometry;