ViennaGrid - The Vienna Grid Library  2.1.0
Data Structures | Namespaces | Functions
viennagrid/element/element.hpp File Reference

Provides the main n-cell type. More...

#include "viennagrid/forwards.hpp"
#include "viennagrid/point.hpp"
#include "viennagrid/meta/typelist.hpp"
#include "viennagrid/meta/algorithm.hpp"
#include "viennagrid/storage/collection.hpp"
#include "viennagrid/storage/range.hpp"
#include "viennagrid/topology/simplex.hpp"
#include "viennagrid/element/element_orientation.hpp"
#include "viennagrid/config/element_config.hpp"

Go to the source code of this file.

Data Structures

struct  boundary_element_taglist< bnd_cell_typelist >
 Metafunction for returning the list of boundary element tags for a certain element. More...
class  element< ElementTag, WrappedConfigType >
 The main element class in ViennaGrid, representing vertices, edges, triangles, etc. More...
class  element_extension< ElementTagT >
 A class for injecting additional members into topological elements (Vertex, Edge, etc.) More...
struct  for_each_boundary_element_functor< ElementT, FunctorT >
 Helper functor which iterates over the respective boundary elements and applied the user-provided functor to each boundary element. More...
struct  has_boundary< element_type, boundary_cell_type_or_tag >
 Metafunction returning whether a certain element has a certain boundary cell type. More...
struct  topologic_dimension< element_type_or_tag >
 Returns the topologic dimension of a certain element (identified by its type or tag) More...

Namespaces

namespace  viennagrid
 

The main ViennaGrid namespace. Most user functionality resides directly in this namespace rather than in sub-namespaces.


namespace  viennagrid::config
 

Provides a number of predefined configuration classes, which cover the most frequent use cases.


namespace  viennagrid::detail
 

Namespace for implementation details. Not intended to be used directly by a library user.


namespace  viennagrid::result_of
 

The metafunction layer. Provides type generators that derive the respective type from the mesh configuration.


Functions

template<typename element_tag , typename WrappedConfigType , typename handle_type >
detail::result_of::value_type
< handle_type >::type & 
dereference_handle (viennagrid::element< element_tag, WrappedConfigType > &element, handle_type const &handle)
 Function for dereferencing a handle using a host element.
template<typename element_tag , typename WrappedConfigType , typename handle_type >
const
detail::result_of::value_type
< handle_type >::type & 
dereference_handle (viennagrid::element< element_tag, WrappedConfigType > const &element, handle_type const &handle)
 Function for dereferencing a handle using a host element.
template<typename sub_element_type_or_tag , typename element_tag , typename WrappedConfigType >
result_of::element_range
< viennagrid::element
< element_tag,
WrappedConfigType >
, sub_element_type_or_tag >
::type 
elements (viennagrid::element< element_tag, WrappedConfigType > &element)
 Function for retrieving a boundary element range from a host element. Non-const version.
template<typename sub_element_type_or_tag , typename element_tag , typename WrappedConfigType >
result_of::const_element_range
< viennagrid::element
< element_tag,
WrappedConfigType >
, sub_element_type_or_tag >
::type 
elements (const viennagrid::element< element_tag, WrappedConfigType > &element)
 Function for retrieving a boundary element range from a host element. Const version.
template<typename element_type_or_tag , typename container_collection_typemap >
result_of::element_range
< collection
< container_collection_typemap >
, element_type_or_tag >::type 
elements (collection< container_collection_typemap > &collection)
 Function for retrieving an element range or a boundary element range from a container collection. Non-const version.
template<typename element_type_or_tag , typename container_collection_typemap >
result_of::const_element_range
< collection
< container_collection_typemap >
, element_type_or_tag >::type 
elements (const collection< container_collection_typemap > &collection)
 Function for retrieving an element range or a boundary element range from a container collection. Const version.
template<typename BoundaryElementTypelistT , typename ElementT , typename FunctorT >
void for_each_boundary_element (ElementT &element, FunctorT functor)
 Applies a functor to all boundary cells of an element. For example, this applies a functor to all vertices and edges of a triangle.
template<typename ElementT , typename FunctorT >
void for_each_boundary_element (ElementT &element, FunctorT functor)
template<typename ElementTag1 , typename WrappedConfigType1 , typename ElementTag2 , typename WrappedConfigType2 >
result_of::handle
< viennagrid::element
< ElementTag1,
WrappedConfigType1 >
, viennagrid::element
< ElementTag2,
WrappedConfigType2 > >::type 
handle (viennagrid::element< ElementTag1, WrappedConfigType1 > &element, viennagrid::element< ElementTag2, WrappedConfigType2 > &boundary_element)
 Function for creating a handle for a given boundary element of a host element. Non-const version.
template<typename ElementTag1 , typename WrappedConfigType1 , typename ElementTag2 , typename WrappedConfigType2 >
result_of::const_handle
< viennagrid::element
< ElementTag1,
WrappedConfigType1 >
, viennagrid::element
< ElementTag2,
WrappedConfigType2 > >::type 
handle (viennagrid::element< ElementTag1, WrappedConfigType1 > const &element, viennagrid::element< ElementTag2, WrappedConfigType2 > const &boundary_element)
 Function for creating a handle for a given boundary element of a host element. Const-version.
std::ostream & operator<< (std::ostream &os, viennagrid::null_type)
template<typename WrappedConfigType >
std::ostream & operator<< (std::ostream &os, viennagrid::element< vertex_tag, WrappedConfigType > const &el)
 Overload for the output streaming operator for the vertex type.
template<typename element_tag , typename WrappedConfigType >
std::ostream & operator<< (std::ostream &os, viennagrid::element< element_tag, WrappedConfigType > const &el)
 Overload for the output streaming operator.

Detailed Description

Provides the main n-cell type.