scenecontainer cleanup

This commit is contained in:
Azaezel 2018-03-13 17:29:03 -05:00
parent a5917ced16
commit f1c397e055
2 changed files with 19 additions and 19 deletions

View file

@ -60,26 +60,26 @@ static Box3F sBoundingBox;
SceneContainer::Link::Link() SceneContainer::Link::Link()
{ {
next = prev = this; mNext = mPrev = this;
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
void SceneContainer::Link::unlink() void SceneContainer::Link::unlink()
{ {
next->prev = prev; mNext->mPrev = mPrev;
prev->next = next; mPrev->mNext = mNext;
next = prev = this; mNext = mPrev = this;
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
void SceneContainer::Link::linkAfter(SceneContainer::Link* ptr) void SceneContainer::Link::linkAfter(SceneContainer::Link* ptr)
{ {
next = ptr->next; mNext = ptr->mNext;
next->prev = this; mNext->mPrev = this;
prev = ptr; mPrev = ptr;
prev->next = this; mPrev->mNext = this;
} }
//============================================================================= //=============================================================================
@ -93,8 +93,8 @@ SceneContainer::SceneContainer()
mSearchInProgress = false; mSearchInProgress = false;
mCurrSeqKey = 0; mCurrSeqKey = 0;
mEnd.next = mEnd.prev = &mStart; mEnd.mNext = mEnd.mPrev = &mStart;
mStart.next = mStart.prev = &mEnd; mStart.mNext = mStart.mPrev = &mEnd;
mBinArray = new SceneObjectRef[csmNumBins * csmNumBins]; mBinArray = new SceneObjectRef[csmNumBins * csmNumBins];
for (U32 i = 0; i < csmNumBins; i++) for (U32 i = 0; i < csmNumBins; i++)
@ -760,7 +760,7 @@ void SceneContainer::findObjectList( const Frustum &frustum, U32 mask, Vector<Sc
void SceneContainer::findObjectList( U32 mask, Vector<SceneObject*> *outFound ) void SceneContainer::findObjectList( U32 mask, Vector<SceneObject*> *outFound )
{ {
for ( Link* itr = mStart.next; itr != &mEnd; itr = itr->next ) for ( Link* itr = mStart.mNext; itr != &mEnd; itr = itr->mNext)
{ {
SceneObject* ptr = static_cast<SceneObject*>( itr ); SceneObject* ptr = static_cast<SceneObject*>( itr );
if ( ( ptr->getTypeMask() & mask ) != 0 ) if ( ( ptr->getTypeMask() & mask ) != 0 )
@ -772,7 +772,7 @@ void SceneContainer::findObjectList( U32 mask, Vector<SceneObject*> *outFound )
void SceneContainer::findObjects( U32 mask, FindCallback callback, void *key ) void SceneContainer::findObjects( U32 mask, FindCallback callback, void *key )
{ {
for (Link* itr = mStart.next; itr != &mEnd; itr = itr->next) { for (Link* itr = mStart.mNext; itr != &mEnd; itr = itr->mNext) {
SceneObject* ptr = static_cast<SceneObject*>(itr); SceneObject* ptr = static_cast<SceneObject*>(itr);
if ((ptr->getTypeMask() & mask) != 0 && !ptr->mCollisionCount) if ((ptr->getTypeMask() & mask) != 0 && !ptr->mCollisionCount)
(*callback)(ptr,key); (*callback)(ptr,key);
@ -859,10 +859,10 @@ bool SceneContainer::_castRay( U32 type, const Point3F& start, const Point3F& en
F32 currentT = 2.0; F32 currentT = 2.0;
mCurrSeqKey++; mCurrSeqKey++;
SceneObjectRef* chain = mOverflowBin.nextInBin; SceneObjectRef* overflowChain = mOverflowBin.nextInBin;
while (chain) while (overflowChain)
{ {
SceneObject* ptr = chain->object; SceneObject* ptr = overflowChain->object;
if (ptr->getContainerSeqKey() != mCurrSeqKey) if (ptr->getContainerSeqKey() != mCurrSeqKey)
{ {
ptr->setContainerSeqKey(mCurrSeqKey); ptr->setContainerSeqKey(mCurrSeqKey);
@ -897,7 +897,7 @@ bool SceneContainer::_castRay( U32 type, const Point3F& start, const Point3F& en
} }
} }
} }
chain = chain->nextInBin; overflowChain = overflowChain->nextInBin;
} }
// These are just for rasterizing the line against the grid. We want the x coord // These are just for rasterizing the line against the grid. We want the x coord
@ -1138,7 +1138,7 @@ bool SceneContainer::collideBox(const Point3F &start, const Point3F &end, U32 ma
AssertFatal( info->userData == NULL, "SceneContainer::collideBox - RayInfo->userData cannot be used here!" ); AssertFatal( info->userData == NULL, "SceneContainer::collideBox - RayInfo->userData cannot be used here!" );
F32 currentT = 2; F32 currentT = 2;
for (Link* itr = mStart.next; itr != &mEnd; itr = itr->next) for (Link* itr = mStart.mNext; itr != &mEnd; itr = itr->mNext)
{ {
SceneObject* ptr = static_cast<SceneObject*>(itr); SceneObject* ptr = static_cast<SceneObject*>(itr);
if (ptr->getTypeMask() & mask && !ptr->mCollisionCount) if (ptr->getTypeMask() & mask && !ptr->mCollisionCount)

View file

@ -151,8 +151,8 @@ class SceneContainer
struct Link struct Link
{ {
Link* next; Link* mNext;
Link* prev; Link* mPrev;
Link(); Link();
void unlink(); void unlink();
void linkAfter(Link* ptr); void linkAfter(Link* ptr);