OpenGothic
Open source reimplementation of Gothic I and II
Loading...
Searching...
No Matches
CollisionWorld Class Reference

#include <collisionworld.h>

Inheritance diagram for CollisionWorld:

Classes

struct  Broadphase
 
class  CollisionBody
 
struct  ContructInfo
 
class  DynamicBody
 

Public Member Functions

 CollisionWorld ()
 
void tick (uint64_t dt)
 
void setBBox (const btVector3 &min, const btVector3 &max)
 
void setItemHitCallback (std::function< void(Item &itm, zenkit::MaterialGroup mat, float impulse, float mass)> f)
 
void updateAabbs () override
 
void touchAabbs ()
 
bool hasCollision (const btCollisionObject &it, Tempest::Vec3 &normal)
 
bool hasCollision (btRigidBody &it, Tempest::Vec3 &normal, Interactive *&vob)
 
std::unique_ptr< CollisionBodyaddCollisionBody (btCollisionShape &shape, const Tempest::Matrix4x4 &tr, float friction)
 
std::unique_ptr< DynamicBodyaddDynamicBody (btCollisionShape &shape, const Tempest::Matrix4x4 &tr, float friction, float mass)
 
void rayCast (const Tempest::Vec3 &b, const Tempest::Vec3 &e, RayResultCallback &cb)
 

Static Public Member Functions

static float toMeters (const float v)
 
static btVector3 toMeters (const Tempest::Vec3 &v)
 
static const Tempest::Vec3 toCentimeters (const btVector3 &v)
 

Detailed Description

Definition at line 20 of file collisionworld.h.

Constructor & Destructor Documentation

◆ CollisionWorld()

CollisionWorld::CollisionWorld ( )

Definition at line 95 of file collisionworld.cpp.

Member Function Documentation

◆ addCollisionBody()

std::unique_ptr< CollisionWorld::CollisionBody > CollisionWorld::addCollisionBody ( btCollisionShape &  shape,
const Tempest::Matrix4x4 &  tr,
float  friction 
)

Definition at line 187 of file collisionworld.cpp.

◆ addDynamicBody()

std::unique_ptr< CollisionWorld::DynamicBody > CollisionWorld::addDynamicBody ( btCollisionShape &  shape,
const Tempest::Matrix4x4 &  tr,
float  friction,
float  mass 
)

Definition at line 210 of file collisionworld.cpp.

◆ hasCollision() [1/2]

bool CollisionWorld::hasCollision ( btRigidBody &  it,
Tempest::Vec3 &  normal,
Interactive *&  vob 
)

Definition at line 135 of file collisionworld.cpp.

◆ hasCollision() [2/2]

bool CollisionWorld::hasCollision ( const btCollisionObject &  it,
Tempest::Vec3 &  normal 
)

◆ rayCast()

void CollisionWorld::rayCast ( const Tempest::Vec3 &  b,
const Tempest::Vec3 &  e,
RayResultCallback &  cb 
)

Definition at line 245 of file collisionworld.cpp.

◆ setBBox()

void CollisionWorld::setBBox ( const btVector3 &  min,
const btVector3 &  max 
)

Definition at line 338 of file collisionworld.cpp.

◆ setItemHitCallback()

void CollisionWorld::setItemHitCallback ( std::function< void(Item &itm, zenkit::MaterialGroup mat, float impulse, float mass)>  f)

Definition at line 343 of file collisionworld.cpp.

◆ tick()

void CollisionWorld::tick ( uint64_t  dt)

Definition at line 252 of file collisionworld.cpp.

◆ toCentimeters()

const Tempest::Vec3 CollisionWorld::toCentimeters ( const btVector3 &  v)
static

Definition at line 107 of file collisionworld.cpp.

◆ toMeters() [1/2]

float CollisionWorld::toMeters ( const float  v)
static

Definition at line 99 of file collisionworld.cpp.

◆ toMeters() [2/2]

btVector3 CollisionWorld::toMeters ( const Tempest::Vec3 &  v)
static

Definition at line 103 of file collisionworld.cpp.

◆ touchAabbs()

void CollisionWorld::touchAabbs ( )

Definition at line 131 of file collisionworld.cpp.

◆ updateAabbs()

void CollisionWorld::updateAabbs ( )
override

Definition at line 123 of file collisionworld.cpp.


The documentation for this class was generated from the following files: