3 #ifndef DUNE_ALBERTA_ENTITY_HH 4 #define DUNE_ALBERTA_ENTITY_HH 20 template<
int codim,
class Gr
id,
bool leafIterator >
23 template<
class Gr
id >
26 template<
class Gr
id >
29 template<
class Gr
id >
41 template<
int codim,
int dim,
class Gr
id >
108 int n = mydimension+1;
109 int k = dimension-cd+1;
113 for (
int i=n-k+1; i<=n; i++)
115 for (
long i=2; i<=k; i++)
131 bool equals (
const This &other )
const;
162 ElementInfo elementInfo_;
180 template<
int dim,
class Gr
id >
198 template<
int codim >
206 typedef typename Grid::template Codim< 0 >::EntitySeed
EntitySeed;
207 typedef typename Grid::template Codim< 0 >::Geometry
Geometry;
209 typedef typename Grid::Traits::template Codim< 0 >::GeometryImpl
GeometryImpl;
230 int boundaryId ()
const;
251 int n = mydimension+1;
252 int k = dimension-cd+1;
256 for (
int i=n-k+1; i<=n; i++)
258 for (
long i=2; i<=k; i++)
274 template<
int codim >
282 AlbertaGridLeafIntersectionIterator ileafbegin ()
const;
285 AlbertaGridLeafIntersectionIterator ileafend ()
const;
289 if(
grid().maxLevel() == 0 )
293 DUNE_THROW( NotImplemented,
"method ilevelbegin not implemented for AlbertaGrid." );
304 bool isLeaf ()
const;
308 Entity father ()
const;
312 return (this->
level()>0);
323 LocalGeometry geometryInFather ()
const;
329 HierarchicIterator hbegin (
int maxlevel)
const;
332 HierarchicIterator hend (
int maxlevel)
const;
338 bool mightVanish ()
const;
342 bool hasBoundaryIntersections ()
const ;
348 bool equals (
const This &i )
const;
383 template<
int codim >
386 return elementInfo().template twist< codim >(
grid().generic2alberta( codim, i ) );
397 ElementInfo elementInfo_;
402 #endif // #if HAVE_ALBERTA 404 #endif // #ifndef DUNE_ALBERTA_ENTITY_HH Include standard header files.
Definition: agrid.hh:58
int subEntity() const
obtain number of the subentity within the element (in ALBERTA numbering)
Definition: albertagrid/entity.hh:371
Definition: albertagrid/entity.hh:21
Grid::template Codim< codim >::EntitySeed EntitySeed
Definition: albertagrid/entity.hh:66
Dune::AlbertaGridLeafIntersectionIterator< Grid > AlbertaGridLeafIntersectionIterator
Definition: albertagrid/entity.hh:213
Definition: albertagrid/entity.hh:60
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::HierarchicIterator HierarchicIterator
Definition: albertagrid/entity.hh:211
void clearElement()
Definition: entity.cc:68
#define ALBERTA
Definition: albertaheader.hh:27
Grid::template Codim< 0 >::EntitySeed EntitySeed
Definition: albertagrid/entity.hh:206
void setElement(const ElementInfo &elementInfo, int subEntity)
Definition: entity.cc:76
Geometry geometry() const
geometry of this entity
Definition: entity.cc:101
AlbertaGridEntity()
Definition: entity.cc:30
Grid::template Codim< codim >::Geometry Geometry
Definition: albertagrid/entity.hh:67
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
int twist(int i) const
obtain twist of a subentity
Definition: albertagrid/entity.hh:384
[ provides Dune::Grid ]
Definition: agrid.hh:136
Definition: albertagrid/entity.hh:27
bool hasFather() const
returns true if father entity exists
Definition: albertagrid/entity.hh:310
AlbertaGridLeafIntersectionIterator AlbertaGridLevelIntersectionIterator
Definition: albertagrid/entity.hh:214
Default Implementations for EntityImp.
Definition: common/entity.hh:547
static const int mydimension
Definition: albertagrid/entity.hh:57
provides a wrapper for ALBERTA's el_info structure
Alberta::ElementInfo< dimension > ElementInfo
Definition: albertagrid/entity.hh:216
void setEntity(const This &other)
Definition: entity.cc:85
Definition: albertagrid/entity.hh:42
AlbertaGridLevelIntersectionIterator ilevelend() const
Definition: albertagrid/entity.hh:298
unsigned int subEntities(unsigned int cd) const
Obtain the number of subentities of a given codimension.
Definition: albertagrid/entity.hh:106
Definition: albertagrid/entity.hh:24
GeometryType
Type representing VTK's entity geometry types.
Definition: common.hh:178
Grid::template Codim< 0 >::Geometry Geometry
Definition: albertagrid/entity.hh:207
EntitySeed seed() const
obtain entity seed
Definition: albertagrid/entity.hh:96
int twist() const
obtain twist
Definition: albertagrid/entity.hh:377
const ElementInfo & elementInfo() const
Definition: albertagrid/entity.hh:128
unsigned int subEntities(unsigned int cd) const
Obtain the number of subentities of a given codimension.
Definition: albertagrid/entity.hh:249
int subEntity() const
obtain number of the subentity within the element (in ALBERTA numbering)
Definition: albertagrid/entity.hh:146
PartitionType
Attributes used in the generic overlap model.
Definition: gridenums.hh:28
Definition: albertagrid/entity.hh:181
Grid::template Codim< cd >::Entity Entity
Definition: albertagrid/entity.hh:62
Definition: albertagrid/entity.hh:30
const ElementInfo & elementInfo() const
Definition: albertagrid/entity.hh:353
int level() const
level of this element
Definition: entity.cc:92
static const int codimension
Definition: albertagrid/entity.hh:56
Grid::template Codim< codim >::Entity Entity
Definition: albertagrid/entity.hh:202
Definition: albertagrid/entityseed.hh:16
GeometryType type() const
type of geometry of this entity
Definition: entity.cc:112
The dimension of the world the grid lives in.
Definition: common/grid.hh:393
Grid::template Codim< codim >::Entity Entity
Definition: albertagrid/entity.hh:65
bool equals(const This &other) const
equality of entities
Definition: entity.cc:46
int twist() const
obtain twist
Definition: albertagrid/entity.hh:152
Alberta::ElementInfo< dimension > ElementInfo
Definition: albertagrid/entity.hh:69
const Grid & grid() const
obtain a reference to the grid
Definition: albertagrid/entity.hh:365
Grid::template Codim< 0 >::LocalGeometry LocalGeometry
Definition: albertagrid/entity.hh:208
Grid::template Codim< 0 >::Entity Entity
Definition: albertagrid/entity.hh:205
PartitionType partitionType() const
return partition type of this entity
Definition: entity.cc:38
const Grid & grid() const
obtain a reference to the grid
Definition: albertagrid/entity.hh:140
EntitySeed seed() const
obtain entity seed
Definition: albertagrid/entity.hh:239
static const int dimension
Definition: albertagrid/entity.hh:55
Grid::Traits::template Codim< 0 >::GeometryImpl GeometryImpl
Definition: albertagrid/entity.hh:209
ALBERTA EL_INFO * getElInfo() const
needed for the LevelIterator and LeafIterator
Definition: entity.cc:60
AlbertaGridLevelIntersectionIterator ilevelbegin() const
Definition: albertagrid/entity.hh:287