Blender V4.3
btBox2dShape.h File Reference

Go to the source code of this file.

Functions

 BT_DECLARE_ALIGNED_ALLOCATOR ()
 
btVector3 getHalfExtentsWithMargin () const
 
const btVector3getHalfExtentsWithoutMargin () const
 
virtual btVector3 localGetSupportingVertex (const btVector3 &vec) const
 
SIMD_FORCE_INLINE btVector3 localGetSupportingVertexWithoutMargin (const btVector3 &vec) const
 btConvexShape Interface
 
virtual void batchedUnitVectorGetSupportingVertexWithoutMargin (const btVector3 *vectors, btVector3 *supportVerticesOut, int numVectors) const
 
 btBox2dShape (const btVector3 &boxHalfExtents)
 a btBox2dShape is a flat 2D box in the X-Y plane (Z extents are zero)
 
virtual void setMargin (btScalar collisionMargin)
 
virtual void setLocalScaling (const btVector3 &scaling)
 in case we receive negative scaling
 
virtual 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 calculateLocalInertia (btScalar mass, btVector3 &inertia) const
 
int getVertexCount () const
 
virtual int getNumVertices () const
 
const btVector3getVertices () const
 
const btVector3getNormals () const
 
virtual void getPlane (btVector3 &planeNormal, btVector3 &planeSupport, int i) const
 
const btVector3getCentroid () const
 
virtual int getNumPlanes () const
 
virtual int getNumEdges () const
 
virtual void getVertex (int i, btVector3 &vtx) const
 
virtual void getPlaneEquation (btVector4 &plane, int i) const
 
virtual void getEdge (int i, btVector3 &pa, btVector3 &pb) const
 
virtual bool isInside (const btVector3 &pt, btScalar tolerance) const
 
virtual const char * getName () const
 
virtual int getNumPreferredPenetrationDirections () const
 
virtual void getPreferredPenetrationDirection (int index, btVector3 &penetrationVector) const
 

Variables

btBox2dShape __pad0__
 The btBox2dShape is a box primitive around the origin, its sides axis aligned with length specified by half extents, in local shape coordinates. When used as part of a btCollisionObject or btRigidBody it will be an oriented box in world space.
 
btVector3 m_vertices [4]
 
btVector3 m_normals [4]
 

Function Documentation

◆ batchedUnitVectorGetSupportingVertexWithoutMargin()

virtual void batchedUnitVectorGetSupportingVertexWithoutMargin ( const btVector3 * vectors,
btVector3 * supportVerticesOut,
int numVectors ) const
virtual

◆ BT_DECLARE_ALIGNED_ALLOCATOR()

BT_DECLARE_ALIGNED_ALLOCATOR ( )

◆ btBox2dShape()

btBox2dShape ( const btVector3 & boxHalfExtents)

a btBox2dShape is a flat 2D box in the X-Y plane (Z extents are zero)

Definition at line 85 of file btBox2dShape.h.

References BOX_2D_SHAPE_PROXYTYPE, getMargin(), m_implicitShapeDimensions, m_localScaling, m_normals, m_vertices, and setSafeMargin().

Referenced by b2CollidePolygons(), and btBox2dBox2dCollisionAlgorithm::processCollision().

◆ calculateLocalInertia()

virtual void calculateLocalInertia ( btScalar mass,
btVector3 & inertia ) const
virtual

Definition at line 54 of file btConeShape.h.

References btTransform, btVector3, and getAabb().

◆ getAabb()

virtual void getAabb ( const btTransform & t,
btVector3 & aabbMin,
btVector3 & aabbMax ) const
virtual

getAabb's default implementation is brute force, expected derived classes to implement a fast dedicated version

Definition at line 54 of file btCapsuleShape.h.

References btMatrix3x3, getHalfHeight(), getRadius(), and m_upAxis.

Referenced by calculateLocalInertia(), calculateTemporalAabb(), getAabbNonVirtual(), and getBoundingSphere().

◆ getCentroid()

const btVector3 & getCentroid ( ) const

Definition at line 164 of file btBox2dShape.h.

◆ getEdge()

void btBU_Simplex1to4::getEdge ( int i,
btVector3 & pa,
btVector3 & pb ) const
virtual

Definition at line 218 of file btBox2dShape.h.

References btAssert, and getVertex().

◆ getHalfExtentsWithMargin()

