Blender V2.61 - r43446
Classes | Defines | Typedefs | Functions

btAlignedAllocator.h File Reference

#include "btScalar.h"

Go to the source code of this file.

Classes

class  btAlignedAllocator< T, Alignment >
struct  btAlignedAllocator< T, Alignment >::rebind< O >

Defines

#define btAlignedAlloc(size, alignment)   btAlignedAllocInternal(size,alignment)
#define btAlignedFree(ptr)   btAlignedFreeInternal(ptr)

Typedefs

typedef int size_type
typedef void *( btAlignedAllocFunc )(size_t size, int alignment)
typedef void( btAlignedFreeFunc )(void *memblock)
typedef void *( btAllocFunc )(size_t size)
typedef void( btFreeFunc )(void *memblock)

Functions

void * btAlignedAllocInternal (size_t size, int alignment)
void btAlignedFreeInternal (void *ptr)
void btAlignedAllocSetCustom (btAllocFunc *allocFunc, btFreeFunc *freeFunc)
 The developer can let all Bullet memory allocations go through a custom memory allocator, using btAlignedAllocSetCustom.
void btAlignedAllocSetCustomAligned (btAlignedAllocFunc *allocFunc, btAlignedFreeFunc *freeFunc)
 If the developer has already an custom aligned allocator, then btAlignedAllocSetCustomAligned can be used. The default aligned allocator pre-allocates extra memory using the non-aligned allocator, and instruments it.

Define Documentation

#define btAlignedAlloc (   size,
  alignment 
)    btAlignedAllocInternal(size,alignment)

Definition at line 41 of file btAlignedAllocator.h.

Referenced by btMultiSapBroadphase::addToChildBroadphase(), btAlignedAllocator< Joint *, 16 >::allocate(), btCollisionDispatcher::allocateCollisionAlgorithm(), btSoftBody::appendAngularJoint(), btSoftBody::appendLinearJoint(), btSoftBody::appendMaterial(), btAxisSweep3Internal< BP_FP_INT_TYPE >::btAxisSweep3Internal(), btDbvtBroadphase::btDbvtBroadphase(), btDefaultCollisionConfiguration::btDefaultCollisionConfiguration(), btDefaultSerializer::btDefaultSerializer(), btDiscreteDynamicsWorld::btDiscreteDynamicsWorld(), btMultiSapBroadphase::btMultiSapBroadphase(), btPairCachingGhostObject::btPairCachingGhostObject(), btPoolAllocator::btPoolAllocator(), btSimpleBroadphase::btSimpleBroadphase(), btSoftBodyRigidBodyCollisionConfiguration::btSoftBodyRigidBodyCollisionConfiguration(), btSoftRigidDynamicsWorld::btSoftRigidDynamicsWorld(), btStackAlloc::create(), createnode(), btDbvtBroadphase::createProxy(), btMultiSapBroadphase::createProxy(), btGenericPoolAllocator::failback_alloc(), btDefaultSerializer::finishSerialization(), btSoftBody::generateClusters(), btCollisionDispatcher::getNewManifold(), gim_alloc(), btGenericMemoryPool::init_pool(), btDefaultSerializer::initDNA(), btDefaultSerializer::internalAlloc(), plCreateDynamicsWorld(), plCreateRigidBody(), plNewBoxShape(), plNewBulletSdk(), plNewCapsuleShape(), plNewCompoundShape(), plNewConeShape(), plNewConvexHullShape(), plNewCylinderShape(), plNewSphereShape(), btSoftColliders::CollideCL_SS::Process(), btSoftColliders::CollideCL_RS::Process(), and btGenericPoolAllocator::push_new_pool().

#define btAlignedFree (   ptr)    btAlignedFreeInternal(ptr)

Typedef Documentation

typedef void*( btAlignedAllocFunc)(size_t size, int alignment)

Definition at line 47 of file btAlignedAllocator.h.

typedef void( btAlignedFreeFunc)(void *memblock)

Definition at line 48 of file btAlignedAllocator.h.

typedef void*( btAllocFunc)(size_t size)

Definition at line 49 of file btAlignedAllocator.h.

typedef void( btFreeFunc)(void *memblock)

Definition at line 50 of file btAlignedAllocator.h.

typedef int size_type

Definition at line 45 of file btAlignedAllocator.h.


Function Documentation

void* btAlignedAllocInternal ( size_t  size,
int  alignment 
)

we probably replace this with our own aligned memory allocator so we replace _aligned_malloc and _aligned_free with our own that is better portable and more predictable

Definition at line 160 of file btAlignedAllocator.cpp.

References gNumAlignedAllocs, and sAlignedAllocFunc.

void btAlignedAllocSetCustom ( btAllocFunc allocFunc,
btFreeFunc freeFunc 
)

The developer can let all Bullet memory allocations go through a custom memory allocator, using btAlignedAllocSetCustom.

Definition at line 99 of file btAlignedAllocator.cpp.

References btAllocDefault(), btFreeDefault(), sAllocFunc, and sFreeFunc.

void btAlignedAllocSetCustomAligned ( btAlignedAllocFunc allocFunc,
btAlignedFreeFunc freeFunc 
)

If the developer has already an custom aligned allocator, then btAlignedAllocSetCustomAligned can be used. The default aligned allocator pre-allocates extra memory using the non-aligned allocator, and instruments it.

Definition at line 93 of file btAlignedAllocator.cpp.

References btAlignedAllocDefault(), btAlignedFreeDefault(), sAlignedAllocFunc, and sAlignedFreeFunc.

void btAlignedFreeInternal ( void *  ptr)

Definition at line 169 of file btAlignedAllocator.cpp.

References gNumAlignedFree, and sAlignedFreeFunc.