Namespaces | Typedefs | Functions | Variables

aesop-physics.cpp File Reference

#include "aesop-physics.h"
#include "bullet/bullet.h"
#include "common/wave_ex.h"
#include "datahash/datahash_util.h"
#include "hfield/heightfield.h"
#include "perf/perf.h"
#include "threadsafe/threadsafe_queue.h"
#include "trimesh/trimesh.h"
Include dependency graph for aesop-physics.cpp:

Go to the source code of this file.

Namespaces

namespace  aesop

Typedefs

typedef btTransform aesop::Transform3D
typedef std::map< dword_t,
smart_ptr< PhysicsObject > > 
aesop::id_object_map_t
typedef std::vector< ObjectImpl * > aesop::vec_objimpl_t

Functions

template<class T >
long aesop::getNewIdForObject (IN smart_ptr< T > &in_obj)
smart_ptr< PhysicsObject > aesop::getPhysicsObjectById (IN dword_t id)
 access to static registry of physics objects
static void aesop::removeObjectFromIdMap (IN long id)
static btVector3 aesop::getBulletVectorFromPoint3d (IN const point3d_t &pos) throw ()
template<class T >
static point3d_t aesop::getPoint3dFromBulletType (IN const T &v) throw ()
static point3d_t aesop::getNullPoint (void) throw ()
static point3d_t aesop::getCollisionObjectPosition (IN const btCollisionObject *obj)
static void aesop::dumpVector (IN const char *title, IN const btVector3 &v) throw ()
static void aesop::dumpAabb (IN const char *title, IN const btVector3 &aabbMin, IN const btVector3 &aabbMax) throw ()
static void aesop::dumpCollisionObject (IN const char *title, IN const btCollisionObject *obj) throw ()
static ObjectImpl * aesop::getObject (IN PhysicsObject *obj)
static ObjectImpl * aesop::getPhysicsObject (IN void *pv)
static ShapeImpl * aesop::getShape (IN const PhysicsShape *s)
void aesop::getVectorFromEulerAngles (IN const point3d_t &euler, OUT point3d_t &vector) throw ()
 Assuming a vector is initially pointing in the (0, 0, 1) direction, return how it is rotated by the given Euler angles.
void aesop::getVectorFromQuaternion (IN const quaternion_t &rotation, OUT point3d_t &vector) throw ()
 Assuming a vector is initially pointing in the (0, 0, 1) direction, return how it is rotated by the given quaternion.
void aesop::dumpWorld (IN PhysicsWorld *world) throw ()
 expensive debugging function
void aesop::getTransformFromPlacement (IN const placement_t &placement, OUT Transform3D &T)
smart_ptr< PhysicsShape > aesop::createBoxShape (IN const point3d_t &dimensions)
smart_ptr< PhysicsShape > aesop::createCubeShape (IN float edge_length)
smart_ptr< PhysicsShape > aesop::createTrimeshShape (IN const trimesh::Trimesh *trimesh)
smart_ptr< PhysicsShape > aesop::createHeightfieldShape (IN const hfield::Heightfield *field)
smart_ptr< PhysicsShape > aesop::createCapsuleShape (IN float height, IN float radius)
smart_ptr< PhysicsObject > aesop::createMoveableObject (IN const physics_meta_t &meta, IN const placement_t &placement)
smart_ptr< PhysicsObject > aesop::createObject (IN const physics_meta_t &meta, IN const placement_t &placement)
 create an object from a physics meta and instance information
smart_ptr< PhysicsObject > aesop::getObjectHitFromPlacement (IN PhysicsWorld *world, IN const placement_t &placement, IN float half_extent)
 given an object at the given location and view direction (orientation), what is it looking at? (First object hit by a ray cast) Can return null!

Variables

static const float aesop::s_stepHeight = 0.35
static const int aesop::s_ghostCollisionFlags
static id_object_map_t aesop::s_idMap
static smart_mutex aesop::s_idMapMutex
static const dword_t aesop::s_dwMagicObject = 0x34892199
static const dword_t aesop::s_dwMagicCollision = 0x55784923