Unravel Engine C++ Reference
Loading...
Searching...
No Matches
bullet_backend.cpp File Reference
#include "bullet_backend.h"
#include "graphics/graphics.h"
#include <engine/defaults/defaults.h>
#include <engine/events.h>
#include <math/transform.hpp>
#include <engine/ecs/components/id_component.h>
#include <engine/ecs/components/layer_component.h>
#include <engine/ecs/components/tag_component.h>
#include <engine/ecs/components/transform_component.h>
#include <engine/ecs/ecs.h>
#include <engine/engine.h>
#include <engine/physics/ecs/components/character_controller_component.h>
#include <engine/scripting/ecs/components/script_component.h>
#include <engine/scripting/ecs/systems/script_system.h>
#include <engine/settings/settings.h>
#include <engine/profiler/profiler.h>
#include <BulletCollision/CollisionDispatch/btCollisionDispatcherMt.h>
#include <BulletCollision/NarrowPhaseCollision/btRaycastCallback.h>
#include <BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolverMt.h>
#include <BulletDynamics/Dynamics/btDiscreteDynamicsWorldMt.h>
#include <btBulletCollisionCommon.h>
#include <btBulletDynamicsCommon.h>
#include <BulletDynamics/Character/btKinematicCharacterController.h>
#include <BulletCollision/CollisionDispatch/btGhostObject.h>
#include <hpp/flat_map.hpp>
#include <logging/logging.h>
#include <algorithm>
#include <utility>
#include <vector>

Go to the source code of this file.

Classes

struct  std::hash< contact_key >
 

Namespaces

namespace  std
 Hash specialization for batch_key to enable use in std::unordered_map.
 
namespace  bullet
 
namespace  unravel
 

Macros

#define BT_USE_SSE_IN_API
 
#define COL32_R_SHIFT   0
 
#define COL32_G_SHIFT   8
 
#define COL32_B_SHIFT   16
 
#define COL32_A_SHIFT   24
 
#define COL32_A_MASK   0xFF000000
 

Macro Definition Documentation

◆ BT_USE_SSE_IN_API

#define BT_USE_SSE_IN_API

Definition at line 20 of file bullet_backend.cpp.

◆ COL32_A_MASK

#define COL32_A_MASK   0xFF000000

◆ COL32_A_SHIFT

#define COL32_A_SHIFT   24

◆ COL32_B_SHIFT

#define COL32_B_SHIFT   16

◆ COL32_G_SHIFT

#define COL32_G_SHIFT   8

◆ COL32_R_SHIFT

#define COL32_R_SHIFT   0

Variable Documentation

◆ a

Definition at line 98 of file bullet_backend.cpp.

◆ active_this_frame

bool active_this_frame = false

Definition at line 702 of file bullet_backend.cpp.

◆ b

Definition at line 99 of file bullet_backend.cpp.

◆ broadphase

std::shared_ptr<btBroadphaseInterface> broadphase

Definition at line 686 of file bullet_backend.cpp.

◆ cm

contact_manifold cm

Definition at line 701 of file bullet_backend.cpp.

◆ collision_config

std::shared_ptr<btDefaultCollisionConfiguration> collision_config

Definition at line 690 of file bullet_backend.cpp.

◆ collision_filter_group

int collision_filter_group {}

Definition at line 671 of file bullet_backend.cpp.

◆ collision_filter_mask

int collision_filter_mask {}

Definition at line 672 of file bullet_backend.cpp.

◆ contacts

std::vector<unravel::manifold_point> contacts

Definition at line 101 of file bullet_backend.cpp.

◆ contacts_cache

hpp::flat_map<contact_key, contact_record> contacts_cache

Definition at line 704 of file bullet_backend.cpp.

◆ controller

std::shared_ptr<btKinematicCharacterController> controller {}

Definition at line 679 of file bullet_backend.cpp.

◆ dispatcher

std::shared_ptr<btCollisionDispatcher> dispatcher

Definition at line 687 of file bullet_backend.cpp.

◆ dynamics_world

std::shared_ptr<btDiscreteDynamicsWorld> dynamics_world

Definition at line 691 of file bullet_backend.cpp.

◆ elapsed

float elapsed {}

Definition at line 709 of file bullet_backend.cpp.

◆ event

event_type event {}

Definition at line 97 of file bullet_backend.cpp.

◆ fraction

btScalar fraction

Definition at line 560 of file bullet_backend.cpp.

◆ ghost

std::shared_ptr<btPairCachingGhostObject> ghost {}

Definition at line 677 of file bullet_backend.cpp.

◆ hits

unravel::physics_vector<btCollisionObject*> hits

Definition at line 562 of file bullet_backend.cpp.

◆ in_simulate

bool in_simulate {}

Definition at line 708 of file bullet_backend.cpp.

◆ internal

std::shared_ptr<btRigidBody> internal {}

Definition at line 669 of file bullet_backend.cpp.

◆ internal_shape

std::shared_ptr<btCollisionShape> internal_shape {}

Definition at line 670 of file bullet_backend.cpp.

◆ layer_mask

int layer_mask

Definition at line 471 of file bullet_backend.cpp.

◆ me

btCollisionObject* me {}

Definition at line 616 of file bullet_backend.cpp.

◆ normal

btVector3 normal

Definition at line 559 of file bullet_backend.cpp.

◆ object

const btCollisionObject* object = nullptr

Definition at line 558 of file bullet_backend.cpp.

◆ query_sensors

bool query_sensors

Definition at line 472 of file bullet_backend.cpp.

◆ shape

std::shared_ptr<btCapsuleShape> shape {}

Definition at line 678 of file bullet_backend.cpp.

◆ solver

std::shared_ptr<btConstraintSolver> solver

Definition at line 688 of file bullet_backend.cpp.

◆ solver_pool

std::shared_ptr<btConstraintSolverPoolMt> solver_pool

Definition at line 689 of file bullet_backend.cpp.

◆ to_enter

unravel::physics_vector<contact_manifold> to_enter

Definition at line 705 of file bullet_backend.cpp.

◆ to_exit

unravel::physics_vector<contact_manifold> to_exit

Definition at line 706 of file bullet_backend.cpp.

◆ type

manifold_type type {}

Definition at line 96 of file bullet_backend.cpp.