Feel++ 0.91.0
Static Public Attributes | Protected Member Functions
Feel::Mesh3D< Shape > Class Template Reference

3D mesh class More...

#include <mesh3d.hpp>

Inheritance diagram for Feel::Mesh3D< Shape >:
Feel::VisitableBase<> Feel::MeshBase

List of all members.

Public Member Functions

Constructors, destructor
 Mesh3D ()
 Mesh3D (Mesh3D const &m)
 ~Mesh3D ()
Operator overloads
Mesh3Doperator= (Mesh3D const &m)
Accessors
bool isEmpty () const
size_type numElements () const
size_type numLocalFaces () const
size_type numLocalEdges () const
size_type numLocalVertices () const
size_type numFaces () const
size_type numEdges () const
size_type numPoints () const
element_edge_type const & localEdgeId (element_type const &e, size_type const n) const
element_edge_type const & localEdgeId (size_type const e, size_type const n) const
Methods
virtual void clear ()
 FEEL_DEFINE_VISITABLE ()

Static Public Attributes

static const uint16_type nDim = 3

Protected Member Functions

void renumber ()
void updateEntitiesCoDimensionTwo ()
void updateEntitiesCoDimensionOnePermutation ()

Typedefs

typedef VisitableBase::return_type return_type
typedef VisitableBase super_visitable
typedef MeshBase super
typedef Elements< Shape > super_elements
typedef
super_elements::elements_type 
elements_type
typedef
super_elements::element_type 
element_type
typedef
super_elements::element_iterator 
element_iterator
typedef
super_elements::element_const_iterator 
element_const_iterator
typedef
super_elements::update_element_neighbor_type 
update_element_neighbor_type
typedef element_type::node_type node_type
typedef
element_type::edge_permutation_type 
edge_permutation_type
typedef
element_type::face_permutation_type 
face_permutation_type
typedef Points< 3 > super_points
typedef super_points::points_type points_type
typedef super_points::point_type point_type
typedef Faces< typename
Shape::template shape
< 2 >::type, typename
super_elements::element_type > 
super_faces
typedef super_faces::faces_type faces_type
typedef super_faces::face_type face_type
typedef super_faces::face_iterator face_iterator
typedef
super_faces::face_const_iterator 
face_const_iterator
typedef super_faces::location_faces location_faces
typedef
super_faces::location_face_iterator 
location_face_iterator
typedef
super_faces::location_face_const_iterator 
location_face_const_iterator
typedef Edges< typename
Shape::template shape
< 1 >::type
super_edges
typedef super_edges::edges_type edges_type
typedef super_edges::edge_type edge_type
typedef super_edges::edge_iterator edge_iterator
typedef
super_edges::edge_const_iterator 
edge_const_iterator
typedef std::pair< size_type,
size_type
edge_pair_type
typedef Mesh3D< Shape > self_type
typedef boost::shared_ptr
< self_type
self_ptrtype
typedef super::face_processor_type face_processor_type
typedef boost::tuple
< size_type, int > 
element_edge_type
static const size_type SHAPE = Shape::Shape

Detailed Description

template<typename Shape>
class Feel::Mesh3D< Shape >

3D mesh class

 // create a 3D mesh made of simplex of order 1
 Mesh3D<Simplex<3,1> > mesh;

 // create a 3D mesh made of simplex of order 2
 Mesh3D<Simplex<3,2> > mesh;
Author:
Christophe Prud'homme
See also:

Member Typedef Documentation

template<typename Shape >
typedef boost::tuple<size_type, int> Feel::Mesh3D< Shape >::element_edge_type

Tuple that contains

  1. the index of the edge
  1. +1 or -1 depending on the orientation
template<typename Shape >
typedef super::face_processor_type Feel::Mesh3D< Shape >::face_processor_type

Tuple that contains

  1. the index of the face
  1. the processor id the face belongs to

Reimplemented from Feel::MeshBase.


Constructor & Destructor Documentation

template<typename GEOSHAPE >
Feel::Mesh3D< GEOSHAPE >::Mesh3D ( )

default constructor

template<typename GEOSHAPE >
Feel::Mesh3D< GEOSHAPE >::Mesh3D ( Mesh3D< Shape > const &  m)

copy constructor

template<typename GEOSHAPE >
Feel::Mesh3D< GEOSHAPE >::~Mesh3D ( )

destructor


Member Function Documentation

template<typename GEOSHAPE >
void Feel::Mesh3D< GEOSHAPE >::clear ( ) [virtual]

clear out all data from the mesh, isEmpty() should return true after a clear()

Reimplemented from Feel::MeshBase.

References Feel::edges(), Feel::elements(), Feel::faces(), and Feel::points().

template<typename Shape >
bool Feel::Mesh3D< Shape >::isEmpty ( ) const [inline]
Returns:
true if all containers are empty, false otherwise
template<typename Shape >
element_edge_type const& Feel::Mesh3D< Shape >::localEdgeId ( element_type const &  e,
size_type const  n 
) const [inline]
Returns:
the edge index of the edge n in the element e
template<typename Shape >
element_edge_type const& Feel::Mesh3D< Shape >::localEdgeId ( size_type const  e,
size_type const  n 
) const [inline]
Returns:
the edge index of the edge n in the element e
template<typename Shape >
size_type Feel::Mesh3D< Shape >::numEdges ( ) const [inline]
Returns:
the number of edges

References Feel::edges().

template<typename Shape >
size_type Feel::Mesh3D< Shape >::numElements ( ) const [inline, virtual]
Returns:
the number of elements

Implements Feel::MeshBase.

References Feel::elements().

template<typename Shape >
size_type Feel::Mesh3D< Shape >::numFaces ( ) const [inline, virtual]
Returns:
the number of faces

Implements Feel::MeshBase.

References Feel::faces().

template<typename Shape >
size_type Feel::Mesh3D< Shape >::numLocalEdges ( ) const [inline]
Returns:
the number of edges in an element
template<typename Shape >
size_type Feel::Mesh3D< Shape >::numLocalFaces ( ) const [inline]
Returns:
the number of faces in an element
template<typename Shape >
size_type Feel::Mesh3D< Shape >::numLocalVertices ( ) const [inline]
Returns:
the number of vertices in an element
template<typename Shape >
size_type Feel::Mesh3D< Shape >::numPoints ( ) const [inline, virtual]
Returns:
the number of points

Implements Feel::MeshBase.

References Feel::points().

template<typename Shape >
void Feel::Mesh3D< Shape >::renumber ( ) [inline, protected, virtual]

dummy implementation

See also:
Mesh

Implements Feel::MeshBase.

template<typename GEOSHAPE >
void Feel::Mesh3D< GEOSHAPE >::updateEntitiesCoDimensionOnePermutation ( ) [protected]

update permutation of entities of co-dimension 1

References Feel::elements(), and Feel::invalid_uint16_type_value.

template<typename GEOSHAPE >
void Feel::Mesh3D< GEOSHAPE >::updateEntitiesCoDimensionTwo ( ) [protected, virtual]

update the entities of co-dimension 2

Implements Feel::MeshBase.

References Feel::edges(), Feel::elements(), and Feel::faces().