00001
00002
00003
00004
00005
00006
00007
00008
00009
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