Changeset View
Changeset View
Standalone View
Standalone View
ps/trunk/source/simulation2/helpers/Grid.h
Show First 20 Lines • Show All 211 Lines • ▼ Show 20 Lines | ~SparseGrid() | ||||
delete[] m_Data; | delete[] m_Data; | ||||
} | } | ||||
void reset() | void reset() | ||||
{ | { | ||||
for (size_t i = 0; i < (size_t)(m_BW*m_BH); ++i) | for (size_t i = 0; i < (size_t)(m_BW*m_BH); ++i) | ||||
delete[] m_Data[i]; | delete[] m_Data[i]; | ||||
m_Data = new T*[m_BW*m_BH](); | // Reset m_Data by value-constructing in place with placement new. | ||||
m_Data = new (m_Data) T*[m_BW*m_BH](); | |||||
} | } | ||||
void set(int i, int j, const T& value) | void set(int i, int j, const T& value) | ||||
{ | { | ||||
#if GRID_BOUNDS_DEBUG | #if GRID_BOUNDS_DEBUG | ||||
ENSURE(0 <= i && i < m_W && 0 <= j && j < m_H); | ENSURE(0 <= i && i < m_W && 0 <= j && j < m_H); | ||||
#endif | #endif | ||||
GetBucket(i, j)[(j % BucketSize)*BucketSize + (i % BucketSize)] = value; | GetBucket(i, j)[(j % BucketSize)*BucketSize + (i % BucketSize)] = value; | ||||
▲ Show 20 Lines • Show All 61 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator