Skip to content
Snippets Groups Projects
Commit e0bb0438 authored by Robert Kloefkorn's avatar Robert Kloefkorn
Browse files

do initialization of static variables in the grid's constructor.

parent 3a8ceb6d
No related branches found
No related tags found
No related merge requests found
......@@ -728,6 +728,12 @@ namespace Dune
// invalidate geometry implementation
void invalidate () ;
// type of object provider
typedef ALUMemoryProvider< GeometryImplType > GeometryProviderType ;
//! return storage provider for geometry objects
static GeometryProviderType& geoProvider();
protected:
// return reference coordinates of the alu triangle
static std::pair< FieldMatrix< alu2d_ctype, 4, 2 >, FieldVector< alu2d_ctype, 4 > >
......@@ -740,12 +746,6 @@ namespace Dune
//! get a new pointer object
void getObject();
// type of object provider
typedef ALUMemoryProvider< GeometryImplType > GeometryProviderType ;
//! return storage provider for geometry objects
static GeometryProviderType& geoProvider();
// return reference to geometry implementation
GeometryImplType& geoImpl() const
{
......@@ -757,6 +757,7 @@ namespace Dune
GeometryImplType* geoImpl_;
};
namespace FacadeOptions
{
//! geometry can be stored as an object
......
......@@ -13,8 +13,8 @@ namespace Dune
// --ALU2dGridGeometry
// --Geometry
//**********************************************************************
//! return storage provider for geometry objects
//! return storage provider for geometry objects
template< int mydim, int cdim, class GridImp >
inline typename ALU2dGridGeometry< mydim, cdim, GridImp >::GeometryProviderType&
ALU2dGridGeometry< mydim, cdim, GridImp >::geoProvider()
......
......@@ -557,6 +557,13 @@ namespace Dune
geomTypes_[ 2 ].push_back( GeometryType( basic, 0 ) );
geomTypes_[ 1 ].push_back( GeometryType( basic, 1 ) );
geomTypes_[ 0 ].push_back( GeometryType( basic, 2 ) );
// initialize static storage variables
ALU2dGridGeometry<0, dimworld, const ThisType> :: geoProvider();
ALU2dGridGeometry<1, dimworld, const ThisType> :: geoProvider();
ALU2dGridGeometry<dim, dimworld, const ThisType> :: geoProvider();
ALU2dGridIntersectionBase < const ThisType > :: LocalGeometryStorageType :: instance();
}
//! get global id set of grid
......
......@@ -753,14 +753,6 @@ namespace Dune
//! invalidate geometry implementation to avoid errors
bool valid () const ;
protected:
//! assign pointer
void assign( const ALU3dGridGeometry& other );
//! remove pointer object
void removeObj();
//! get a new pointer object
void getObject();
// type of object provider
typedef ALUMemoryProvider< GeometryImplType > GeometryProviderType ;
......@@ -771,6 +763,14 @@ namespace Dune
return storage;
}
protected:
//! assign pointer
void assign( const ALU3dGridGeometry& other );
//! remove pointer object
void removeObj();
//! get a new pointer object
void getObject();
// return reference to geometry implementation
GeometryImplType& geoImpl() const
{
......
......@@ -69,6 +69,12 @@ namespace Dune
postAdapt();
calcExtras();
// initialize static storage variables
ALU3dGridGeometry< 0, 3, const ThisType> :: geoProvider();
ALU3dGridGeometry< 1, 3, const ThisType> :: geoProvider();
ALU3dGridGeometry< 2, 3, const ThisType> :: geoProvider();
ALU3dGridGeometry< 3, 3, const ThisType> :: geoProvider();
} // end constructor
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment