Demonstrační aplikace pro vytváření fraktálů pomocí L-IFS systémů

Zdrojový text metody isTransformationMatrixValid2()


// ------------------------------------------------------------------------
// Tato metoda vrátí pravdivostní hodnotu true v případě, že se v zadané
// matici posloupnosti transformací nenachází uzly bez výstupních
// orientovaných hran. V opačném případě se vrátí pravdivostní hodnota
// false. Při testech se v této metodě berou v úvahu i jednoduché smyčky.
// ------------------------------------------------------------------------
boolean isTransformationMatrixValid2(int activeVertexes, // počet uzlů v grafu
                                     TMatrix matrix)     // matice posloupnosti
{                                                        // transformací
    boolean columnOK;
    for (int i=0; i<activeVertexes; i++) {     // projít všemi uzly grafu
        columnOK=false;
        for (int j=0; j<activeVertexes; j++) {
            if (matrix[i][j]==1)               // pokud sloupec matice není prázdný
                if (i!=j)                      // a nejde o hranu do stejného uzlu
                    columnOK=true;             // byla nalezena první hrana z uzlu
        }
        if (! columnOK)                        // byl nalezen prázdný sloupec
            return false;                      // z uzlu nevedou žádné hrany
    }                                          // (s vyloučením jednoduché smyčky)
    return true;
}

// ------------------------------------------------------------------------
// Konec metody isTransformationMatrixValid2()
// ------------------------------------------------------------------------