54 const PxU32 matCount = 128;
56 maxMaterials = matCount;
57 for(PxU32 i=0; i<matCount; ++i)
59 materials[i].mMaterialIndex = MATERIAL_INVALID_HANDLE;
68 void setMaterial(MaterialCore* mat)
70 const PxU16 materialIndex = mat->mMaterialIndex;
71 resize(PxU32(materialIndex) + 1);
72 materials[materialIndex] = *mat;
75 void updateMaterial(MaterialCore* mat)
77 materials[mat->mMaterialIndex] =*mat;
80 void removeMaterial(MaterialCore* mat)
82 mat->mMaterialIndex = MATERIAL_INVALID_HANDLE;
87 PX_ASSERT(index < maxMaterials);
88 return &materials[index];
91 PxU32 getMaxSize()
const
96 void resize(PxU32 minValueForMax)
98 if(maxMaterials>=minValueForMax)
101 const PxU32 numMaterials = maxMaterials;
103 maxMaterials = (minValueForMax+31)&~31;
104 MaterialCore* mat =
reinterpret_cast<MaterialCore*
>(
physx::PxAlignedAllocator<16>().allocate(
sizeof(MaterialCore)*maxMaterials, __FILE__, __LINE__));
105 for(PxU32 i=0; i<numMaterials; ++i)
106 mat[i] = materials[i];
108 for(PxU32 i = numMaterials; i < maxMaterials; ++i)
109 mat[i].mMaterialIndex = MATERIAL_INVALID_HANDLE;
116 MaterialCore* materials;
Sorts an array of objects in ascending order, assuming that the predicate implements the < operator:
Definition PxBoxController.h:39