include/deal.II/grid/grid_reordering.h

00001 //---------------------------------------------------------------------------
00002 //    @f$Id: grid_reordering.h 25345 2012-03-31 08:37:04Z bangerth @f$
00003 //
00004 //    Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 by the deal.II authors
00005 //
00006 //    This file is subject to QPL and may not be  distributed
00007 //    without copyright and license information. Please refer
00008 //    to the file deal.II/doc/license.html for the  text  and
00009 //    further information on this license.
00010 //
00011 //---------------------------------------------------------------------------
00012 #ifndef __deal2__grid_reordering_h
00013 #define __deal2__grid_reordering_h
00014 
00015 
00016 #include <deal.II/base/config.h>
00017 #include <deal.II/grid/tria.h>
00018 
00019 #include <vector>
00020 
00021 DEAL_II_NAMESPACE_OPEN
00022 
00023 
00024 
00645 template <int dim, int spacedim=dim>
00646 class GridReordering
00647 {
00648   public:
00649 
00661     static void reorder_cells (std::vector<CellData<dim> > &original_cells);
00662 
00693     static void invert_all_cells_of_negative_grid(
00694       const std::vector<Point<spacedim> > &all_vertices,
00695       std::vector<CellData<dim> > &original_cells);
00696 };
00697 
00698 
00699 // declaration of explicit specializations
00700 template<>
00701 void
00702 GridReordering<2>::reorder_cells (std::vector<CellData<2> > &original_cells);
00703 
00704 template<>
00705 void
00706 GridReordering<2,3>::reorder_cells (std::vector<CellData<2> > &original_cells);
00707 
00708 template<>
00709 void
00710 GridReordering<3>::reorder_cells (std::vector<CellData<3> > &original_cells);
00711 
00712 template<>
00713 void
00714 GridReordering<2>::invert_all_cells_of_negative_grid(const std::vector<Point<2> > &all_vertices,
00715                                                      std::vector<CellData<2> >    &cells);
00716 
00717 template<>
00718 void
00719 GridReordering<2,3>::invert_all_cells_of_negative_grid(const std::vector<Point<3> > &all_vertices,
00720                                                      std::vector<CellData<2> >    &cells);
00721 
00722 template<>
00723 void
00724 GridReordering<3>::invert_all_cells_of_negative_grid(const std::vector<Point<3> > &all_vertices,
00725                                                      std::vector<CellData<3> >    &cells);
00726 
00727 DEAL_II_NAMESPACE_CLOSE
00728 
00729 #endif
00730 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

deal.II documentation generated on Tue May 22 2012 12:06:09 by doxygen 1.7.3