btVector3 getHalfExtentsWithMargin ( ) const

Definition at line 38 of file btBox2dShape.h.

References getHalfExtentsWithoutMargin(), and getMargin().

◆ getHalfExtentsWithoutMargin()

◆ getName()

virtual const char * getName ( ) const
virtual

◆ getNormals()

const btVector3 * getNormals ( ) const

Definition at line 150 of file btBox2dShape.h.

References m_normals.

◆ getNumEdges()

virtual int getNumEdges ( ) const
virtual

Definition at line 174 of file btBox2dShape.h.

Referenced by set_ccgdm_all_geometry().

◆ getNumPlanes()

int btBU_Simplex1to4::getNumPlanes ( ) const
virtual

Definition at line 169 of file btBox2dShape.h.

◆ getNumPreferredPenetrationDirections()

int btUniformScalingShape::getNumPreferredPenetrationDirections ( ) const
virtual

Definition at line 306 of file btBox2dShape.h.

◆ getNumVertices()

virtual int getNumVertices ( ) const
virtual

Definition at line 140 of file btBox2dShape.h.

Referenced by initializePolyhedralFeatures().

◆ getPlane()

void btBU_Simplex1to4::getPlane ( btVector3 & planeNormal,
btVector3 & planeSupport,
int i ) const
virtual

Definition at line 155 of file btBox2dShape.h.

References btVector3, getPlaneEquation(), and localGetSupportingVertex().

◆ getPlaneEquation()

virtual void getPlaneEquation ( btVector4 & plane,
int i ) const
virtual

Definition at line 189 of file btBox2dShape.h.

References btAssert, and getHalfExtentsWithoutMargin().

Referenced by getPlane().

◆ getPreferredPenetrationDirection()

void btUniformScalingShape::getPreferredPenetrationDirection ( int index,
btVector3 & penetrationVector ) const
virtual

Definition at line 311 of file btBox2dShape.h.

References btAssert.

◆ getVertex()

virtual void getVertex ( int i,
btVector3 & vtx ) const
virtual

Definition at line 179 of file btBox2dShape.h.

References btVector3, and getHalfExtentsWithoutMargin().

Referenced by getEdge(), and initializePolyhedralFeatures().

◆ getVertexCount()

int getVertexCount ( ) const

Definition at line 135 of file btBox2dShape.h.

Referenced by EdgeSeparation(), and FindIncidentEdge().

◆ getVertices()

const btVector3 * getVertices ( ) const

Definition at line 145 of file btBox2dShape.h.

References m_vertices.

Referenced by Freestyle::firstIntersectionGridVisitor::examineOccluder().

◆ isInside()

virtual bool isInside ( const btVector3 & pt,
btScalar tolerance ) const
virtual

Definition at line 284 of file btBox2dShape.h.

References getHalfExtentsWithoutMargin(), and result.

Referenced by GHOST_IsInsideRectangle().

◆ localGetSupportingVertex()

virtual btVector3 localGetSupportingVertex ( const btVector3 & vec) const
virtual

◆ localGetSupportingVertexWithoutMargin()

SIMD_FORCE_INLINE btVector3 localGetSupportingVertexWithoutMargin ( const btVector3 & vec) const

btConvexShape Interface

Definition at line 62 of file btBox2dShape.h.

References btFsels, btVector3, and getHalfExtentsWithoutMargin().

Referenced by localGetSupportVertexWithoutMarginNonVirtual().

◆ setLocalScaling()

virtual void setLocalScaling ( const btVector3 & scaling)
virtual

in case we receive negative scaling

Definition at line 120 of file btBox2dShape.h.

References getMargin(), m_implicitShapeDimensions, and m_localScaling.

◆ setMargin()

virtual void setMargin ( btScalar collisionMargin)
virtual

Definition at line 110 of file btBox2dShape.h.

References getMargin(), and m_implicitShapeDimensions.

Variable Documentation

◆ __pad0__

btBox2dShape __pad0__

The btBox2dShape is a box primitive around the origin, its sides axis aligned with length specified by half extents, in local shape coordinates. When used as part of a btCollisionObject or btRigidBody it will be an oriented box in world space.

Definition at line 27 of file btBox2dShape.h.

◆ m_normals

btVector3 m_normals[4]

Definition at line 33 of file btBox2dShape.h.

Referenced by btBox2dShape(), and getNormals().

◆ m_vertices