mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-02-04 20:11:01 +00:00
scenecontainer cleanup
This commit is contained in:
parent
3c97471630
commit
9dd9d2f9b7
|
|
@ -60,26 +60,26 @@ static Box3F sBoundingBox;
|
|||
|
||||
SceneContainer::Link::Link()
|
||||
{
|
||||
next = prev = this;
|
||||
mNext = mPrev = this;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
void SceneContainer::Link::unlink()
|
||||
{
|
||||
next->prev = prev;
|
||||
prev->next = next;
|
||||
next = prev = this;
|
||||
mNext->mPrev = mPrev;
|
||||
mPrev->mNext = mNext;
|
||||
mNext = mPrev = this;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
void SceneContainer::Link::linkAfter(SceneContainer::Link* ptr)
|
||||
{
|
||||
next = ptr->next;
|
||||
next->prev = this;
|
||||
prev = ptr;
|
||||
prev->next = this;
|
||||
mNext = ptr->mNext;
|
||||
mNext->mPrev = this;
|
||||
mPrev = ptr;
|
||||
mPrev->mNext = this;
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
|
|
@ -93,8 +93,8 @@ SceneContainer::SceneContainer()
|
|||
mSearchInProgress = false;
|
||||
mCurrSeqKey = 0;
|
||||
|
||||
mEnd.next = mEnd.prev = &mStart;
|
||||
mStart.next = mStart.prev = &mEnd;
|
||||
mEnd.mNext = mEnd.mPrev = &mStart;
|
||||
mStart.mNext = mStart.mPrev = &mEnd;
|
||||
|
||||
mBinArray = new SceneObjectRef[csmNumBins * csmNumBins];
|
||||
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 )
|
||||
{
|
||||
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 );
|
||||
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 )
|
||||
{
|
||||
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);
|
||||
if ((ptr->getTypeMask() & mask) != 0 && !ptr->mCollisionCount)
|
||||
(*callback)(ptr,key);
|
||||
|
|
@ -859,10 +859,10 @@ bool SceneContainer::_castRay( U32 type, const Point3F& start, const Point3F& en
|
|||
F32 currentT = 2.0;
|
||||
mCurrSeqKey++;
|
||||
|
||||
SceneObjectRef* chain = mOverflowBin.nextInBin;
|
||||
while (chain)
|
||||
SceneObjectRef* overflowChain = mOverflowBin.nextInBin;
|
||||
while (overflowChain)
|
||||
{
|
||||
SceneObject* ptr = chain->object;
|
||||
SceneObject* ptr = overflowChain->object;
|
||||
if (ptr->getContainerSeqKey() != 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
|
||||
|
|
@ -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!" );
|
||||
|
||||
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);
|
||||
if (ptr->getTypeMask() & mask && !ptr->mCollisionCount)
|
||||
|
|
|
|||
|
|
@ -151,8 +151,8 @@ class SceneContainer
|
|||
|
||||
struct Link
|
||||
{
|
||||
Link* next;
|
||||
Link* prev;
|
||||
Link* mNext;
|
||||
Link* mPrev;
|
||||
Link();
|
||||
void unlink();
|
||||
void linkAfter(Link* ptr);
|
||||
|
|
|
|||
Loading…
Reference in a new issue