// --------------------------------------------------------------------------- // Common call // ------------ void bXMapNetClean::process_network(netcleanact_prm* prm, int* fields, bArray& nodes, bArray& edges){ _bTrace_("bXMapNetClean::process_network(netcleanact_prm,int*,bArray&,bArray&)",true); if(_cfg_prm.tnod==NULL){ _te_("(_cfg_prm.tnod==NULL)"); return; } if( (_cfg_prm.tbdg==_cfg_prm.tnod) && (_cfg_prm.stbdg==_cfg_prm.stnod) ){ _cfg_prm.tbdg=NULL; } if( (_cfg_prm.stnod<1) || (_cfg_prm.stnod>_cfg_prm.tnod->fields()->count_constraints(kOBJ_SubType_)) ){ if( (_cfg_prm.tbdg) && (_cfg_prm.stbdg==1) ){ _te_("(_cfg_prm.tbdg)&&(_cfg_prm.stbdg==1)"); return; } _cfg_prm.stnod=1; } /* Inval et Draw pour provoquer un reset des styles Puis StopDraw derrière pour empécher le dessin Ceci pour régler le cas ou on supprime un objet dans la fonction précédente, qui va rester dans les index des styles et qui sera effacé définitivement par la déclaration du eventlog du nettoyage automatique */ _gapp->mapIntf()->inval(); _gapp->mapIntf()->draw(); _gapp->layersMgr()->StopDraw(); /**/ _gapp->layersMgr()->SetObjInvalidation(false); if(prm->create_nodes){ (void)create_nodes(edges,nodes,fields,prm->check_nodes); if(prm->cut_edges){ (void)cut_edges(nodes,edges,fields,prm->check_edges); } } if(prm->join_on_nodes){ (void)join_on_nodes(edges,fields,prm->check_edges); } else if(prm->join_on_edges){ (void)join_on_edges(nodes,fields,prm->check_nodes); } if(prm->check_nodes){ (void)check_nodes(nodes,fields); } if(prm->check_edges){ (void)check_edges(edges,fields); } _gapp->layersMgr()->SetObjInvalidation(true); }
test_return_t test_15( void ) { return check_edges( DYNAMIC_TEST_PATH( "complete-tzx.tzx" ), complete_edges_list, LIBSPECTRUM_TAPE_FLAGS_STOP | LIBSPECTRUM_TAPE_FLAGS_STOP48 ); }
test_return_t test_29( void ) { return check_edges( DYNAMIC_TEST_PATH( "no-pilot-gdb.tzx" ), no_pilot_gdb_list, 0x1ff ); }
test_return_t test_28( void ) { return check_edges( DYNAMIC_TEST_PATH( "zero-tail.pzx" ), zero_tail_edges_list, 0x1ff ); }