// ---------------------------------------------------------------------------
// 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);
}
예제 #2
0
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 );
}
예제 #3
0
test_return_t
test_29( void )
{
  return check_edges( DYNAMIC_TEST_PATH( "no-pilot-gdb.tzx" ),
                      no_pilot_gdb_list, 0x1ff );
}
예제 #4
0
test_return_t
test_28( void )
{
  return check_edges( DYNAMIC_TEST_PATH( "zero-tail.pzx" ),
                      zero_tail_edges_list, 0x1ff );
}