16#if defined(_WIN32) || defined(__i386__)
17#define BT_USE_SSE_IN_API
30#if defined(__CELLOS_LV2__) && defined(__SPU__)
31#include <spu_intrinsics.h>
74#if defined(__CELLOS_LV2__) && defined(__SPU__)
83 for (; v < (
int)numverts - 4; v += 4)
106 for (; v < (
int)numverts; v++)
144#if defined(__APPLE__) && (defined(BT_USE_SSE) || defined(BT_USE_NEON))
145#if defined(BT_USE_SSE)
147#elif defined(BT_USE_NEON)
150#error unknown vector arch
244 vec.setValue(1, 0, 0);
409 for (
int i = 0; i < 3; i++)
@ CONVEX_POINT_CLOUD_SHAPE_PROXYTYPE
@ TRIANGLE_SHAPE_PROXYTYPE
@ CYLINDER_SHAPE_PROXYTYPE
@ CAPSULE_SHAPE_PROXYTYPE
@ CONVEX_HULL_SHAPE_PROXYTYPE
static btVector3 convexHullSupport(const btVector3 &localDirOrg, const btVector3 *points, int numPoints, const btVector3 &localScaling)
const T & btMax(const T &a, const T &b)
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
btScalar btSqrt(btScalar y)
The btBoxShape is a box primitive around the origin, its sides axis aligned with length specified by ...
The btCapsuleShape represents a capsule around the Y axis, there is also the btCapsuleShapeX aligned ...
btScalar getHalfHeight() const
The btConeShape implements a cone shape primitive, centered around the origin and aligned with the Y ...
The btConvexHullShape implements an implicit convex hull of an array of vertices.
const btVector3 & getImplicitShapeDimensions() const
btScalar getMarginNV() const
The btConvexPointCloudShape implements an implicit convex hull of an array of vertices.
btScalar getMarginNonVirtual() const
btConvexShape()
not supported on IBM SDK, until we fix the alignment of btVector3
virtual void project(const btTransform &trans, const btVector3 &dir, btScalar &minProj, btScalar &maxProj, btVector3 &witnesPtMin, btVector3 &witnesPtMax) const
virtual btVector3 localGetSupportingVertex(const btVector3 &vec) const =0
btVector3 localGetSupportVertexNonVirtual(const btVector3 &vec) const
virtual btVector3 localGetSupportingVertexWithoutMargin(const btVector3 &vec) const =0
void getAabbNonVirtual(const btTransform &t, btVector3 &aabbMin, btVector3 &aabbMax) const
virtual btScalar getMargin() const =0
void getAabb(const btTransform &t, btVector3 &aabbMin, btVector3 &aabbMax) const =0
getAabb's default implementation is brute force, expected derived classes to implement a fast dedicat...
btVector3 localGetSupportVertexWithoutMarginNonVirtual(const btVector3 &vec) const
The btCylinderShape class implements a cylinder shape primitive, centered around the origin....
The btMatrix3x3 class implements a 3x3 rotation matrix, to perform linear algebra in combination with...
btMatrix3x3 absolute() const
Return the matrix with all values non negative.
The btPolyhedralConvexAabbCachingShape adds aabb caching to the btPolyhedralConvexShape.
The btPolyhedralConvexShape is an internal interface class for polyhedral convex shapes.
The btSphereShape implements an implicit sphere, centered around a local origin with radius.
btScalar getRadius() const
btVector3 can be used to represent 3D points and vectors.
btVector3 dot3(const btVector3 &v0, const btVector3 &v1, const btVector3 &v2) const
void setValue(const btScalar &_x, const btScalar &_y, const btScalar &_z)
long maxDot(const btVector3 *array, long array_count, btScalar &dotOut) const
returns index of maximum dot product between this and vectors in array[]
btScalar length2() const
Return the length of the vector squared.
const btScalar & getX() const
Return the x value.