BSPParser
Simple and modern library for parsing the Valve BSP format
Loading...
Searching...
No Matches
geometry.hpp
1#pragma once
2
3#include "common.hpp"
4#include <array>
5#include <cstdint>
6
7namespace BspParser::Structs {
8 struct Plane {
9 Vector normal; // Normal of the plane
10 float distance; // Distance from origin
11 int32_t type; // Plane axis identifier (unused)
12 };
13
14 struct Edge {
18 std::array<uint16_t, 2> vertices;
19 };
20
21 struct Face {
22 uint16_t planeNum;
23 uint8_t side;
24 uint8_t onNode;
25 int32_t firstEdge;
26 int16_t numEdges;
27 int16_t texInfo;
28 int16_t dispInfo;
29 int16_t surfaceVolumeFogId;
30 std::array<uint8_t, 4> styles;
31 int32_t lightOffset;
32
36 float area;
37
38 std::array<int32_t, 2> lightmapTextureMinsInLuxels;
39 std::array<int32_t, 2> lightmapTextureSizeInLuxels;
40 int32_t originalFace;
41 uint16_t numPrimitives;
42 uint16_t firstPrimitiveId;
43 uint32_t smoothingGroups;
44 };
45}
Definition: BSPParser.hpp:22
Definition: geometry.hpp:14
std::array< uint16_t, 2 > vertices
Definition: geometry.hpp:18
Definition: geometry.hpp:21
float area
Definition: geometry.hpp:36
Definition: geometry.hpp:8
Definition: common.hpp:18