include/deal.II/grid/tria_faces.h

00001 //---------------------------------------------------------------------------
00002 //    @f$Id: tria_faces.h 25345 2012-03-31 08:37:04Z bangerth @f$
00003 //
00004 //    Copyright (C) 2006, 2007, 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__tria_faces_h
00013 #define __deal2__tria_faces_h
00014 
00015 #include <deal.II/base/config.h>
00016 #include <deal.II/grid/tria_object.h>
00017 #include <deal.II/grid/tria_objects.h>
00018 
00019 
00020 DEAL_II_NAMESPACE_OPEN
00021 
00022 namespace internal
00023 {
00024   namespace Triangulation
00025   {
00041     template<int dim>
00042     class TriaFaces
00043     {
00044       private:
00050         TriaFaces();
00051     };
00052 
00053 
00054 
00060     template<>
00061     class TriaFaces<1>
00062     {
00063 
00064       public:
00071         std::size_t memory_consumption () const;
00072 
00077         template <class Archive>
00078         void serialize(Archive & ar,
00079                        const unsigned int version);
00080     };
00081 
00085     template<>
00086     class TriaFaces<2>
00087     {
00088       public:
00092         TriaObjects<TriaObject<1> > lines;
00093 
00094       public:
00100         std::size_t memory_consumption () const;
00101 
00106         template <class Archive>
00107         void serialize(Archive & ar,
00108                        const unsigned int version);
00109     };
00110 
00115     template<>
00116     class TriaFaces<3>
00117     {
00118       public:
00123         TriaObjectsQuad3D quads;
00124 
00128         TriaObjects<TriaObject<1> > lines;
00129 
00130       public:
00136         std::size_t memory_consumption () const;
00137 
00142         template <class Archive>
00143         void serialize(Archive & ar,
00144                        const unsigned int version);
00145     };
00146 
00147 
00148 
00149     template <class Archive>
00150     void
00151     TriaFaces<1>::serialize (Archive & ar,
00152                              const unsigned int)
00153     {}
00154 
00155 
00156 
00157     template <class Archive>
00158     void
00159     TriaFaces<2>::serialize (Archive & ar,
00160                              const unsigned int)
00161     {
00162       ar & lines;
00163     }
00164 
00165 
00166 
00167     template <class Archive>
00168     void
00169     TriaFaces<3>::serialize (Archive & ar,
00170                              const unsigned int)
00171     {
00172       ar & quads & lines;
00173     }
00174   }
00175 }
00176 
00177 DEAL_II_NAMESPACE_CLOSE
00178 
00179 #endif
00180 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

deal.II documentation generated on Wed May 23 2012 12:03:25 by doxygen 1.7.3