3 #ifndef DUNE_ALBERTA_ENTITY_HH 4 #define DUNE_ALBERTA_ENTITY_HH 20 template<
int codim,
class Gr
id >
23 template<
int codim,
class Gr
id,
bool leafIterator >
26 template<
class Gr
id >
29 template<
class Gr
id >
32 template<
class Gr
id >
44 template<
int codim,
int dim,
class Gr
id >
111 int n = mydimension+1;
112 int k = dimension-cd+1;
116 for (
int i=n-k+1; i<=n; i++)
118 for (
long i=2; i<=k; i++)
134 bool equals (
const This &other )
const;
165 ElementInfo elementInfo_;
183 template<
int dim,
class Gr
id >
202 template<
int codim >
210 typedef typename Grid::template Codim< 0 >::EntitySeed
EntitySeed;
211 typedef typename Grid::template Codim< 0 >::Geometry
Geometry;
213 typedef typename Grid::Traits::template Codim< 0 >::GeometryImpl
GeometryImpl;
234 int boundaryId ()
const;
251 template<
int codim >
267 int n = mydimension+1;
268 int k = dimension-cd+1;
272 for (
int i=n-k+1; i<=n; i++)
274 for (
long i=2; i<=k; i++)
290 template<
int codim >
298 AlbertaGridLeafIntersectionIterator ileafbegin ()
const;
301 AlbertaGridLeafIntersectionIterator ileafend ()
const;
305 if(
grid().maxLevel() == 0 )
309 DUNE_THROW( NotImplemented,
"method ilevelbegin not implemented for AlbertaGrid." );
320 bool isLeaf ()
const;
324 Entity father ()
const;
328 return (this->
level()>0);
339 LocalGeometry geometryInFather ()
const;
345 HierarchicIterator hbegin (
int maxlevel)
const;
348 HierarchicIterator hend (
int maxlevel)
const;
354 bool mightVanish ()
const;
358 bool hasBoundaryIntersections ()
const ;
364 bool equals (
const This &i )
const;
399 template<
int codim >
402 return elementInfo().template twist< codim >(
grid().generic2alberta( codim, i ) );
413 ElementInfo elementInfo_;
418 #endif // #if HAVE_ALBERTA 420 #endif // #ifndef DUNE_ALBERTA_ENTITY_HH provides a wrapper for ALBERTA's el_info structure
Alberta::ElementInfo< dimension > ElementInfo
Definition: albertagrid/entity.hh:72
bool hasFather() const
returns true if father entity exists
Definition: albertagrid/entity.hh:326
AlbertaGridLeafIntersectionIterator AlbertaGridLevelIntersectionIterator
Definition: albertagrid/entity.hh:218
GeometryType type() const
type of geometry of this entity
Definition: entity.cc:112
Definition: albertagrid/entity.hh:45
Definition: albertagrid/entity.hh:27
#define ALBERTA
Definition: albertaheader.hh:27
Grid::template Codim< 0 >::EntitySeed EntitySeed
Definition: albertagrid/entity.hh:210
Grid::template Codim< cd >::Entity Entity
Definition: albertagrid/entity.hh:65
int level() const
level of this element
Definition: entity.cc:92
GeometryType
Type representing VTK's entity geometry types.
Definition: common.hh:178
Definition: albertagrid/entity.hh:184
PartitionType
Attributes used in the generic overlap model.
Definition: gridenums.hh:28
unsigned int subEntities(unsigned int cd) const
Obtain the number of subentities of a given codimension.
Definition: albertagrid/entity.hh:265
static const int mydimension
Definition: albertagrid/entity.hh:60
Definition: albertagrid/entityseed.hh:16
int subEntity() const
obtain number of the subentity within the element (in ALBERTA numbering)
Definition: albertagrid/entity.hh:387
Alberta::ElementInfo< dimension > ElementInfo
Definition: albertagrid/entity.hh:220
void setEntity(const This &other)
Definition: entity.cc:85
void setElement(const ElementInfo &elementInfo, int subEntity)
Definition: entity.cc:76
PartitionType partitionType() const
return partition type of this entity
Definition: entity.cc:38
AlbertaGridLevelIntersectionIterator ilevelend() const
Definition: albertagrid/entity.hh:314
int twist(int i) const
obtain twist of a subentity
Definition: albertagrid/entity.hh:400
unsigned int subEntities(unsigned int cd) const
Obtain the number of subentities of a given codimension.
Definition: albertagrid/entity.hh:109
[ provides Dune::Grid ]
Definition: agrid.hh:137
Grid::HierarchicIterator HierarchicIterator
Definition: albertagrid/entity.hh:215
int twist() const
obtain twist
Definition: albertagrid/entity.hh:155
const Grid & grid() const
obtain a reference to the grid
Definition: albertagrid/entity.hh:381
const Grid & grid() const
obtain a reference to the grid
Definition: albertagrid/entity.hh:143
Grid::template Codim< codim >::Entity Entity
Definition: albertagrid/entity.hh:206
Grid::template Codim< codim >::Geometry Geometry
Definition: albertagrid/entity.hh:70
static const int dimension
Definition: albertagrid/entity.hh:58
ALBERTA EL_INFO * getElInfo() const
needed for the LevelIterator and LeafIterator
Definition: entity.cc:60
Default Implementations for EntityImp.
Definition: common/entity.hh:568
EntitySeed seed() const
obtain entity seed
Definition: albertagrid/entity.hh:243
int subEntity() const
obtain number of the subentity within the element (in ALBERTA numbering)
Definition: albertagrid/entity.hh:149
int count() const
Definition: albertagrid/entity.hh:252
AlbertaGridLevelIntersectionIterator ilevelbegin() const
Definition: albertagrid/entity.hh:303
Include standard header files.
Definition: agrid.hh:59
Definition: albertagrid/entity.hh:33
Geometry geometry() const
geometry of this entity
Definition: entity.cc:101
Grid::template Codim< 0 >::LocalGeometry LocalGeometry
Definition: albertagrid/entity.hh:212
Grid::template Codim< 0 >::Geometry Geometry
Definition: albertagrid/entity.hh:211
Grid::template Codim< codim >::EntitySeed EntitySeed
Definition: albertagrid/entity.hh:69
int twist() const
obtain twist
Definition: albertagrid/entity.hh:393
Dune::AlbertaGridLeafIntersectionIterator< Grid > AlbertaGridLeafIntersectionIterator
Definition: albertagrid/entity.hh:217
Grid::template Codim< codim >::Entity Entity
Definition: albertagrid/entity.hh:68
const ElementInfo & elementInfo() const
Definition: albertagrid/entity.hh:131
GridFamily::Traits::HierarchicIterator HierarchicIterator
A type that is a model of Dune::HierarchicIterator A type of iterator that allows to examine...
Definition: common/grid.hh:486
Grid::Traits::template Codim< 0 >::GeometryImpl GeometryImpl
Definition: albertagrid/entity.hh:213
Definition: albertagrid/entity.hh:24
const ElementInfo & elementInfo() const
Definition: albertagrid/entity.hh:369
void clearElement()
Definition: entity.cc:68
EntitySeed seed() const
obtain entity seed
Definition: albertagrid/entity.hh:99
Grid abstract base classThis class is the base class for all grid implementations. Although no virtual functions are used we call it abstract since its methods do not contain an implementation but forward to the methods of the derived class via the Barton-Nackman trick.
Definition: common/grid.hh:373
Grid::template Codim< 0 >::Entity Entity
Definition: albertagrid/entity.hh:209
Definition: albertagrid/entity.hh:63
AlbertaGridEntity()
Definition: entity.cc:30
static const int codimension
Definition: albertagrid/entity.hh:59
Definition: albertagrid/entity.hh:30
EntityPointer implementation for AlbertaGrid.
Definition: albertagrid/entity.hh:21
bool equals(const This &other) const
equality of entities
Definition: entity.cc:46
The dimension of the world the grid lives in.
Definition: common/grid.hh:393