TheAtlasEngine
 
Loading...
Searching...
No Matches
atlas::physics Namespace Reference

Types are still be filled out. When this is completed to_jph() can be removed. More...

Classes

class  broad_phase_layer_interface
 This class is made to control the broadphase layer. Filters can be added to it to create a better and more organized broadphase. Ass well as giving some control to the user on how the broadphase should be organized. This requires dynamic masking however, which is not currently running. More...
 
struct  contact_event
 
class  contact_listener
 implementation of Jolt's contact listener for collisions More...
 
struct  jolt_config
 Used to keep global data for player access and use. Tells how physics bodies should act within a given scene by default. More...
 
class  jolt_context
 jolt_context is the backend implementation of physics context More...
 
struct  jolt_settings
 Jolt-specific context configurations These are going to be internally integrated to jolt_context. More...
 
struct  matrix4
 
struct  matrix4< JPH::Mat44 >
 
class  object_layer_pair_filter
 This goes into more detailed ways of filtering, where the object collisions may be defined be what the other object is. In this case a static setup allows static object to trigger collision only when it is touched by a dynamic target. More...
 
class  object_vs_broadphase_layer
 This is used to tell Jolt what can or cannot collide. As of right now the list is static therfore the layers do not need a dynamic set up. This will change when the object layers become user definable. More...
 
class  physics_context
 The context is the way to interact with specific backend context implementation such as JoltPhysics as our specific implementation-backend. More...
 
class  physics_engine
 The manager class for all physics engines. Manages the physics contexts and the collision engines. More...
 
struct  quaternion
 
struct  vector3
 
struct  vector3< JPH::Double3 >
 
struct  vector3< JPH::DVec3 >
 
struct  vector3< JPH::Float3 >
 
struct  vector3< JPH::Vec3 >
 
struct  vector4
 
struct  vector4< JPH::Float4 >
 
struct  vector4< JPH::Vec4 >
 

Enumerations

enum class  ObjectLayer : std::uint8_t { NonMoving = 0 , Moving = 1 , NumLayers }
 This contains a few important comparisons having to do with setting up the oct-trees correctly as well as the filtering and collision interaction. More...
 
enum class  BroadPhaseLayers : std::uint8_t { NonMoving = 0 , Moving = 1 , NumLayers }
 
enum  thread_type : uint8_t { default_system = 0 , job_system = 1 }
 

Functions

ref< physics_contextinitialize_physics_context (const jolt_settings &p_settings, event::event_bus &p_bus)
 initializes the physics backend. SHOULD have an API associated with but for now, we assume we only have JoltPhysics as our only physics backend
 

Detailed Description

Types are still be filled out. When this is completed to_jph() can be removed.

Enumeration Type Documentation

◆ ObjectLayer

enum class atlas::physics::ObjectLayer : std::uint8_t
strong

This contains a few important comparisons having to do with setting up the oct-trees correctly as well as the filtering and collision interaction.

Warning
Most of these contain implicit conversions which might lead to unexpected behavior. This should probably be fixed or atleast checked eventually.