BSPParser
Simple and modern library for parsing the Valve BSP format
Loading...
Searching...
No Matches
face-accessors.hpp
1#pragma once
2
3#include "../bsp.hpp"
4#include "../structs/geometry.hpp"
5#include "../structs/models.hpp"
6#include "../vertex.hpp"
7#include <functional>
8
12namespace BspParser::Accessors {
18 void iterateModels(
19 const Bsp& bsp,
20 const std::function<void(const Structs::Model& model, const std::vector<PhysModel>& physicsModels)>& iteratee
21 );
22
30 void iterateFaces(
31 const Bsp& bsp,
32 const Structs::Model& model,
33 const std::function<void(
34 const Structs::Face& face,
35 const Structs::Plane& plane,
36 const Structs::TexInfo& textureInfo,
37 std::span<const int32_t> surfaceEdges
38 )>& iteratee
39 );
40
50 size_t getVertexCount(const Bsp& bsp, const Structs::Face& face, std::span<const int32_t> surfaceEdges);
51
61 size_t getTriangleListIndexCount(const Bsp& bsp, const Structs::Face& face, std::span<const int32_t> surfaceEdges);
62
75 const Bsp& bsp,
76 const Structs::Face& face,
77 const Structs::Plane& plane,
78 const Structs::TexInfo& textureInfo,
79 std::span<const int32_t> surfaceEdges,
80 const std::function<void(const Vertex& vertex)>& iteratee
81 );
82
93 const Bsp& bsp,
94 const Structs::Face& face,
95 std::span<const int32_t> surfaceEdges,
96 const std::function<void(uint32_t i0, uint32_t i1, uint32_t i2)>& iteratee
97 );
98}
Definition: BSPParser.hpp:12
void generateTriangleListIndices(const Bsp &bsp, const Structs::Face &face, const std::span< const int32_t > surfaceEdges, const std::function< void(uint32_t i0, uint32_t i1, uint32_t i2)> &iteratee)
Definition: face-accessors.cpp:165
size_t getVertexCount(const Bsp &bsp, const Structs::Face &face, const std::span< const int32_t > surfaceEdges)
Definition: face-accessors.cpp:111
size_t getTriangleListIndexCount(const Bsp &bsp, const Structs::Face &face, const std::span< const int32_t > surfaceEdges)
Definition: face-accessors.cpp:121
void iterateModels(const Bsp &bsp, const std::function< void(const Structs::Model &model, const std::vector< PhysModel > &physicsModels)> &iteratee)
Definition: face-accessors.cpp:16
void iterateFaces(const Bsp &bsp, const Structs::Model &model, const std::function< void(const Structs::Face &face, const Structs::Plane &plane, const Structs::TexInfo &textureInfo, std::span< const int32_t > surfaceEdges)> &iteratee)
Definition: face-accessors.cpp:34
void generateVertices(const Bsp &bsp, const Structs::Face &face, const Structs::Plane &plane, const Structs::TexInfo &textureInfo, const std::span< const int32_t > surfaceEdges, const std::function< void(const Vertex &vertex)> &iteratee)
Definition: face-accessors.cpp:133