// Created on: 1991-05-29 // Created by: Denis PASCAL // Copyright (c) 1991-1999 Matra Datavision // Copyright (c) 1999-2014 OPEN CASCADE SAS // // This file is part of Open CASCADE Technology software library. // // This library is free software; you can redistribute it and / or modify it // under the terms of the GNU Lesser General Public version 2.1 as published // by the Free Software Foundation, with special exception defined in the file // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT // distribution for complete text of the license and disclaimer of any warranty. // // Alternatively, this file may be used under the terms of Open CASCADE // commercial license or contractual agreement. // //======================================================================= //function : GraphTools_TopologicalSortIterator //purpose : //======================================================================= GraphTools_TopologicalSortIterator::GraphTools_TopologicalSortIterator () {} //======================================================================= //function : GraphTools_TopologicalSortIterator //purpose : //======================================================================= GraphTools_TopologicalSortIterator::GraphTools_TopologicalSortIterator (const Graph& G) { FromGraph (G); } //======================================================================= //function : FromVertex //purpose : //======================================================================= void GraphTools_TopologicalSortIterator::FromVertex (const Vertex& V) { myIterator.FromVertex(V); } //======================================================================= //function : FromGraph //purpose : //======================================================================= void GraphTools_TopologicalSortIterator::FromGraph (const Graph& G) { for ( GIterator it (G); it.More(); it.Next() ) { myIterator.FromVertex(it.Value()); } } //======================================================================= //function : Perform //purpose : //======================================================================= void GraphTools_TopologicalSortIterator::Perform (const Graph& G, const Standard_Boolean ignoreSelfLoops, const Standard_Boolean processCycle) { myIterator.Perform(G,ignoreSelfLoops,processCycle); } //======================================================================= //function : Reset //purpose : //======================================================================= void GraphTools_TopologicalSortIterator::Reset () { myIterator.Reset(); } //======================================================================= //function : More //purpose : //======================================================================= Standard_Boolean GraphTools_TopologicalSortIterator::More () const { return myIterator.More(); } //======================================================================= //function : Next //purpose : //======================================================================= void GraphTools_TopologicalSortIterator::Next () { myIterator.Next(); } //======================================================================= //function : Value //purpose : //======================================================================= const Vertex& GraphTools_TopologicalSortIterator::Value () const { return myIterator.Value(); } //======================================================================= //function : IsInCycle //purpose : //======================================================================= Standard_Boolean GraphTools_TopologicalSortIterator::IsInCycle () const { return myIterator.IsInCycle(); }