14#include "common/physics_push.hlsli"
15#include "common/physics_step.hlsli"
28 static_assert(
sizeof(physics::PxParameters) == 96);
58 uint32_t
Push(
const physics::PxVec3& origin,
const physics::PxVec3& direction,
59 uint32_t impulseMillinewtonSeconds);
61 [[nodiscard]]
const std::vector<PhysicsBody>&
Bodies()
const {
return m_bodies; }
82 const std::vector<std::vector<uint32_t>>& neighbors)
const;
85 void SolveColor(int32_t color, int64_t alphaQ16);
86 void SolveBody(uint32_t index, int64_t alphaQ16);
98 std::vector<std::vector<std::pair<const PhysicsManifold*, bool>>>
std::vector< uint32_t > ChooseLocalMaxima(const std::vector< std::vector< uint32_t > > &neighbors) const
void UpdateDuals(int64_t alphaQ16)
std::vector< std::vector< uint32_t > > DynamicNeighbors() const
void SolveBody(uint32_t index, int64_t alphaQ16)
void AssignSmallestColor(uint32_t index, const std::vector< uint32_t > &neighbors)
uint64_t StateHash() const
uint32_t Push(const physics::PxVec3 &origin, const physics::PxVec3 &direction, uint32_t impulseMillinewtonSeconds)
void SolveColor(int32_t color, int64_t alphaQ16)
PhysicsWorld(const PhysicsScene &scene, const physics::PxParameters ¶meters)
void RecordPointBits(const PhysicsContactPoint &point)
physics::PxParameters m_parameters
std::map< std::pair< uint32_t, uint32_t >, PhysicsManifold > m_manifolds
const std::map< std::pair< uint32_t, uint32_t >, PhysicsManifold > & Manifolds() const
void RecordSystemBits(const physics::PxBodySystem &system)
std::vector< std::vector< std::pair< const PhysicsManifold *, bool > > > m_bodyManifolds
const std::vector< PhysicsBody > & Bodies() const
std::vector< PhysicsBody > m_bodies
const PhysicsStepStats & Stats() const
physics::PxContactPoint PhysicsContactPoint
PhysicsBody MakePhysicsBody(const PhysicsSceneBody &source, int64_t rate)
physics::PxManifold PhysicsManifold
physics::PxBody PhysicsBody