wowlib 0.0.0
Read & write World of Warcraft client files — a C++26 core
Loading...
Searching...
No Matches
geometry.hpp File Reference

WMO group geometry: polys, batches, BSP (MOPY, MOBA, MOBN) (namespace wowlib::formats::wmo::group::chunks). More...

#include <array>
#include <cstdint>
#include <utility>
#include <welder/vocabulary.hpp>
#include <wowlib/core/client_version.hpp>
#include <wowlib/core/lang.hpp>
#include <wowlib/formats/common/flags.hpp>
#include <wowlib/formats/common/types.hpp>
#include <wowlib/formats/wmo/boundaries.hpp>
Include dependency graph for geometry.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  wowlib::formats::wmo::group::chunks::SMOPoly
 Per-triangle material info (MOPY). More...
struct  wowlib::formats::wmo::group::chunks::Poly2
struct  wowlib::formats::wmo::group::chunks::WMOBatchBase
 The version-agnostic base of every SMOBatch<V>, welded as "WMOBatch". More...
struct  wowlib::formats::wmo::group::chunks::detail::SMOBatch< V >
 One MOBA render batch: an index range sharing one material, with its low-resolution culling box. More...
struct  wowlib::formats::wmo::group::chunks::RenderBatchOverride
struct  wowlib::formats::wmo::group::chunks::ShadowBatch
 One MOBS shadow batch (Cata+): the shadow-pass counterpart of a MOBA render batch. More...
struct  wowlib::formats::wmo::group::chunks::CAaBspNode
 One MOBN BSP node for collision: a split plane or a leaf referencing faces through MOBR. More...

Namespaces

namespace  wowlib
namespace  wowlib::formats
namespace  wowlib::formats::wmo
namespace  wowlib::formats::wmo::group
 The WMO group-file entities: WMOGroup, WMOGroupBody and their per-version classes.
namespace  wowlib::formats::wmo::group::chunks
 WMO group-file chunk binary structs (the MOGP header, render batches, BSP nodes, group lights) and their flag enums.
namespace  wowlib::formats::wmo::group::chunks::detail
 One render batch, 24 bytes.

Typedefs

template<ClientVersion V>
using wowlib::formats::wmo::group::chunks::SMOBatch = detail::SMOBatch<canonicalVersion(V, WmoBatchPivots, WmoVersions)>
 A MOBA render batch — the canonicalizing face of detail::SMOBatch (WmoBatchPivots: the culling box gives way to the large material id at Legion), so two instantiations cover all eleven releases.

Enumerations

enum class  wowlib::formats::wmo::group::chunks::PolyFlags : std::uint8_t {
  wowlib::formats::wmo::group::chunks::Transition = 0x1 , wowlib::formats::wmo::group::chunks::NoCamCollide = 0x2 , wowlib::formats::wmo::group::chunks::Detail = 0x4 , wowlib::formats::wmo::group::chunks::Collision = 0x8 ,
  wowlib::formats::wmo::group::chunks::Hint = 0x10 , wowlib::formats::wmo::group::chunks::Render = 0x20 , wowlib::formats::wmo::group::chunks::CullObjects = 0x40 , wowlib::formats::wmo::group::chunks::CollideHit = 0x80
}
 Per-triangle flag bits (MOPY and MPY2). More...

Detailed Description

WMO group geometry: polys, batches, BSP (MOPY, MOBA, MOBN) (namespace wowlib::formats::wmo::group::chunks).

Definition in file geometry.hpp.