6 #ifndef CELLS_TYPES_HPP
7 #define CELLS_TYPES_HPP
9 #include "../domains/types.hpp"
13 typedef std::vector<bool> CellRefinementFlagContainerType;
20 typedef viennagrid::result_of::element<LinearCartesian1D_Domain_t, viennagrid::line_tag>::type LinearCartesian1D_Cell_t;
23 typedef viennagrid::result_of::element<LinearCartesian2D_Domain_t, viennagrid::line_tag>::type LinearCartesian2D_Cell_t;
26 typedef viennagrid::result_of::element<LinearCartesian3D_Domain_t, viennagrid::line_tag>::type LinearCartesian3D_Cell_t;
29 typedef viennagrid::result_of::element<LinearCylindrical3D_Domain_t, viennagrid::line_tag>::type LinearCylindrical3D_Cell_t;
32 typedef viennagrid::result_of::element<LinearPolar2D_Domain_t, viennagrid::line_tag>::type LinearPolar2D_Cell_t;
35 typedef viennagrid::result_of::element<LinearSpherical3D_Domain_t, viennagrid::line_tag>::type LinearSpherical3D_Cell_t;
42 typedef viennagrid::result_of::element<TriangularCartesian2D_Domain_t, viennagrid::triangle_tag>::type TriangularCartesian2D_Cell_t;
43 typedef viennagrid::result_of::cell_range<TriangularCartesian2D_Domain_t>::type TriangularCartesian2D_CellRange_t;
46 typedef viennagrid::result_of::element<TriangularCartesian3D_Domain_t, viennagrid::triangle_tag>::type TriangularCartesian3D_Cell_t;
47 typedef viennagrid::result_of::cell_range<TriangularCartesian3D_Domain_t>::type TriangularCartesian3D_CellRange_t;
50 typedef viennagrid::result_of::element<TriangularCylindrical3D_Domain_t, viennagrid::triangle_tag>::type TriangularCylindrical3D_Cell_t;
51 typedef viennagrid::result_of::cell_range<TriangularCylindrical3D_Domain_t>::type TriangularCylindrical3D_CellRange_t;
54 typedef viennagrid::result_of::element<TriangularPolar2D_Domain_t, viennagrid::triangle_tag>::type TriangularPolar2D_Cell_t;
55 typedef viennagrid::result_of::cell_range<TriangularPolar2D_Domain_t>::type TriangularPolar2D_CellRange_t;
58 typedef viennagrid::result_of::element<TriangularSpherical3D_Domain_t, viennagrid::triangle_tag>::type TriangularSpherical3D_Cell_t;
59 typedef viennagrid::result_of::cell_range<TriangularSpherical3D_Domain_t>::type TriangularSpherical3D_CellRange_t;
66 typedef viennagrid::result_of::element<QuadrilateralCartesian2D_Domain_t, viennagrid::quadrilateral_tag>::type QuadrilateralCartesian2D_Cell_t;
69 typedef viennagrid::result_of::element<QuadrilateralCartesian3D_Domain_t, viennagrid::quadrilateral_tag>::type QuadrilateralCartesian3D_Cell_t;
72 typedef viennagrid::result_of::element<QuadrilateralCylindrical3D_Domain_t, viennagrid::quadrilateral_tag>::type QuadrilateralCylindrical3D_Cell_t;
75 typedef viennagrid::result_of::element<QuadrilateralPolar2D_Domain_t, viennagrid::quadrilateral_tag>::type QuadrilateralPolar2D_Cell_t;
78 typedef viennagrid::result_of::element<QuadrilateralSpherical3D_Domain_t, viennagrid::quadrilateral_tag>::type QuadrilateralSpherical3D_Cell_t;
85 typedef viennagrid::result_of::element<TetrahedralCartesian3D_Domain_t, viennagrid::tetrahedron_tag>::type TetrahedralCartesian3D_Cell_t;
86 typedef viennagrid::result_of::cell_range<TetrahedralCartesian3D_Domain_t>::type TetrahedralCartesian3D_CellRange_t;
89 typedef viennagrid::result_of::element<TetrahedralCylindrical3D_Domain_t, viennagrid::tetrahedron_tag>::type TetrahedralCylindrical3D_Cell_t;
90 typedef viennagrid::result_of::cell_range<TetrahedralCylindrical3D_Domain_t>::type TetrahedralCylindrical3D_CellRange_t;
93 typedef viennagrid::result_of::element<TetrahedralSpherical3D_Domain_t, viennagrid::tetrahedron_tag>::type TetrahedralSpherical3D_Cell_t;
94 typedef viennagrid::result_of::cell_range<TetrahedralSpherical3D_Domain_t>::type TetrahedralSpherical3D_CellRange_t;