Registers collision profile names, enum mappings, and pair responses.
More...
#include <CollisionProfileRegistry.h>
Registers collision profile names, enum mappings, and pair responses.
Definition at line 20 of file CollisionProfileRegistry.h.
◆ CollisionProfileRegistry()
| Engine::Physics::CollisionProfileRegistry::CollisionProfileRegistry |
( |
| ) |
|
Creates a registry with an invalid profile slot at index zero.
◆ findData() [1/2]
◆ findData() [2/2]
◆ findProfile()
| CollisionProfileHandle Engine::Physics::CollisionProfileRegistry::findProfile |
( |
const std::string & | fullName | ) |
const |
|
nodiscard |
Finds a profile by full name.
◆ getBulletGroup()
| std::uint16_t Engine::Physics::CollisionProfileRegistry::getBulletGroup |
( |
CollisionProfileHandle | profile | ) |
const |
|
nodiscard |
Returns the Bullet collision group bit for a profile.
◆ getBulletMask()
| std::uint16_t Engine::Physics::CollisionProfileRegistry::getBulletMask |
( |
CollisionProfileHandle | profile | ) |
const |
|
nodiscard |
Returns the Bullet collision mask bits for profiles this profile can block.
◆ getFallbackProfile()
Returns the fallback profile used when no valid profile is configured.
◆ getProfileName()
| const std::string & Engine::Physics::CollisionProfileRegistry::getProfileName |
( |
CollisionProfileHandle | profile | ) |
const |
|
nodiscard |
Returns the full registered name for a profile handle.
◆ getProfiles()
Returns all valid registered collision profile handles.
◆ getResolvedResponse()
Resolves the effective symmetric response for a profile pair.
◆ getResponse()
Returns the configured response from one profile to another.
◆ loadProfileResponses()
| bool Engine::Physics::CollisionProfileRegistry::loadProfileResponses |
( |
const std::string & | path | ) |
|
Loads profile default and pair responses from a JSON file.
◆ logMaskOverflowIfNeeded()
| void Engine::Physics::CollisionProfileRegistry::logMaskOverflowIfNeeded |
( |
| ) |
const |
|
private |
◆ profileCanBlockAny()
Returns whether the profile blocks at least one other profile.
◆ registerEngineProfiles()
| void Engine::Physics::CollisionProfileRegistry::registerEngineProfiles |
( |
| ) |
|
Registers the engine's built-in collision profiles and default responses.
◆ registerProfileEnum()
template<typename ProfileEnum>
| void Engine::Physics::CollisionProfileRegistry::registerProfileEnum |
( |
std::string | domain, |
|
|
std::initializer_list< std::pair< ProfileEnum, std::string_view > > | values ) |
|
inline |
◆ registerProfileName()
| CollisionProfileHandle Engine::Physics::CollisionProfileRegistry::registerProfileName |
( |
const std::string & | fullName | ) |
|
|
nodiscard |
◆ resolve()
template<typename ProfileEnum>
◆ setDefaultResponse()
◆ setResponse()
◆ warnAboutAsymmetricResponses()
| void Engine::Physics::CollisionProfileRegistry::warnAboutAsymmetricResponses |
( |
| ) |
const |
Logs configured response pairs where only one direction ignores collisions.
◆ enumProfiles_
| std::unordered_map<std::type_index, std::unordered_map<std::int64_t, CollisionProfileHandle> > Engine::Physics::CollisionProfileRegistry::enumProfiles_ |
|
private |
◆ profiles_
| std::vector<ProfileData> Engine::Physics::CollisionProfileRegistry::profiles_ |
|
private |
◆ profilesByName_
| std::unordered_map<std::string, CollisionProfileHandle> Engine::Physics::CollisionProfileRegistry::profilesByName_ |
|
private |
The documentation for this class was generated from the following file: