]> Creatis software - FrontAlgorithms.git/blobdiff - lib/fpa/Base/Graph.hxx
...
[FrontAlgorithms.git] / lib / fpa / Base / Graph.hxx
diff --git a/lib/fpa/Base/Graph.hxx b/lib/fpa/Base/Graph.hxx
deleted file mode 100644 (file)
index 03f85a8..0000000
+++ /dev/null
@@ -1,272 +0,0 @@
-// =========================================================================
-// @author Leonardo Florez Valencia
-// @email florez-l@javeriana.edu.co
-// =========================================================================
-
-#ifndef __fpa__Base__Graph__hxx__
-#define __fpa__Base__Graph__hxx__
-
-// -------------------------------------------------------------------------
-template< class _TVertex, class _TCost, class _TIndex, class _TIndexCompare >
-void fpa::Base::Graph< _TVertex, _TCost, _TIndex, _TIndexCompare >::
-Clear( )
-{
-  this->m_Vertices.clear( );
-  this->m_Matrix.clear( );
-}
-
-// -------------------------------------------------------------------------
-template< class _TVertex, class _TCost, class _TIndex, class _TIndexCompare >
-bool fpa::Base::Graph< _TVertex, _TCost, _TIndex, _TIndexCompare >::
-RenameVertex( const TIndex& old_index, const TIndex& new_index )
-{
-  typename TVertices::iterator old_v = this->m_Vertices.find( old_index );
-  typename TVertices::iterator new_v = this->m_Vertices.find( new_index );
-  if( old_v != this->m_Vertices.end( ) && new_v == this->m_Vertices.end( ) )
-  {
-    // Replace vertex
-    this->m_Vertices[ new_index ] = old_v->second;
-    this->m_Vertices.erase( old_index );
-
-    // Duplicate edges
-    typename TMatrix::iterator mIt = this->m_Matrix.begin( );
-    typename TMatrix::iterator found_row = this->m_Matrix.end( );
-    for( ; mIt != this->m_Matrix.end( ); ++mIt )
-    {
-      if( mIt->first == old_index )
-        found_row = mIt;
-
-      typename TMatrixRow::iterator rIt = mIt->second.begin( );
-      for( ; rIt != mIt->second.end( ); ++rIt )
-      {
-        if( mIt->first == old_index )
-          this->m_Matrix[ new_index ][ rIt->first ] = rIt->second;
-        else if( rIt->first == old_index )
-          this->m_Matrix[ mIt->first ][ new_index ] = rIt->second;
-
-      } // rof
-
-    } // rof
-
-    // Delete old edges
-    if( found_row != this->m_Matrix.end( ) )
-      this->m_Matrix.erase( found_row );
-
-    mIt = this->m_Matrix.begin( );
-    for( ; mIt != this->m_Matrix.end( ); ++mIt )
-    {
-      typename TMatrixRow::iterator rIt = mIt->second.begin( );
-      while( rIt != mIt->second.end( ) )
-      {
-        if( rIt->first == old_index )
-        {
-          mIt->second.erase( rIt );
-          rIt = mIt->second.begin( );
-        }
-        else
-          ++rIt;
-
-      } // elihw
-
-    } // rof
-    return( true );
-  }
-  else
-    return( false );
-}
-
-// -------------------------------------------------------------------------
-template< class _TVertex, class _TCost, class _TIndex, class _TIndexCompare >
-void fpa::Base::Graph< _TVertex, _TCost, _TIndex, _TIndexCompare >::
-RemoveVertex( const TIndex& index )
-{
-  typename TVertices::iterator i = this->m_Vertices.find( index );
-  if( i != this->m_Vertices.end( ) )
-  {
-    // Delete vertex
-    this->m_Vertices.erase( i );
-
-    // Delete edges starting from given vertex
-    typename TMatrix::iterator mIt = this->m_Matrix.find( index );
-    if( mIt != this->m_Matrix.end( ) )
-      this->m_Matrix.erase( mIt );
-
-    // Delete edges arriving to given vertex
-    mIt = this->m_Matrix.begin( );
-    for( ; mIt != this->m_Matrix.end( ); ++mIt )
-    {
-      typename TMatrixRow::iterator rIt = mIt->second.begin( );
-      while( rIt != mIt->second.end( ) )
-      {
-        if( rIt->first == index )
-        {
-          mIt->second.erase( rIt );
-          rIt = mIt->second.begin( );
-        }
-        else
-          ++rIt;
-
-      } // elihw
-
-    } // rof
-
-  } // fi
-}
-
-// -------------------------------------------------------------------------
-template< class _TVertex, class _TCost, class _TIndex, class _TIndexCompare >
-typename
-fpa::Base::Graph< _TVertex, _TCost, _TIndex, _TIndexCompare >::
-TEdges&
-fpa::Base::Graph< _TVertex, _TCost, _TIndex, _TIndexCompare >::
-GetEdges( const TIndex& orig, const TIndex& dest )
-{
-  static TEdges null_edges;
-  typename TMatrix::iterator o = this->m_Matrix.find( orig );
-  if( o != this->m_Matrix.find( orig ) )
-  {
-    typename TMatrixRow::iterator d = o->second.find( dest );
-    if( d == o->second.end( ) )
-    {
-      null_edges.clear( );
-      return( null_edges );
-    }
-    else
-      return( d->second );
-  }
-  else
-  {
-    null_edges.clear( );
-    return( null_edges );
-
-  } // fi
-}
-
-// -------------------------------------------------------------------------
-template< class _TVertex, class _TCost, class _TIndex, class _TIndexCompare >
-const typename 
-fpa::Base::Graph< _TVertex, _TCost, _TIndex, _TIndexCompare >::
-TEdges&
-fpa::Base::Graph< _TVertex, _TCost, _TIndex, _TIndexCompare >::
-GetEdges( const TIndex& orig, const TIndex& dest ) const
-{
-  static const TEdges null_edges;
-  typename TMatrix::iterator o = this->m_Matrix.find( orig );
-  if( o != this->m_Matrix.find( orig ) )
-  {
-    typename TMatrixRow::iterator d = o->second.find( dest );
-    if( d == o->second.end( ) )
-      return( null_edges );
-    else
-      return( d->second );
-  }
-  else
-    return( null_edges );
-}
-
-// -------------------------------------------------------------------------
-template< class _TVertex, class _TCost, class _TIndex, class _TIndexCompare >
-bool fpa::Base::Graph< _TVertex, _TCost, _TIndex, _TIndexCompare >::
-HasEdge( const TIndex& orig, const TIndex& dest ) const
-{
-  typename TMatrix::const_iterator mIt = this->m_Matrix.find( orig );
-  if( mIt != this->m_Matrix.end( ) )
-    return( mIt->second.find( dest ) != mIt->second.end( ) );
-  else
-    return( false );
-}
-
-// -------------------------------------------------------------------------
-template< class _TVertex, class _TCost, class _TIndex, class _TIndexCompare >
-void fpa::Base::Graph< _TVertex, _TCost, _TIndex, _TIndexCompare >::
-RemoveEdge( const TIndex& orig, const TIndex& dest, const TCost& cost )
-{
-  typename TMatrix::iterator m = this->m_Matrix.find( orig );
-  if( m != this->m_Matrix.end( ) )
-  {
-    typename TMatrixRow::iterator r = m->second.find( dest );
-    if( r != m->second.end( ) )
-    {
-      typename TEdges::iterator e = r->second.end( );
-      for(
-        typename TEdges::iterator i = r->second.begin( );
-        i != r->second.end( ) && e == r->second.end( );
-        ++i
-        )
-        if( *i == cost )
-          e = i;
-      if( e != r->second.end( ) )
-      {
-        r->second.erase( e );
-        if( r->second.size( ) == 0 )
-        {
-          m->second.erase( r );
-          if( m->second.size( ) == 0 )
-            this->m_Matrix.erase( m );
-
-        } // fi
-
-      } // fi
-
-    } // fi
-
-  } // fi
-}
-
-// -------------------------------------------------------------------------
-template< class _TVertex, class _TCost, class _TIndex, class _TIndexCompare >
-void fpa::Base::Graph< _TVertex, _TCost, _TIndex, _TIndexCompare >::
-RemoveEdges( const TIndex& orig, const TIndex& dest )
-{
-  typename TMatrix::iterator m = this->m_Matrix.find( orig );
-  if( m != this->m_Matrix.end( ) )
-  {
-    typename TMatrixRow::iterator r = m->second.find( dest );
-    if( r != m->second.end( ) )
-    {
-      m->second.erase( r );
-      if( m->second.size( ) == 0 )
-        this->m_Matrix.erase( m );
-
-    } // fi
-
-  } // fi
-
-}
-
-// -------------------------------------------------------------------------
-template< class _TVertex, class _TCost, class _TIndex, class _TIndexCompare >
-std::set< _TIndex, _TIndexCompare >
-fpa::Base::Graph< _TVertex, _TCost, _TIndex, _TIndexCompare >::
-GetSinks( ) const
-{
-  std::set< _TIndex, _TIndexCompare > sinks;
-
-  typename TVertices::iterator vIt = this->m_Vertices.begin( );
-  for( ; vIt != this->m_Vertices.end( ); ++vIt )
-    sinks.insert( vIt->first );
-  typename TMatrix::iterator mIt = this->m_Matrix.begin( );
-  for( ; mIt != this->m_Matrix.end( ); ++mIt )
-    sinks.erase( mIt->first );
-
-  return( sinks );
-}
-
-// -------------------------------------------------------------------------
-template< class _TVertex, class _TCost, class _TIndex, class _TIndexCompare >
-fpa::Base::Graph< _TVertex, _TCost, _TIndex, _TIndexCompare >::
-Graph( )
-  : Superclass( )
-{
-}
-
-// -------------------------------------------------------------------------
-template< class _TVertex, class _TCost, class _TIndex, class _TIndexCompare >
-fpa::Base::Graph< _TVertex, _TCost, _TIndex, _TIndexCompare >::
-~Graph( )
-{
-}
-
-#endif // __fpa__Base__Graph__hxx__
-
-// eof - $RCSfile$