Commit e93856a8 authored by Vincent Carrubba's avatar Vincent Carrubba
Browse files

SimpleObjectsReferencer improvment integrated, tested and approved

parent bb6337b9
...@@ -93,7 +93,7 @@ void EffectNode::render( void ) ...@@ -93,7 +93,7 @@ void EffectNode::render( void )
void EffectNode::renderSubNodes( void ) void EffectNode::renderSubNodes( void )
{ {
QList<OutSlot<LightVideoFrame>*> intOuts = m_internalsStaticVideosOutputs.getObjectsList() ; QList<OutSlot<LightVideoFrame>*> intOuts = m_connectedInternalsStaticVideosOutputs.getObjectsReferencesList() ;
QList<OutSlot<LightVideoFrame>*>::iterator intOutsIt = intOuts.begin(); QList<OutSlot<LightVideoFrame>*>::iterator intOutsIt = intOuts.begin();
QList<OutSlot<LightVideoFrame>*>::iterator intOutsEnd = intOuts.end(); QList<OutSlot<LightVideoFrame>*>::iterator intOutsEnd = intOuts.end();
QQueue<EffectNode*> nodeQueue; QQueue<EffectNode*> nodeQueue;
...@@ -102,34 +102,34 @@ void EffectNode::renderSubNodes( void ) ...@@ -102,34 +102,34 @@ void EffectNode::renderSubNodes( void )
InSlot<LightVideoFrame>* currentIn; InSlot<LightVideoFrame>* currentIn;
for ( ; intOutsIt != intOutsEnd; ++intOutsIt ) for ( ; intOutsIt != intOutsEnd; ++intOutsIt )
if ( ( currentIn = (*intOutsIt)->getInSlotPtr() ) != NULL ) {
currentIn = (*intOutsIt)->getInSlotPtr();
toQueueNode = currentIn->getPrivateFather();
if ((toQueueNode != this) && ( toQueueNode->wasItVisited() == false ))
{ {
toQueueNode = currentIn->getPrivateFather(); toQueueNode->setVisited();
if ((toQueueNode != this) && ( toQueueNode->wasItVisited() == false )) nodeQueue.enqueue( toQueueNode );
{
toQueueNode->setVisited();
nodeQueue.enqueue( toQueueNode );
}
} }
}
while ( nodeQueue.empty() == false ) while ( nodeQueue.empty() == false )
{ {
currentNode = nodeQueue.dequeue(); currentNode = nodeQueue.dequeue();
QList<OutSlot<LightVideoFrame>*> outs = currentNode->getStaticsVideosOutputsList() ; QList<OutSlot<LightVideoFrame>*> outs = currentNode->getConnectedStaticsVideosOutputsList();
QList<OutSlot<LightVideoFrame>*>::iterator outsIt = outs.begin(); QList<OutSlot<LightVideoFrame>*>::iterator outsIt = outs.begin();
QList<OutSlot<LightVideoFrame>*>::iterator outsEnd = outs.end(); QList<OutSlot<LightVideoFrame>*>::iterator outsEnd = outs.end();
currentNode->render(); currentNode->render();
for ( ; outsIt != outsEnd; ++outsIt ) for ( ; outsIt != outsEnd; ++outsIt )
if ( ( currentIn = (*outsIt)->getInSlotPtr() ) != NULL ) {
currentIn = (*outsIt)->getInSlotPtr();
toQueueNode = currentIn->getPrivateFather();
if ((toQueueNode != this) && ( toQueueNode->wasItVisited() == false ))
{ {
toQueueNode = currentIn->getPrivateFather(); toQueueNode->setVisited();
if ((toQueueNode != this) && ( toQueueNode->wasItVisited() == false )) nodeQueue.enqueue( toQueueNode );
{
toQueueNode->setVisited();
nodeQueue.enqueue( toQueueNode );
}
} }
}
} }
return ; return ;
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment