Blender V2.61 - r43446
|
#include <btUniformScalingShape.h>
Public Member Functions | |
btUniformScalingShape (btConvexShape *convexChildShape, btScalar uniformScalingFactor) | |
virtual | ~btUniformScalingShape () |
virtual btVector3 | localGetSupportingVertexWithoutMargin (const btVector3 &vec) const |
virtual btVector3 | localGetSupportingVertex (const btVector3 &vec) const |
virtual void | batchedUnitVectorGetSupportingVertexWithoutMargin (const btVector3 *vectors, btVector3 *supportVerticesOut, int numVectors) const |
virtual void | calculateLocalInertia (btScalar mass, btVector3 &inertia) const |
btScalar | getUniformScalingFactor () const |
btConvexShape * | getChildShape () |
const btConvexShape * | getChildShape () const |
virtual const char * | getName () const |
void | getAabb (const btTransform &t, btVector3 &aabbMin, btVector3 &aabbMax) const |
getAabb's default implementation is brute force, expected derived classes to implement a fast dedicated version | |
virtual void | getAabbSlow (const btTransform &t, btVector3 &aabbMin, btVector3 &aabbMax) const |
virtual void | setLocalScaling (const btVector3 &scaling) |
virtual const btVector3 & | getLocalScaling () const |
virtual void | setMargin (btScalar margin) |
virtual btScalar | getMargin () const |
virtual int | getNumPreferredPenetrationDirections () const |
virtual void | getPreferredPenetrationDirection (int index, btVector3 &penetrationVector) const |
The btUniformScalingShape allows to re-use uniform scaled instances of btConvexShape in a memory efficient way. Istead of using btUniformScalingShape, it is better to use the non-uniform setLocalScaling method on convex shapes that implement it.
Definition at line 24 of file btUniformScalingShape.h.
btUniformScalingShape::btUniformScalingShape | ( | btConvexShape * | convexChildShape, |
btScalar | uniformScalingFactor | ||
) |
Definition at line 18 of file btUniformScalingShape.cpp.
References UNIFORM_SCALING_SHAPE_PROXYTYPE.
btUniformScalingShape::~btUniformScalingShape | ( | ) | [virtual] |
Definition at line 25 of file btUniformScalingShape.cpp.
void btUniformScalingShape::batchedUnitVectorGetSupportingVertexWithoutMargin | ( | const btVector3 * | vectors, |
btVector3 * | supportVerticesOut, | ||
int | numVectors | ||
) | const [virtual] |
void btUniformScalingShape::calculateLocalInertia | ( | btScalar | mass, |
btVector3 & | inertia | ||
) | const [virtual] |
this linear upscaling is not realistic, but we don't deal with large mass ratios...
Definition at line 56 of file btUniformScalingShape.cpp.
void btUniformScalingShape::getAabb | ( | const btTransform & | t, |
btVector3 & | aabbMin, | ||
btVector3 & | aabbMax | ||
) | const |
getAabb's default implementation is brute force, expected derived classes to implement a fast dedicated version
Definition at line 67 of file btUniformScalingShape.cpp.
References getAabbSlow().
void btUniformScalingShape::getAabbSlow | ( | const btTransform & | t, |
btVector3 & | aabbMin, | ||
btVector3 & | aabbMax | ||
) | const [virtual] |
Definition at line 73 of file btUniformScalingShape.cpp.
References batchedUnitVectorGetSupportingVertexWithoutMargin(), btTransform::getBasis(), getMargin(), i, and localGetSupportingVertex().
Referenced by getAabb().
btConvexShape* btUniformScalingShape::getChildShape | ( | ) | [inline] |
Definition at line 49 of file btUniformScalingShape.h.
const btConvexShape* btUniformScalingShape::getChildShape | ( | ) | const [inline] |
Definition at line 54 of file btUniformScalingShape.h.
const btVector3 & btUniformScalingShape::getLocalScaling | ( | ) | const [virtual] |
Definition at line 138 of file btUniformScalingShape.cpp.
btScalar btUniformScalingShape::getMargin | ( | ) | const [virtual] |
Definition at line 147 of file btUniformScalingShape.cpp.
Referenced by getAabbSlow().
virtual const char* btUniformScalingShape::getName | ( | void | ) | const [inline, virtual] |
Definition at line 59 of file btUniformScalingShape.h.
int btUniformScalingShape::getNumPreferredPenetrationDirections | ( | ) | const [virtual] |
Definition at line 152 of file btUniformScalingShape.cpp.
void btUniformScalingShape::getPreferredPenetrationDirection | ( | int | index, |
btVector3 & | penetrationVector | ||
) | const [virtual] |
Definition at line 157 of file btUniformScalingShape.cpp.
btScalar btUniformScalingShape::getUniformScalingFactor | ( | ) | const [inline] |
Definition at line 44 of file btUniformScalingShape.h.
btVector3 btUniformScalingShape::localGetSupportingVertex | ( | const btVector3 & | vec | ) | const [virtual] |
Definition at line 48 of file btUniformScalingShape.cpp.
Referenced by getAabbSlow().
btVector3 btUniformScalingShape::localGetSupportingVertexWithoutMargin | ( | const btVector3 & | vec | ) | const [virtual] |
Definition at line 30 of file btUniformScalingShape.cpp.
void btUniformScalingShape::setLocalScaling | ( | const btVector3 & | scaling | ) | [virtual] |
Definition at line 133 of file btUniformScalingShape.cpp.
void btUniformScalingShape::setMargin | ( | btScalar | margin | ) | [virtual] |
Definition at line 143 of file btUniformScalingShape.cpp.