Blender
V3.3
|
The btTriangleInfoMap stores edge angle information for some triangles. You can compute this information yourself or using btGenerateInternalEdgeInfo. More...
#include <btTriangleInfoMap.h>
Public Member Functions | |
btTriangleInfoMap () | |
used to determine if a triangle is degenerate (length squared of cross product of 2 triangle edges < threshold) More... | |
virtual | ~btTriangleInfoMap () |
virtual int | calculateSerializeBufferSize () const |
virtual const char * | serialize (void *dataBuffer, btSerializer *serializer) const |
fills the dataBuffer and returns the struct name (and 0 on failure) More... | |
void | deSerialize (struct btTriangleInfoMapData &data) |
fills the dataBuffer and returns the struct name (and 0 on failure) More... | |
![]() | |
void | insert (const Key &key, const Value &value) |
void | remove (const Key &key) |
int | size () const |
const Value * | getAtIndex (int index) const |
Value * | getAtIndex (int index) |
Key | getKeyAtIndex (int index) |
const Key | getKeyAtIndex (int index) const |
Value * | operator[] (const Key &key) |
const Value * | operator[] (const Key &key) const |
const Value * | find (const Key &key) const |
Value * | find (const Key &key) |
int | findIndex (const Key &key) const |
void | clear () |
Public Attributes | |
btScalar | m_convexEpsilon |
btScalar | m_planarEpsilon |
used to determine if an edge or contact normal is convex, using the dot product More... | |
btScalar | m_equalVertexThreshold |
used to determine if a triangle edge is planar with zero angle More... | |
btScalar | m_edgeDistanceThreshold |
used to compute connectivity: if the distance between two vertices is smaller than m_equalVertexThreshold, they are considered to be 'shared' More... | |
btScalar | m_maxEdgeAngleThreshold |
used to determine edge contacts: if the closest distance between a contact point and an edge is smaller than this distance threshold it is considered to "hit the edge" More... | |
btScalar | m_zeroAreaThreshold |
Additional Inherited Members | |
![]() | |
void | growTables (const Key &) |
![]() | |
btAlignedObjectArray< int > | m_hashTable |
btAlignedObjectArray< int > | m_next |
btAlignedObjectArray< Value > | m_valueArray |
btAlignedObjectArray< Key > | m_keyArray |
The btTriangleInfoMap stores edge angle information for some triangles. You can compute this information yourself or using btGenerateInternalEdgeInfo.
Definition at line 53 of file btTriangleInfoMap.h.
|
inline |
used to determine if a triangle is degenerate (length squared of cross product of 2 triangle edges < threshold)
Definition at line 62 of file btTriangleInfoMap.h.
References m_convexEpsilon, m_edgeDistanceThreshold, m_equalVertexThreshold, m_maxEdgeAngleThreshold, m_planarEpsilon, m_zeroAreaThreshold, and SIMD_2_PI.
|
inlinevirtual |
Definition at line 71 of file btTriangleInfoMap.h.
|
virtual |
Definition at line 114 of file btTriangleInfoMap.h.
Referenced by serializeSingleTriangleInfoMap().
SIMD_FORCE_INLINE void btTriangleInfoMap::deSerialize | ( | struct btTriangleInfoMapData & | data | ) |
fills the dataBuffer and returns the struct name (and 0 on failure)
Definition at line 204 of file btTriangleInfoMap.h.
References m_convexEpsilon, btTriangleInfoMapData::m_convexEpsilon, m_edgeDistanceThreshold, btTriangleInfoMapData::m_edgeDistanceThreshold, btTriangleInfoData::m_edgeV0V1Angle, btTriangleInfoData::m_edgeV1V2Angle, btTriangleInfoData::m_edgeV2V0Angle, m_equalVertexThreshold, btTriangleInfoMapData::m_equalVertexThreshold, btTriangleInfoData::m_flags, btHashMap< Key, Value >::m_hashTable, btTriangleInfoMapData::m_hashTablePtr, btTriangleInfoMapData::m_hashTableSize, btHashMap< Key, Value >::m_keyArray, btTriangleInfoMapData::m_keyArrayPtr, btHashMap< Key, Value >::m_next, btTriangleInfoMapData::m_nextPtr, btTriangleInfoMapData::m_nextSize, btTriangleInfoMapData::m_numKeys, btTriangleInfoMapData::m_numValues, m_planarEpsilon, btTriangleInfoMapData::m_planarEpsilon, btHashMap< Key, Value >::m_valueArray, btTriangleInfoMapData::m_valueArrayPtr, m_zeroAreaThreshold, btTriangleInfoMapData::m_zeroAreaThreshold, and btAlignedObjectArray< T >::resize().
|
virtual |
fills the dataBuffer and returns the struct name (and 0 on failure)
Definition at line 120 of file btTriangleInfoMap.h.
References btSerializer::allocate(), BT_ARRAY_CODE, btSerializer::finalizeChunk(), float(), btSerializer::getUniquePointer(), m_convexEpsilon, btTriangleInfoMapData::m_convexEpsilon, m_edgeDistanceThreshold, btTriangleInfoMapData::m_edgeDistanceThreshold, btTriangleInfoData::m_edgeV0V1Angle, btTriangleInfoData::m_edgeV1V2Angle, btTriangleInfoData::m_edgeV2V0Angle, m_equalVertexThreshold, btTriangleInfoMapData::m_equalVertexThreshold, btTriangleInfoData::m_flags, btHashMap< Key, Value >::m_hashTable, btTriangleInfoMapData::m_hashTablePtr, btTriangleInfoMapData::m_hashTableSize, btHashMap< Key, Value >::m_keyArray, btTriangleInfoMapData::m_keyArrayPtr, btHashMap< Key, Value >::m_next, btTriangleInfoMapData::m_nextPtr, btTriangleInfoMapData::m_nextSize, btTriangleInfoMapData::m_numKeys, btTriangleInfoMapData::m_numValues, btChunk::m_oldPtr, btTriangleInfoMapData::m_padding, m_planarEpsilon, btTriangleInfoMapData::m_planarEpsilon, btHashMap< Key, Value >::m_valueArray, btTriangleInfoMapData::m_valueArrayPtr, m_zeroAreaThreshold, btTriangleInfoMapData::m_zeroAreaThreshold, and btAlignedObjectArray< T >::size().
Referenced by serializeSingleTriangleInfoMap().
btScalar btTriangleInfoMap::m_convexEpsilon |
Definition at line 55 of file btTriangleInfoMap.h.
Referenced by btAdjustInternalEdgeContacts(), btTriangleInfoMap(), deSerialize(), and serialize().
btScalar btTriangleInfoMap::m_edgeDistanceThreshold |
used to compute connectivity: if the distance between two vertices is smaller than m_equalVertexThreshold, they are considered to be 'shared'
Definition at line 58 of file btTriangleInfoMap.h.
Referenced by btTriangleInfoMap(), deSerialize(), and serialize().
btScalar btTriangleInfoMap::m_equalVertexThreshold |
used to determine if a triangle edge is planar with zero angle
Definition at line 57 of file btTriangleInfoMap.h.
Referenced by btTriangleInfoMap(), deSerialize(), btConnectivityProcessor::processTriangle(), and serialize().
btScalar btTriangleInfoMap::m_maxEdgeAngleThreshold |
used to determine edge contacts: if the closest distance between a contact point and an edge is smaller than this distance threshold it is considered to "hit the edge"
Definition at line 59 of file btTriangleInfoMap.h.
Referenced by btAdjustInternalEdgeContacts(), and btTriangleInfoMap().
btScalar btTriangleInfoMap::m_planarEpsilon |
used to determine if an edge or contact normal is convex, using the dot product
Definition at line 56 of file btTriangleInfoMap.h.
Referenced by btTriangleInfoMap(), deSerialize(), and serialize().
btScalar btTriangleInfoMap::m_zeroAreaThreshold |
Definition at line 60 of file btTriangleInfoMap.h.
Referenced by btTriangleInfoMap(), deSerialize(), and serialize().