21 INLINE PhysxMeshHash::
25 MeshHashRoot *r = _hashIndex;
27 for (
int i=0; i < _hashIndexSize; i++) {
34 _invSpacing = 1.0f / _spacing;
43 INLINE PhysxMeshHash::
53 INLINE
int PhysxMeshHash::
54 hash_function(
int xi,
int yi,
int zi)
const {
56 unsigned int h = (xi * 92837111)^(yi * 689287499)^(zi * 283923481);
57 return h % _hashIndexSize;
65 INLINE
void PhysxMeshHash::
66 cell_coord_of(
const NxVec3 &v,
int &xi,
int &yi,
int &zi)
const {
68 xi = (int)(v.x * _invSpacing);
if (v.x < 0.0f) xi--;
69 yi = (int)(v.y * _invSpacing);
if (v.y < 0.0f) yi--;
70 zi = (int)(v.z * _invSpacing);
if (v.z < 0.0f) zi--;
78 INLINE NxF32 PhysxMeshHash::
79 get_grid_spacing()
const {
81 return 1.0f / _invSpacing;