/usr/include/dune/grid/geometrygrid/gridfamily.hh is in libdune-grid-dev 2.2.1-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | #ifndef DUNE_GEOGRID_GRIDFAMILY_HH
#define DUNE_GEOGRID_GRIDFAMILY_HH
#include <dune/common/static_assert.hh>
#include <dune/grid/common/grid.hh>
#include <dune/grid/geometrygrid/capabilities.hh>
#include <dune/grid/geometrygrid/declaration.hh>
#include <dune/grid/geometrygrid/entity.hh>
#include <dune/grid/geometrygrid/entityseed.hh>
#include <dune/grid/geometrygrid/entitypointer.hh>
#include <dune/grid/geometrygrid/geometry.hh>
#include <dune/grid/geometrygrid/intersection.hh>
#include <dune/grid/geometrygrid/intersectioniterator.hh>
#include <dune/grid/geometrygrid/iterator.hh>
#include <dune/grid/geometrygrid/idset.hh>
#include <dune/grid/geometrygrid/indexsets.hh>
namespace Dune
{
/** \brief namespace containing the implementations of GeometryGrid
* \ingroup GeoGrid
*/
namespace GeoGrid
{
// ExportParams
// ------------
template< class HG, class CF >
class ExportParams
{
static const bool isCoordFunction = isCoordFunctionInterface< typename CF::Interface >::value;
dune_static_assert( isCoordFunction, "Invalid CoordFunction." );
public:
typedef HG HostGrid;
typedef CF CoordFunction;
};
// GridFamily
// ----------
template< class HG, class CF, class Allocator >
struct GridFamily
{
struct Traits
{
typedef GeometryGrid< HG, CF, Allocator > Grid;
typedef HG HostGrid;
typedef CF CoordFunction;
typedef typename HostGrid::ctype ctype;
static const int dimension = HostGrid::dimension;
static const int dimensionworld = CoordFunction::dimRange;
typedef Dune::Intersection< const Grid, GeoGrid::LeafIntersection > LeafIntersection;
typedef Dune::Intersection< const Grid, GeoGrid::LevelIntersection > LevelIntersection;
typedef Dune::IntersectionIterator
< const Grid, GeoGrid::LeafIntersectionIterator, GeoGrid::LeafIntersection >
LeafIntersectionIterator;
typedef Dune::IntersectionIterator
< const Grid, GeoGrid::LevelIntersectionIterator, GeoGrid::LevelIntersection >
LevelIntersectionIterator;
typedef Dune::EntityIterator< 0, const Grid, GeoGrid::HierarchicIterator< const Grid > >
HierarchicIterator;
template< int codim >
struct Codim
{
typedef Dune::GeoGrid::Geometry< dimension-codim, dimensionworld, const Grid > GeometryImpl;
typedef Dune::Geometry< dimension-codim, dimensionworld, const Grid, Dune::GeoGrid::Geometry > Geometry;
typedef typename HostGrid::template Codim< codim >::LocalGeometry LocalGeometry;
typedef GeoGrid::EntityPointerTraits< codim, const Grid > EntityPointerTraits;
typedef GeoGrid::EntityPointer< EntityPointerTraits > EntityPointerImpl;
typedef Dune::EntityPointer< const Grid, EntityPointerImpl > EntityPointer;
typedef typename EntityPointerTraits::Entity Entity;
typedef GeoGrid::EntitySeed< codim, const Grid > EntitySeed;
template< PartitionIteratorType pitype >
struct Partition
{
typedef GeoGrid::LeafIteratorTraits< codim, pitype, const Grid > LeafIteratorTraits;
typedef Dune::EntityIterator< codim, const Grid, GeoGrid::Iterator< LeafIteratorTraits > > LeafIterator;
typedef GeoGrid::LevelIteratorTraits< codim, pitype, const Grid > LevelIteratorTraits;
typedef Dune::EntityIterator< codim, const Grid, GeoGrid::Iterator< LevelIteratorTraits > > LevelIterator;
};
typedef typename Partition< All_Partition >::LeafIterator LeafIterator;
typedef typename Partition< All_Partition >::LevelIterator LevelIterator;
};
typedef GeoGrid::IndexSet< const Grid, typename HostGrid::Traits::LeafIndexSet >
LeafIndexSet;
typedef GeoGrid::IndexSet< const Grid, typename HostGrid::Traits::LevelIndexSet >
LevelIndexSet;
typedef GeoGrid::IdSet< const Grid, typename HostGrid::Traits::GlobalIdSet >
GlobalIdSet;
typedef GeoGrid::IdSet< const Grid, typename HostGrid::Traits::LocalIdSet >
LocalIdSet;
typedef typename HostGrid::Traits::CollectiveCommunication CollectiveCommunication;
template< PartitionIteratorType pitype >
struct Partition
{
typedef Dune::GridView< DefaultLeafGridViewTraits< const Grid, pitype > >
LeafGridView;
typedef Dune::GridView< DefaultLevelGridViewTraits< const Grid, pitype > >
LevelGridView;
};
};
};
} // namespace GeoGrid
} // namespace Dune
#endif // #ifndef DUNE_GEOGRID_GRIDFAMILY_HH
|