|
Fx2D
A C++20 2D rigid-body physics engine
|
Functions | |
| bool | contact_is_solvable (const FxContact &contact) |
| bool | aabb_overlap_check (const FxEntity &entity1, const FxEntity &entity2) |
| bool | aabb_overlap_check (const std::shared_ptr< FxEntity > &entity1, const std::shared_ptr< FxEntity > &entity2) |
| const FxContact | collision_check (const FxEntity &entity1, const FxEntity &entity2) |
| const FxContact | collision_check (const std::shared_ptr< FxEntity > &entity1, const std::shared_ptr< FxEntity > &entity2) |
| FxContact | speculative_contact_check (const std::shared_ptr< FxEntity > &entity1, const std::shared_ptr< FxEntity > &entity2, float substep_dt) |
| void | resolve_penetration (const FxContact &contact, double dt=0.016f) |
| void | init_velocity_pass (FxContact &contact, FxContactSolverData &data, const FxSolverBodies &bodies) |
| void | batch_append (FxContactBatch &batch, const FxContact &contact, const FxContactSolverData &data, uint32_t contact_index) |
| void | resolve_velocities_batched (FxContactBatch &batch, std::size_t begin, std::size_t end, FxSolverBodies &bodies, int slots) |
| void | batch_write_back (const FxContactBatch &batch, std::vector< FxContact > &contacts) |
| void | warm_start (FxContact &contact, const FxContactSolverData &data, FxSolverBodies &bodies) |
| bool FxSolver::aabb_overlap_check | ( | const std::shared_ptr< FxEntity > & | entity1, |
| const std::shared_ptr< FxEntity > & | entity2 | ||
| ) |
| void FxSolver::batch_append | ( | FxContactBatch & | batch, |
| const FxContact & | contact, | ||
| const FxContactSolverData & | data, | ||
| uint32_t | contact_index | ||
| ) |
| void FxSolver::batch_write_back | ( | const FxContactBatch & | batch, |
| std::vector< FxContact > & | contacts | ||
| ) |
| const FxContact FxSolver::collision_check | ( | const std::shared_ptr< FxEntity > & | entity1, |
| const std::shared_ptr< FxEntity > & | entity2 | ||
| ) |
|
inline |
| void FxSolver::init_velocity_pass | ( | FxContact & | contact, |
| FxContactSolverData & | data, | ||
| const FxSolverBodies & | bodies | ||
| ) |
| void FxSolver::resolve_penetration | ( | const FxContact & | contact, |
| double | dt = 0.016f |
||
| ) |
| void FxSolver::resolve_velocities_batched | ( | FxContactBatch & | batch, |
| std::size_t | begin, | ||
| std::size_t | end, | ||
| FxSolverBodies & | bodies, | ||
| int | slots | ||
| ) |
| FxContact FxSolver::speculative_contact_check | ( | const std::shared_ptr< FxEntity > & | entity1, |
| const std::shared_ptr< FxEntity > & | entity2, | ||
| float | substep_dt | ||
| ) |
| void FxSolver::warm_start | ( | FxContact & | contact, |
| const FxContactSolverData & | data, | ||
| FxSolverBodies & | bodies | ||
| ) |