MCPcopy Create free account
hub / github.com/creatale/node-dv / cvNextTreeNode

Function cvNextTreeNode

deps/opencv/modules/core/src/datastructs.cpp:3447–3485  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3445
3446
3447CV_IMPL void*
3448cvNextTreeNode( CvTreeNodeIterator* treeIterator )
3449{
3450 CvTreeNode* prevNode = 0;
3451 CvTreeNode* node;
3452 int level;
3453
3454 if( !treeIterator )
3455 CV_Error( CV_StsNullPtr, "NULL iterator pointer" );
3456
3457 prevNode = node = (CvTreeNode*)treeIterator->node;
3458 level = treeIterator->level;
3459
3460 if( node )
3461 {
3462 if( node->v_next && level+1 < treeIterator->max_level )
3463 {
3464 node = node->v_next;
3465 level++;
3466 }
3467 else
3468 {
3469 while( node->h_next == 0 )
3470 {
3471 node = node->v_prev;
3472 if( --level < 0 )
3473 {
3474 node = 0;
3475 break;
3476 }
3477 }
3478 node = node && treeIterator->max_level != 0 ? node->h_next : 0;
3479 }
3480 }
3481
3482 treeIterator->node = node;
3483 treeIterator->level = level;
3484 return prevNode;
3485}
3486
3487
3488CV_IMPL void*

Callers 4

cvDrawContoursFunction · 0.85
cvTreeToNodeSeqFunction · 0.85
icvWriteSeqTreeFunction · 0.85
core_c.hFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected