Feel++ 0.91.0
Classes

Feel::GeoEntity< Entity > Class Template Reference

base class for all geometric entities More...

#include <geoentity.hpp>

Inheritance diagram for Feel::GeoEntity< Entity >:
equality_comparable less_than_comparable less_than_comparable Feel::Entity< ShapeE, T > Feel::Geo0D< Dim, T > Feel::GeoElement0D< Dim, SubFace, T >

List of all members.

Classes

struct  reference_convex

Public Member Functions

Constructors, destructor
 GeoEntity ()
 GeoEntity (size_type i, size_type geometry=Geometry, size_type shape=Shape, size_type context=MESH_ENTITY_INTERNAL)
 GeoEntity (GeoEntity const &__me)
GeoEntityoperator= (GeoEntity const &__me)
virtual ~GeoEntity ()
Operator overloads
bool operator== (GeoEntity const &e) const
bool operator< (GeoEntity const &e) const
bool operator< (size_type __i) const
Accessors
size_type id () const
uint16_type refDim () const
uint16_type nPoints () const
uint16_type nVertices () const
uint16_type nEdges () const
uint16_type nFaces () const
uint16_type nGeometricFaces () const
uint16_type nNormals () const
bool hasShape (size_type __shape) const
bool isAVolume () const
bool isASurface () const
bool isALine () const
bool isAPoint () const
bool isAPointShape () const
bool isALineShape () const
bool isATriangleShape () const
bool isAQuadrangleShape () const
bool isATetrahedraShape () const
bool isAHexahedraShape () const
bool isLinear () const
bool isBilinear () const
bool isQuadratic () const
bool isInternal () const
bool isOnBoundary () const
uint16_type processId () const
void setProcessId (uint16_type pid)
bool active () const
virtual double measure () const =0
Mutators
void setId (size_type id)
void setOnBoundary (bool b)

Typedefs

typedef Entity super
typedef GeoEntity< EntityGeoShape
typedef GeoEntity< Entityself_type
typedef
super::topological_face_type 
face_type
typedef face_type GeoBShape
typedef
Entity::edge_permutation_type 
edge_permutation_type
typedef
Entity::face_permutation_type 
face_permutation_type
typedef Entity convex_type
static const size_type Shape = super::Shape
static const size_type Geometry = super::Geometry
static const uint16_type nDim = super::nDim
static const uint16_type nOrder = super::nOrder
static const uint16_type nRealDim = super::nRealDim
static const uint16_type numVertices = super::numVertices
static const uint16_type numFaces = super::numFaces
static const uint16_type numGeometricFaces = super::numGeometricFaces
static const uint16_type numTopologicalFaces = super::numTopologicalFaces
static const uint16_type numEdges = super::numEdges
static const uint16_type numNormals = super::numNormals
static const uint16_type numPoints = super::numPoints
static const uint16_type nbPtsPerVertex = super::nbPtsPerVertex
static const uint16_type nbPtsPerEdge = super::nbPtsPerEdge
static const uint16_type nbPtsPerFace = super::nbPtsPerFace
static const uint16_type nbPtsPerVolume = super::nbPtsPerVolume
static const bool is_simplex = super::is_simplex
static const bool is_hypercube = super::is_hypercube

Methods

self_typeaddElement (size_type e)
size_type numberOfElements () const
std::set< size_type > const & elements () const
static uint16_type eToP (uint16_type const __localEdge, uint16_type const __point)
static uint16_type fToP (uint16_type const __localFace, uint16_type const __point)
static uint16_type fToE (uint16_type const __localFace, uint16_type const __edge)

Detailed Description

template<typename Entity>
class Feel::GeoEntity< Entity >

base class for all geometric entities

Author:
Christophe Prud'homme
See also:

Member Function Documentation

template<typename Entity>
bool Feel::GeoEntity< Entity >::active ( ) const [inline]
Returns:
true if active, false otherwise
Note:
for now it is a dummy function that returns always true, will change when work on AMR starts
template<typename Entity>
self_type& Feel::GeoEntity< Entity >::addElement ( size_type  e) [inline]

add a new element to which the point belongs

template<typename Entity>
std::set<size_type> const& Feel::GeoEntity< Entity >::elements ( ) const [inline]
Returns:
the set of ids of elements whom the point belongs to
template<typename Entity>
static uint16_type Feel::GeoEntity< Entity >::eToP ( uint16_type const  __localEdge,
uint16_type const  __point 
) [inline, static]

eToP(i,j) = localId of jth point on ith local edge

template<typename Entity>
static uint16_type Feel::GeoEntity< Entity >::fToE ( uint16_type const  __localFace,
uint16_type const  __edge 
) [inline, static]

fToE(i,j) = localId of jth edge on ith local face

template<typename Entity>
static uint16_type Feel::GeoEntity< Entity >::fToP ( uint16_type const  __localFace,
uint16_type const  __point 
) [inline, static]

fToP(i,j) = localId of jth point on ith local edge

Reimplemented in Feel::GeoND< Dim, GEOSHAPE, T, POINTTYPE >, and Feel::GeoND< Dim, GEOSHAPE, T, GeoElement0D< Dim, SubFaceOfNone, T > >.

template<typename Entity>
bool Feel::GeoEntity< Entity >::hasShape ( size_type  __shape) const [inline]
Returns:
true if the entoty has the shape __shape, false otherwise
template<typename Entity>
bool Feel::GeoEntity< Entity >::isAHexahedraShape ( ) const [inline]
Returns:
true of the entity is a hexahedra
template<typename Entity>
bool Feel::GeoEntity< Entity >::isALine ( ) const [inline]
Returns:
true of the entity is a line
template<typename Entity>
bool Feel::GeoEntity< Entity >::isALineShape ( ) const [inline]
Returns:
true of the entity is a shape line
template<typename Entity>
bool Feel::GeoEntity< Entity >::isAPoint ( ) const [inline]
Returns:
true of the entity is a point
template<typename Entity>
bool Feel::GeoEntity< Entity >::isAPointShape ( ) const [inline]
Returns:
true of the entity is a shape point
template<typename Entity>
bool Feel::GeoEntity< Entity >::isAQuadrangleShape ( ) const [inline]
Returns:
true of the entity is a quadrangle
template<typename Entity>
bool Feel::GeoEntity< Entity >::isASurface ( ) const [inline]
Returns:
true of the entity is a surface
template<typename Entity>
bool Feel::GeoEntity< Entity >::isATetrahedraShape ( ) const [inline]
Returns:
true of the entity is a tetrahedra shape
template<typename Entity>
bool Feel::GeoEntity< Entity >::isATriangleShape ( ) const [inline]
Returns:
true of the entity is a triangle shape
template<typename Entity>
bool Feel::GeoEntity< Entity >::isAVolume ( ) const [inline]
Returns:
true of the entity is a volume
template<typename Entity>
bool Feel::GeoEntity< Entity >::isBilinear ( ) const [inline]
Returns:
true if the shape is bilinear, false otherwise
template<typename Entity>
bool Feel::GeoEntity< Entity >::isInternal ( ) const [inline]
Returns:
true if the entity is internal, false otherwise
template<typename Entity>
bool Feel::GeoEntity< Entity >::isLinear ( ) const [inline]
Returns:
true if the shape is linear, false otherwise
template<typename Entity>
bool Feel::GeoEntity< Entity >::isOnBoundary ( ) const [inline]
template<typename Entity>
bool Feel::GeoEntity< Entity >::isQuadratic ( ) const [inline]
Returns:
true if the shape is quadratic, false otherwise
template<typename Entity>
virtual double Feel::GeoEntity< Entity >::measure ( ) const [pure virtual]
template<typename Entity>
uint16_type Feel::GeoEntity< Entity >::nEdges ( ) const [inline]

number of edges on the reference shape

Returns:
the number of edges on the reference shape
template<typename Entity>
uint16_type Feel::GeoEntity< Entity >::nFaces ( ) const [inline]

number of faces on the reference shape

Returns:
the number of edges on the reference shape
template<typename Entity>
uint16_type Feel::GeoEntity< Entity >::nGeometricFaces ( ) const [inline]

number of faces on the reference shape

Returns:
the number of edges on the reference shape
template<typename Entity>
uint16_type Feel::GeoEntity< Entity >::nNormals ( ) const [inline]

number of normals on the reference shape

Returns:
the number of normals on the reference shape
template<typename Entity>
uint16_type Feel::GeoEntity< Entity >::nPoints ( ) const [inline]

number of points on the reference shape

Returns:
the number of points on the reference shape

Reimplemented in Feel::GeoND< Dim, GEOSHAPE, T, POINTTYPE >, and Feel::GeoND< Dim, GEOSHAPE, T, GeoElement0D< Dim, SubFaceOfNone, T > >.

template<typename Entity>
size_type Feel::GeoEntity< Entity >::numberOfElements ( ) const [inline]
Returns:
the number of elements whom the point belongs to
template<typename Entity>
uint16_type Feel::GeoEntity< Entity >::nVertices ( ) const [inline]

number of vertices on the reference shape

Returns:
the number of vertices on the reference shape
template<typename Entity>
uint16_type Feel::GeoEntity< Entity >::processId ( ) const [inline]
template<typename Entity>
uint16_type Feel::GeoEntity< Entity >::refDim ( ) const [inline]

the dimension of the reference shape

Returns:
the dimension of the reference shape
template<typename Entity>
void Feel::GeoEntity< Entity >::setOnBoundary ( bool  b) [inline]

set the boundary flag

Parameters:
btrue if the item is on the boundary, false otherwise

Referenced by Feel::Geo0D< Dim, T >::Geo0D().

template<typename Entity>
void Feel::GeoEntity< Entity >::setProcessId ( uint16_type  pid) [inline]

set the processor id of the entity &

Parameters:
pidprocessor id

Referenced by Feel::Geo0D< 3 >::setTags().