Blender
V3.3
|
#include <btContactProcessing.h>
Public Member Functions | |
btContactArray () | |
SIMD_FORCE_INLINE void | push_contact (const btVector3 &point, const btVector3 &normal, btScalar depth, int feature1, int feature2) |
SIMD_FORCE_INLINE void | push_triangle_contacts (const GIM_TRIANGLE_CONTACT &tricontact, int feature1, int feature2) |
void | merge_contacts (const btContactArray &contacts, bool normal_contact_average=true) |
void | merge_contacts_unique (const btContactArray &contacts) |
![]() | |
SIMD_FORCE_INLINE btAlignedObjectArray< GIM_CONTACT > & | operator= (const btAlignedObjectArray< GIM_CONTACT > &other) |
btAlignedObjectArray () | |
btAlignedObjectArray (const btAlignedObjectArray &otherArray) | |
Generally it is best to avoid using the copy constructor of an btAlignedObjectArray, and use a (const) reference to the array instead. More... | |
~btAlignedObjectArray () | |
SIMD_FORCE_INLINE int | size () const |
return the number of elements in the array More... | |
SIMD_FORCE_INLINE const GIM_CONTACT & | at (int n) const |
SIMD_FORCE_INLINE GIM_CONTACT & | at (int n) |
SIMD_FORCE_INLINE const GIM_CONTACT & | operator[] (int n) const |
SIMD_FORCE_INLINE GIM_CONTACT & | operator[] (int n) |
SIMD_FORCE_INLINE void | clear () |
clear the array, deallocated memory. Generally it is better to use array.resize(0), to reduce performance overhead of run-time memory (de)allocations. More... | |
SIMD_FORCE_INLINE void | pop_back () |
SIMD_FORCE_INLINE void | resizeNoInitialize (int newsize) |
SIMD_FORCE_INLINE void | resize (int newsize, const GIM_CONTACT &fillData=GIM_CONTACT()) |
SIMD_FORCE_INLINE GIM_CONTACT & | expandNonInitializing () |
SIMD_FORCE_INLINE GIM_CONTACT & | expand (const GIM_CONTACT &fillValue=GIM_CONTACT()) |
SIMD_FORCE_INLINE void | push_back (const GIM_CONTACT &_Val) |
SIMD_FORCE_INLINE int | capacity () const |
return the pre-allocated (reserved) elements, this is at least as large as the total number of elements,see size() and reserve() More... | |
SIMD_FORCE_INLINE void | reserve (int _Count) |
void | quickSortInternal (const L &CompareFunc, int lo, int hi) |
void | quickSort (const L &CompareFunc) |
void | downHeap (GIM_CONTACT *pArr, int k, int n, const L &CompareFunc) |
heap sort from http://www.csse.monash.edu.au/~lloyd/tildeAlgDS/Sort/Heap/ More... | |
void | swap (int index0, int index1) |
void | heapSort (const L &CompareFunc) |
int | findBinarySearch (const GIM_CONTACT &key) const |
non-recursive binary search, assumes sorted array More... | |
int | findLinearSearch (const GIM_CONTACT &key) const |
int | findLinearSearch2 (const GIM_CONTACT &key) const |
void | removeAtIndex (int index) |
void | remove (const GIM_CONTACT &key) |
void | initializeFromBuffer (void *buffer, int size, int capacity) |
void | copyFromArray (const btAlignedObjectArray &otherArray) |
Additional Inherited Members | |
![]() | |
SIMD_FORCE_INLINE int | allocSize (int size) |
SIMD_FORCE_INLINE void | copy (int start, int end, GIM_CONTACT *dest) const |
SIMD_FORCE_INLINE void | init () |
SIMD_FORCE_INLINE void | destroy (int first, int last) |
SIMD_FORCE_INLINE void * | allocate (int size) |
SIMD_FORCE_INLINE void | deallocate () |
Definition at line 32 of file btContactProcessing.h.
|
inline |
Definition at line 35 of file btContactProcessing.h.
References btAlignedObjectArray< GIM_CONTACT >::reserve().
void btContactArray::merge_contacts | ( | const btContactArray & | contacts, |
bool | normal_contact_average = true |
||
) |
Definition at line 65 of file btContactProcessing.cpp.
References btFabs(), btVector3, btAlignedObjectArray< GIM_CONTACT >::clear(), CONTACT_DIFF_EPSILON, GIM_CONTACT::interpolate_normals(), GIM_CONTACT::m_depth, GIM_CONTACT::m_normal, MAX_COINCIDENT, btAlignedObjectArray< GIM_CONTACT >::push_back(), btAlignedObjectArray< T >::push_back(), btAlignedObjectArray< T >::quickSort(), btAlignedObjectArray< T >::reserve(), btAlignedObjectArray< T >::size(), and btAlignedObjectArray< GIM_CONTACT >::size().
void btContactArray::merge_contacts_unique | ( | const btContactArray & | contacts | ) |
Definition at line 145 of file btContactProcessing.cpp.
References btAlignedObjectArray< GIM_CONTACT >::clear(), GIM_CONTACT::m_depth, GIM_CONTACT::m_normal, GIM_CONTACT::m_point, btAlignedObjectArray< GIM_CONTACT >::push_back(), and btAlignedObjectArray< T >::size().
|
inline |
Definition at line 40 of file btContactProcessing.h.
References normal, point, and btAlignedObjectArray< GIM_CONTACT >::push_back().
Referenced by push_triangle_contacts().
|
inline |
Definition at line 47 of file btContactProcessing.h.
References GIM_TRIANGLE_CONTACT::m_penetration_depth, GIM_TRIANGLE_CONTACT::m_point_count, GIM_TRIANGLE_CONTACT::m_points, GIM_TRIANGLE_CONTACT::m_separating_normal, and push_contact().