3#include <Core/World/Declarations.h>
4#include <Foundation/Strings/HashedString.h>
10 using StorageType = plUInt8;
22 StorageType FrequentUpdates : 1;
29 : m_uiValue(plSmallInvalidIndex)
33 PL_ALWAYS_INLINE
explicit Category(plUInt16 uiValue)
38 PL_ALWAYS_INLINE
bool operator==(
const Category& other)
const {
return m_uiValue == other.m_uiValue; }
39 PL_ALWAYS_INLINE
bool operator!=(
const Category& other)
const {
return m_uiValue != other.m_uiValue; }
43 PL_ALWAYS_INLINE plUInt32 GetBitmask()
const {
return m_uiValue != plSmallInvalidIndex ?
static_cast<plUInt32
>(PL_BIT(m_uiValue)) : 0; }
84enum class plVisibilityState : plUInt8
91#define plInvalidSpatialDataCategory plSpatialData::Category()
This class is optimized to take nearly no memory (sizeof(void*)) and to allow very fast checks whethe...
Definition HashedString.h:25
A hybrid array uses in-place storage to handle the first few elements without any allocation....
Definition HybridArray.h:12
plStringView represent a read-only sub-string of a larger string, as it can store a dedicated string ...
Definition StringView.h:34
The plBitflags class allows you to work with type-safe bitflags.
Definition Bitflags.h:82
Definition SpatialData.h:72
Definition SpatialData.h:27
Definition SpatialData.h:21
Definition SpatialData.h:9
Enum
Definition SpatialData.h:13
@ FrequentChanges
Indicates that objects in this category change their bounds frequently. Spatial System implementation...
Definition SpatialData.h:15
Definition SpatialData.h:7
static PL_CORE_DLL const plBitflags< Flags > & GetCategoryFlags(Category category)
Returns the flags for the given category.
Definition SpatialData.cpp:66
static PL_CORE_DLL const plHashedString & GetCategoryName(Category category)
Returns the name of the given category.
Definition SpatialData.cpp:54
static PL_CORE_DLL Category RegisterCategory(plStringView sCategoryName, const plBitflags< Flags > &flags)
Registers a spatial data category under the given name.
Definition SpatialData.cpp:12
static PL_CORE_DLL Category FindCategory(plStringView sCategoryName)
Returns either an existing category with the given name or plInvalidSpatialDataCategory.
Definition SpatialData.cpp:40