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

Contains forward declarations and definition of small classes that must be defined at an early stage. More...

#include <iostream>
#include <vector>
#include <map>
#include <cstddef>
#include <cstdlib>
#include "viennagrid/storage/static_array.hpp"
#include "viennagrid/storage/forwards.hpp"

Go to the source code of this file.

Data Structures

struct  boundary_element_generator< ElementTag, BoundaryElementTag, BoundaryElementType >
 Worker class that generates the boundary elements of a host element. More...
struct  boundary_element_generator< ElementTag, vertex_tag, BoundaryElementType >
struct  boundary_elements< ElementTag, BoundaryElementTag >
 Helper class for defining boundary element information. More...
struct  boundary_information_collection_tag
 A tag for identifying boundary information. More...
struct  cell_handle< SomethingT >
 Convenience metafunction for the type retrieval of a cell handle. Will fail if there is more than one cell type. More...
struct  cell_id< SomethingT >
 Convenience metafunction for the type retrieval of a cell ID. Will fail if there is more than one cell type. More...
struct  cell_range< SomethingT >
 Convenience metafunction for the type retrieval of a cell range. Will fail if there is more than one cell type. More...
struct  coboundary_collection_tag
 A tag for identifying the coboundary collection. More...
struct  const_cell_handle< SomethingT >
 Convenience metafunction for the type retrieval of a const cell handle. Will fail if there is more than one cell type. More...
struct  const_cell_range< SomethingT >
 Convenience metafunction for the type retrieval of a const cell range. Will fail if there is more than one cell type. More...
struct  const_edge_handle< SomethingT >
 Convenience metafunction for the type retrieval of a const line handle (same as const_line_handle) More...
struct  const_edge_range< SomethingT >
 Convenience metafunction for the type retrieval of a const edge range (same as const_line_range) More...
struct  const_facet_handle< SomethingT >
 Metafunction for retrieving the const facet handle type an element, a mesh, a segmentation or a segment. More...
struct  const_facet_range< SomethingT >
 Metafunction for retrieving the const facet range type an element, a mesh, a segmentation or a segment. More...
struct  const_hexahedron_handle< SomethingT >
 Convenience metafunction for the type retrieval of a const hexahedron handle. More...
struct  const_hexahedron_range< SomethingT >
 Convenience metafunction for the type retrieval of a const hexahedron range. More...
struct  const_iterator< ContainerT >
 Metafunction for the type retrieval of a const iterator from a container or range. More...
struct  const_line_handle< SomethingT >
 Convenience metafunction for the type retrieval of a const line handle (same as const_edge_handle) More...
struct  const_line_range< SomethingT >
 Convenience metafunction for the type retrieval of a const line range (same as const_edge_range) More...
struct  const_plc_handle< SomethingT >
 Convenience metafunction for the type retrieval of a const plc handle. More...
struct  const_plc_range< SomethingT >
 Convenience metafunction for the type retrieval of a const PLC range. More...
struct  const_polygon_handle< SomethingT >
 Convenience metafunction for the type retrieval of a const polygon handle. More...
struct  const_polygon_range< SomethingT >
 Convenience metafunction for the type retrieval of a const polygon range. More...
struct  const_quadrilateral_handle< SomethingT >
 Convenience metafunction for the type retrieval of a const quadrilateral handle. More...
struct  const_quadrilateral_range< SomethingT >
 Convenience metafunction for the type retrieval of a const quadrilateral range. More...
struct  const_tetrahedron_handle< SomethingT >
 Convenience metafunction for the type retrieval of a const tetrahedron handle. More...
struct  const_tetrahedron_range< SomethingT >
 Convenience metafunction for the type retrieval of a const tetrahedron range. More...
struct  const_triangle_handle< SomethingT >
 Convenience metafunction for the type retrieval of a const triangle handle. More...
struct  const_triangle_range< SomethingT >
 Convenience metafunction for the type retrieval of a const triangle range. More...
struct  const_vertex_handle< SomethingT >
 Convenience metafunction for the type retrieval of a const vertex handle. More...
struct  const_vertex_range< SomethingT >
 Convenience metafunction for the type retrieval of a const vertex range. More...
struct  container_collection_typemap< SomethingT >
 Metafunction for obtaining the container collection typemap of something. More...
struct  coord< SomethingT >
 Metafunction for obtaining the coordinate type of the geometric point type of something. More...
struct  dimension_tag< d >
 A helper tag for dispatches based on the geometrical or topological dimension. More...
struct  dynamic_layout_tag
 Tag that indicates that a dynamic container has to be used for storing the boundary element handles (e.g. polygon and plc) More...
struct  edge< SomethingT >
 Convenience metafunction for the type retrieval of a edge (same as line) More...
struct  edge_handle< SomethingT >
 Convenience metafunction for the type retrieval of a line handle (same as line_handle) More...
struct  edge_id< SomethingT >
 Convenience metafunction for the type retrieval of a line ID (same as line_id) More...
struct  edge_range< SomethingT >
 Convenience metafunction for the type retrieval of a edge range (same as line_range) More...
struct  element_collection< SomethingT >
 Metafunction for obtaining the element collection of something. More...
struct  element_tag< ElementTypeOrTagT >
 Metafunction for retrieving the tag of an element. More...
struct  facet< SomethingT >
 Metafunction for retrieving the facet element type an element, a mesh, a segmentation or a segment. More...
struct  facet_handle< SomethingT >
 Metafunction for retrieving the facet handle type an element, a mesh, a segmentation or a segment. More...
struct  facet_id< SomethingT >
 Metafunction for retrieving the facet handle type an element, a mesh, a segmentation or a segment. More...
struct  facet_range< SomethingT >
 Metafunction for retrieving the facet range type an element, a mesh, a segmentation or a segment. More...
struct  facet_tag< SomethingT >
 Metafunction for retrieving the facet tag of an element, a mesh, a segmentation or a segment. More...
struct  full_handling_tag
 A tag denoting full storage of boundary elements of a certain topological element. More...
struct  full_lazy_handling_tag
 A tag denoting lazy handling of boundary elements. Reserved for future use. More...
struct  geometric_dimension< SomethingT >
 Metafunction for obtaining the geometric dimension of something. More...
struct  hexahedron< SomethingT >
 Convenience metafunction for the type retrieval of a hexahedron. More...
struct  hexahedron_handle< SomethingT >
 Convenience metafunction for the type retrieval of a hexahedron handle. More...
struct  hexahedron_id< SomethingT >
 Convenience metafunction for the type retrieval of a hexahedron ID. More...
struct  hexahedron_range< SomethingT >
 Convenience metafunction for the type retrieval of a hexahedron range. More...
struct  id< ElementT >
 Metafunction for obtaining the id type of an element. More...
struct  inf_norm_tag
 Tag for denoting the infinity-norm. More...
struct  interface_information_collection_tag
 A tag identifying interface information. More...
struct  iterator< ContainerT >
 Metafunction for the type retrieval of an iterator from a container or range. More...
struct  line< SomethingT >
 Convenience metafunction for the type retrieval of a line (same as edge) More...
struct  line_handle< SomethingT >
 Convenience metafunction for the type retrieval of a line handle (same as edge_handle) More...
struct  line_id< SomethingT >
 Convenience metafunction for the type retrieval of a line ID (same as edge_id) More...
struct  line_range< SomethingT >
 Convenience metafunction for the type retrieval of a line range (same as edge_range) More...
struct  mesh_proxy< MeshT >
 Proxy object for a mesh. This is used for wrapping a mesh/mesh view when creating a view. More...
struct  neighbor_collection_tag
 A tag for identifying the neighbor element collection. More...
struct  no_handling_tag
 A tag denoting that the boundary elements should not be stored at all. More...
struct  no_orientation_handling_tag
 A tag denoting that the boundary elements should stored without orientation. More...
struct  no_orientation_lazy_handling_tag
 A tag denoting that orientation should be stored/computed only on request ('lazy'). More...
struct  one_norm_tag
 Tag for denoting the 1-norm. More...
struct  plc< SomethingT >
 Convenience metafunction for the type retrieval of a plc. More...
struct  plc_handle< SomethingT >
 Convenience metafunction for the type retrieval of a plc handle. More...
struct  plc_id< SomethingT >
 Convenience metafunction for the type retrieval of a plc ID. More...
struct  plc_range< SomethingT >
 Convenience metafunction for the type retrieval of a PLC range. More...
struct  point< SomethingT >
 Metafunction for obtaining the geometric point type of something. More...
struct  polygon< SomethingT >
 Convenience metafunction for the type retrieval of a polygon. More...
struct  polygon_handle< SomethingT >
 Convenience metafunction for the type retrieval of a polygon handle. More...
struct  polygon_id< SomethingT >
 Convenience metafunction for the type retrieval of a polygon v. More...
struct  polygon_range< SomethingT >
 Convenience metafunction for the type retrieval of a polygon range. More...
struct  quadrilateral< SomethingT >
 Convenience metafunction for the type retrieval of a quadrilateral. More...
struct  quadrilateral_handle< SomethingT >
 Convenience metafunction for the type retrieval of a quadrilateral handle. More...
struct  quadrilateral_id< SomethingT >
 Convenience metafunction for the type retrieval of a quadrilateral ID. More...
struct  quadrilateral_range< SomethingT >
 Convenience metafunction for the type retrieval of a quadrilateral range. More...
struct  seg_cell_normal_data
 Data type for cell normals in algorithm/cell_normals.hpp (to be added in a future release) More...
struct  seg_cell_normal_tag
 Types for cell normals in algorithm/cell_normals.hpp (to be added in a future release) More...
struct  static_layout_tag
 Tag that indicates that a static container can be used for storing the boundary element handles (e.g. used in simplices and hypercubes) More...
struct  tetrahedron< SomethingT >
 Convenience metafunction for the type retrieval of a tetrahedron. More...
struct  tetrahedron_handle< SomethingT >
 Convenience metafunction for the type retrieval of a tetrahedron handle. More...
struct  tetrahedron_id< SomethingT >
 Convenience metafunction for the type retrieval of a tetrahedron ID. More...
struct  tetrahedron_range< SomethingT >
 Convenience metafunction for the type retrieval of a tetrahedron range. More...
struct  triangle< SomethingT >
 Convenience metafunction for the type retrieval of a triangle. More...
struct  triangle_handle< SomethingT >
 Convenience metafunction for the type retrieval of a triangle handle. More...
struct  triangle_id< SomethingT >
 Convenience metafunction for the type retrieval of a triangle ID. More...
struct  triangle_range< SomethingT >
 Convenience metafunction for the type retrieval of a triangle range. More...
struct  two_norm_tag
 Tag for denoting the 2-norm. More...
struct  vertex< SomethingT >
 Convenience metafunction for the type retrieval of a vertex. More...
struct  vertex_handle< SomethingT >
 Convenience metafunction for the type retrieval of a vertex handle. More...
struct  vertex_id< SomethingT >
 Convenience metafunction for the type retrieval of a vertex ID. More...
struct  vertex_range< SomethingT >
 Convenience metafunction for the type retrieval of a vertex range. 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::config::result_of
 

Namespace for metafunctions for obtaining the respective mesh configurations.


namespace  viennagrid::detail
 

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


namespace  viennagrid::detail::result_of
 

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


namespace  viennagrid::io
 

A namespace with all the input/output functionality, in particular file readers and writers.


namespace  viennagrid::io::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.


Defines

#define VIENNAGRID_BUGFIX_LEVEL   0
#define VIENNAGRID_MAJOR_VERSION   2
#define VIENNAGRID_MINOR_VERSION   1

Typedefs

typedef std::size_t dim_type
 A global size_type equivalent for use throughout ViennaData.
typedef simplex_tag< 1 > edge_tag
 Convenience type definition for a line (same as line_tag)
typedef hypercube_tag< 3 > hexahedron_tag
 Convenience type definition for a hexahedron.
typedef simplex_tag< 1 > line_tag
 Convenience type definition for a line (same as edge_tag)
typedef hypercube_tag< 2 > quadrilateral_tag
 Convenience type definition for a quadrilateral.
typedef simplex_tag< 3 > tetrahedron_tag
 Convenience type definition for a tetrahedron.
typedef simplex_tag< 2 > triangle_tag
 Convenience type definition for a triangle.
typedef simplex_tag< 0 > vertex_tag
 Convenience type definition for a vertex.

Functions

template<typename iterator_type , typename distance_type >
iterator_type advance (iterator_type const &in, distance_type distance)
 Advances an iterator and returns it.
template<typename SomethingT >
result_of::cell_range
< SomethingT >::type 
cells (SomethingT &something)
 Function for retrieving a cell range object from a host object.
template<typename SomethingT >
result_of::const_cell_range
< SomethingT >::type 
cells (SomethingT const &something)
 Function for retrieving a const cell range object from a host object.
template<typename ElementT , typename MeshOrSegmentHandleT >
viennagrid::result_of::handle
< MeshOrSegmentHandleT,
typename
viennagrid::result_of::element_tag
< ElementT >::type >::type 
copy_element (ElementT const &element, MeshOrSegmentHandleT &mesh_segment, typename viennagrid::result_of::coord< MeshOrSegmentHandleT >::type tolerance)
 Function for copying an element to a mesh or segment.
template<typename ElementT , typename MeshOrSegmentHandleT >
viennagrid::result_of::handle
< MeshOrSegmentHandleT,
typename
viennagrid::result_of::element_tag
< ElementT >::type >::type 
copy_element (ElementT const &element, MeshOrSegmentHandleT &mesh_segment)
 Function for copying an element to a mesh or segment.
template<typename InputMeshOrSegmentHandleT , typename ElementHandleIteratorT , typename OutputMeshOrSegmentHandleT >
void copy_element_by_handles (InputMeshOrSegmentHandleT const &input_mesh, ElementHandleIteratorT const &begin, ElementHandleIteratorT const &end, OutputMeshOrSegmentHandleT &output_mesh, typename viennagrid::result_of::coord< OutputMeshOrSegmentHandleT >::type tolerance)
 Function for copying an element handle iterator range to a mesh or segment.
template<typename InputMeshOrSegmentHandleT , typename ElementHandleIteratorT , typename OutputMeshOrSegmentHandleT >
void copy_element_by_handles (InputMeshOrSegmentHandleT const &input_mesh, ElementHandleIteratorT const &begin, ElementHandleIteratorT const &end, OutputMeshOrSegmentHandleT &output_mesh)
 Function for copying an element handle iterator range to a mesh or segment.
template<typename ElementIteratorT , typename OutputMeshOrSegmentHandleT >
void copy_elements (ElementIteratorT const &begin, ElementIteratorT const &end, OutputMeshOrSegmentHandleT &output_mesh, typename viennagrid::result_of::coord< OutputMeshOrSegmentHandleT >::type tolerance)
 Function for copying an element iterator range to a mesh or segment.
template<typename ElementIteratorT , typename OutputMeshOrSegmentHandleT >
void copy_elements (ElementIteratorT const &begin, ElementIteratorT const &end, OutputMeshOrSegmentHandleT &output_mesh)
 Function for copying an element iterator range to a mesh or segment.
template<typename WrappedMeshConfigT , typename ElementTagT , typename WrappedConfigT >
viennagrid::element
< ElementTagT, WrappedConfigT > & 
dereference_handle (viennagrid::mesh< WrappedMeshConfigT > &, viennagrid::element< ElementTagT, WrappedConfigT > &element)
 Function for dereferencing an element -> identity.
template<typename WrappedMeshConfigT , typename ElementTagT , typename WrappedConfigT >
viennagrid::element
< ElementTagT, WrappedConfigT > & 
dereference_handle (viennagrid::segment_handle< WrappedMeshConfigT > &, viennagrid::element< ElementTagT, WrappedConfigT > &element)
 Function for dereferencing an element -> identity.
template<typename HostElementTagT , typename WrappedHostElementConfigT , typename ElementTagT , typename WrappedConfigT >
viennagrid::element
< ElementTagT, WrappedConfigT > & 
dereference_handle (viennagrid::element< HostElementTagT, WrappedHostElementConfigT > &, viennagrid::element< ElementTagT, WrappedConfigT > &element)
 Function for dereferencing an element -> identity.
template<typename WrappedMeshConfigT , typename ElementTagT , typename WrappedConfigT >
viennagrid::element
< ElementTagT, WrappedConfigT >
const & 
dereference_handle (viennagrid::mesh< WrappedMeshConfigT > const &, viennagrid::element< ElementTagT, WrappedConfigT > const &element)
 Function for dereferencing a const element -> identity.
template<typename WrappedMeshConfigT , typename ElementTagT , typename WrappedConfigT >
viennagrid::element
< ElementTagT, WrappedConfigT >
const & 
dereference_handle (viennagrid::mesh< WrappedMeshConfigT > &, viennagrid::element< ElementTagT, WrappedConfigT > const &element)
 Function for dereferencing a const element -> identity.
template<typename WrappedMeshConfigT , typename ElementTagT , typename WrappedConfigT >
viennagrid::element
< ElementTagT, WrappedConfigT >
const & 
dereference_handle (viennagrid::mesh< WrappedMeshConfigT > const &, viennagrid::element< ElementTagT, WrappedConfigT > &element)
 Function for dereferencing a const element -> identity.
template<typename SegmentationT , typename ElementTagT , typename WrappedConfigT >
viennagrid::element
< ElementTagT, WrappedConfigT >
const & 
dereference_handle (viennagrid::segment_handle< SegmentationT > const &, viennagrid::element< ElementTagT, WrappedConfigT > const &element)
 Function for dereferencing a const element -> identity.
template<typename SegmentationT , typename ElementTagT , typename WrappedConfigT >
viennagrid::element
< ElementTagT, WrappedConfigT >
const & 
dereference_handle (viennagrid::segment_handle< SegmentationT > &, viennagrid::element< ElementTagT, WrappedConfigT > const &element)
 Function for dereferencing a const element -> identity.
template<typename SegmentationT , typename ElementTagT , typename WrappedConfigT >
viennagrid::element
< ElementTagT, WrappedConfigT >
const & 
dereference_handle (viennagrid::segment_handle< SegmentationT > const &, viennagrid::element< ElementTagT, WrappedConfigT > &element)
 Function for dereferencing an element -> identity.
template<typename HostElementTagT , typename WrappedHostElementConfigT , typename ElementTagT , typename WrappedConfigT >
viennagrid::element
< ElementTagT, WrappedConfigT >
const & 
dereference_handle (viennagrid::element< HostElementTagT, WrappedHostElementConfigT > const &, viennagrid::element< ElementTagT, WrappedConfigT > const &element)
 Function for dereferencing a const element -> identity.
template<typename HostElementTagT , typename WrappedHostElementConfigT , typename ElementTagT , typename WrappedConfigT >
viennagrid::element
< ElementTagT, WrappedConfigT >
const & 
dereference_handle (viennagrid::element< HostElementTagT, WrappedHostElementConfigT > &, viennagrid::element< ElementTagT, WrappedConfigT > const &element)
 Function for dereferencing a const element -> identity.
template<typename HostElementTagT , typename WrappedHostElementConfigT , typename ElementTagT , typename WrappedConfigT >
viennagrid::element
< ElementTagT, WrappedConfigT >
const & 
dereference_handle (viennagrid::element< HostElementTagT, WrappedHostElementConfigT > const &, viennagrid::element< ElementTagT, WrappedConfigT > &element)
 Function for dereferencing an element -> identity.
template<typename SomethingT >
result_of::element_range
< SomethingT, edge_tag >::type 
edges (SomethingT &something)
 Function for retrieving a edge range object from a host object (same as lines)
template<typename SomethingT >
result_of::const_element_range
< SomethingT, edge_tag >::type 
edges (SomethingT const &something)
 Function for retrieving a const edge range object from a host object (same as lines)
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 ElementTypeOrTagT , typename SomethingT >
result_of::element_range
< SomethingT,
ElementTypeOrTagT >::type 
elements (SomethingT &something)
 Function for retrieving an element range or a boundary element range from a host object.
template<typename ElementTypeOrTagT , typename WrappedConfigType >
result_of::element_range
< viennagrid::mesh
< WrappedConfigType >
, ElementTypeOrTagT >::type 
elements (viennagrid::mesh< WrappedConfigType > &mesh_obj)
 Function for retrieving an element range or a boundary element range from a mesh. Non-const version.
template<typename ElementTypeOrTagT , typename SegmentationT >
result_of::element_range
< viennagrid::segment_handle
< SegmentationT >
, ElementTypeOrTagT >::type 
elements (viennagrid::segment_handle< SegmentationT > &segment)
 Function for retrieving an element range or a boundary element range from a segment.
template<typename ElementTypeOrTagT , typename WrappedConfigT >
result_of::element_range
< segmentation< WrappedConfigT >
, ElementTypeOrTagT >::type 
elements (viennagrid::segmentation< WrappedConfigT > &segm)
 Function for retrieving an element range or a boundary element range from a segmentation. Non-const version.
template<typename ElementTypeOrTagT , typename SomethingT >
result_of::const_element_range
< SomethingT,
ElementTypeOrTagT >::type 
elements (SomethingT const &something)
 Function for retrieving a const element range or a boundary element range from a host object.
template<typename ElementTypeOrTagT , typename WrappedConfigType >
result_of::const_element_range
< viennagrid::mesh
< WrappedConfigType >
, ElementTypeOrTagT >::type 
elements (viennagrid::mesh< WrappedConfigType > const &mesh_obj)
 Function for retrieving an element range or a boundary element range from a mesh. Const version.
template<typename ElementTypeOrTagT , typename SegmentationT >
result_of::const_element_range
< viennagrid::segment_handle
< SegmentationT >
, ElementTypeOrTagT >::type 
elements (viennagrid::segment_handle< SegmentationT > const &segment)
 Function for retrieving a const element range or a boundary element range from a segment. Const-version.
template<typename ElementTypeOrTagT , typename WrappedConfigT >
result_of::const_element_range
< viennagrid::segmentation
< WrappedConfigT >
, ElementTypeOrTagT >::type 
elements (viennagrid::segmentation< WrappedConfigT > const &segm)
 Function for retrieving an element range or a boundary element range from a segmentation. Const version.
template<typename ElementT >
result_of::facet_range
< ElementT >::type 
facets (ElementT &element)
 Function for retrieving a facet range object from a host object.
template<typename ElementT >
result_of::const_facet_range
< ElementT >::type 
facets (const ElementT &element)
 Function for retrieving a const facet range object from a host object.
template<typename MeshOrSegmentHandleT , typename HandleT >
HandleT handle (MeshOrSegmentHandleT &, HandleT handle)
 Function for creating a handle, default implementation -> identity.
template<typename MeshOrSegmentHandleT , typename HandleT >
const HandleT handle (MeshOrSegmentHandleT const &, HandleT handle)
 Function for creating a const handle, default implementation -> identity.
template<typename SomethingT >
result_of::element_range
< SomethingT, hexahedron_tag >
::type 
hexahedra (SomethingT &something)
 Function for retrieving a hexahedron range object from a host object.
template<typename SomethingT >
result_of::const_element_range
< SomethingT, hexahedron_tag >
::type 
hexahedra (SomethingT const &something)
 Function for retrieving a const hexahedron range object from a host object.
template<typename ConfigType >
viennagrid::mesh< ConfigType >
::inserter_type & 
inserter (viennagrid::mesh< ConfigType > &mesh_obj)
 For internal use only.
template<typename ConfigType >
viennagrid::mesh< ConfigType >
::inserter_type const & 
inserter (viennagrid::mesh< ConfigType > const &mesh_obj)
 For internal use only.
template<typename SegmentationType >
viennagrid::segment_handle
< SegmentationType >
::view_type::inserter_type & 
inserter (segment_handle< SegmentationType > &segment)
 For internal use only.
template<typename SegmentationType >
viennagrid::segment_handle
< SegmentationType >
::view_type::inserter_type
const & 
inserter (segment_handle< SegmentationType > const &segment)
 For internal use only.
template<typename SomethingT >
result_of::element_range
< SomethingT, line_tag >::type 
lines (SomethingT &something)
 Function for retrieving a line range object from a host object (same as edges)
template<typename SomethingT >
result_of::const_element_range
< SomethingT, line_tag >::type 
lines (SomethingT const &something)
 Function for retrieving a const line range object from a host object (same as edges)
template<typename MeshOrSegmentHandleTypeT , typename VertexHandleT >
result_of::edge_handle
< MeshOrSegmentHandleTypeT >
::type 
make_edge (MeshOrSegmentHandleTypeT &mesh_segment, VertexHandleT v0, VertexHandleT v1)
 Function for creating an edge within a mesh or a segment (same as make_edge)
template<typename ElementTypeOrTagT , typename MeshOrSegmentHandleTypeT , typename VertexHandleIteratorT >
result_of::handle
< MeshOrSegmentHandleTypeT,
ElementTypeOrTagT >::type 
make_element (MeshOrSegmentHandleTypeT &mesh_segment, VertexHandleIteratorT array_start, VertexHandleIteratorT const &array_end)
 Function for creating an element within a mesh or a segment. For PLC use make_plc.
template<typename ElementTypeOrTagT , typename MeshOrSegmentHandleTypeT , typename VertexHandleIteratorT , typename IDT >
result_of::handle
< MeshOrSegmentHandleTypeT,
ElementTypeOrTagT >::type 
make_element_with_id (MeshOrSegmentHandleTypeT &mesh_segment, VertexHandleIteratorT array_start, VertexHandleIteratorT const &array_end, IDT id)
 Function for creating an element within a mesh or segment with a specific ID. For PLC use make_plc.
template<typename MeshOrSegmentHandleTypeT , typename VertexHandleT >
result_of::hexahedron_handle
< MeshOrSegmentHandleTypeT >
::type 
make_hexahedron (MeshOrSegmentHandleTypeT &mesh_segment, VertexHandleT v0, VertexHandleT v1, VertexHandleT v2, VertexHandleT v3, VertexHandleT v4, VertexHandleT v5, VertexHandleT v6, VertexHandleT v7)
 Function for creating a hexahedron within a mesh or a segment.
template<typename MeshOrSegmentHandleTypeT , typename VertexHandleT >
result_of::line_handle
< MeshOrSegmentHandleTypeT >
::type 
make_line (MeshOrSegmentHandleTypeT &mesh_segment, VertexHandleT v0, VertexHandleT v1)
 Function for creating a line within a mesh or a segment (same as make_edge)
template<typename MeshOrSegmentHandleTypeT , typename LineHandleIteratorT , typename VertexHandleIteratorT , typename PointIteratorT >
result_of::plc_handle
< MeshOrSegmentHandleTypeT >
::type 
make_plc (MeshOrSegmentHandleTypeT &mesh_segment, LineHandleIteratorT lines_begin, LineHandleIteratorT lines_end, VertexHandleIteratorT loose_vertices_begin, VertexHandleIteratorT loose_vertices_end, PointIteratorT hole_points_begin, PointIteratorT hole_points_end)
 Function for creating a PLC within a mesh or a segment.
template<typename MeshOrSegmentHandleTypeT , typename VertexHandleT >
result_of::quadrilateral_handle
< MeshOrSegmentHandleTypeT >
::type 
make_quadrilateral (MeshOrSegmentHandleTypeT &mesh_segment, VertexHandleT v0, VertexHandleT v1, VertexHandleT v2, VertexHandleT v3)
 Function for creating a quadrilateral within a mesh or a segment.
template<typename MeshOrSegmentHandleTypeT , typename VertexHandleT >
result_of::tetrahedron_handle
< MeshOrSegmentHandleTypeT >
::type 
make_tetrahedron (MeshOrSegmentHandleTypeT &mesh_segment, VertexHandleT v0, VertexHandleT v1, VertexHandleT v2, VertexHandleT v3)
 Function for creating a tetrahedron within a mesh or a segment.
template<typename MeshOrSegmentHandleTypeT , typename VertexHandleT >
result_of::triangle_handle
< MeshOrSegmentHandleTypeT >
::type 
make_triangle (MeshOrSegmentHandleTypeT &mesh_segment, VertexHandleT v0, VertexHandleT v1, VertexHandleT v2)
 Function for creating a triangle within a mesh or a segment.
template<typename MeshOrSegmentHandleTypeT >
result_of::vertex_handle
< MeshOrSegmentHandleTypeT >
::type 
make_unique_vertex (MeshOrSegmentHandleTypeT &mesh_segment, typename result_of::point< MeshOrSegmentHandleTypeT >::type const &point, typename result_of::coord< MeshOrSegmentHandleTypeT >::type tolerance)
 Function for creating a unique vertex. The uniqueness is checked by using the point of the vertex: if there is any vertex whose point is close to the point currently inserted, this handle is returned. A new vertex is created otherwise. A classical 2-norm and the tolerance is used for distance checking. The runtime of this function is linear in the vertices within the mesh.
template<typename MeshOrSegmentHandleTypeT >
result_of::vertex_handle
< MeshOrSegmentHandleTypeT >
::type 
make_unique_vertex (MeshOrSegmentHandleTypeT &mesh_segment, typename result_of::point< MeshOrSegmentHandleTypeT >::type const &p)
 Function for creating a unique vertex. The uniqueness is checked by using the point of the vertex: if there is any vertex whose point is close to the point currently inserted, this handle is returned. A new vertex is created otherwise. A classical 2-norm and the 2-norm of points as tolerance is used for distance checking. The runtime of this function is linear in the vertices within the mesh.
template<typename MeshOrSegmentHandleTypeT >
result_of::vertex_handle
< MeshOrSegmentHandleTypeT >
::type 
make_vertex (MeshOrSegmentHandleTypeT &mesh_segment)
 Function for creating a vertex within a mesh or a segment.
template<typename MeshOrSegmentHandleTypeT >
result_of::vertex_handle
< MeshOrSegmentHandleTypeT >
::type 
make_vertex (MeshOrSegmentHandleTypeT &mesh_segment, typename result_of::point< MeshOrSegmentHandleTypeT >::type const &point)
 Function for creating a vertex within a mesh or a segment with a specific point.
template<typename MeshOrSegmentHandleTypeT >
result_of::vertex_handle
< MeshOrSegmentHandleTypeT >
::type 
make_vertex_with_id (MeshOrSegmentHandleTypeT &mesh_segment, typename viennagrid::result_of::element< MeshOrSegmentHandleTypeT, vertex_tag >::type::id_type id, typename result_of::point< MeshOrSegmentHandleTypeT >::type const &point)
 Function for creating a vertex within a mesh or a segment with a specific point and specific ID.
template<typename WrappedConfigT >
mesh_proxy< viennagrid::mesh
< WrappedConfigT > > 
make_view (viennagrid::mesh< WrappedConfigT > &mesh_obj)
 Creates a view out of a mesh using the mesh_proxy object.
template<typename SegmentationT >
mesh_proxy< typename
SegmentationT::view_type > 
make_view (segment_handle< SegmentationT > &segment)
 Creates an empty view out of a segment.
template<typename MeshT , typename MeshViewT , typename HandleT >
void mark_referencing_elements (MeshT &mesh_obj, MeshViewT &element_view, HandleT host_element)
 Marks elements which reference a given host element.
template<typename SomethingT >
result_of::element_range
< SomethingT, plc_tag >::type 
plcs (SomethingT &something)
 Function for retrieving a PLC range object from a host object.
template<typename SomethingT >
result_of::const_element_range
< SomethingT, plc_tag >::type 
plcs (SomethingT const &something)
 Function for retrieving a const PLC range object from a host object.
template<typename SomethingT >
result_of::element_range
< SomethingT, polygon_tag >
::type 
polygons (SomethingT &something)
 Function for retrieving a polygon range object from a host object.
template<typename SomethingT >
result_of::const_element_range
< SomethingT, polygon_tag >
::type 
polygons (SomethingT const &something)
 Function for retrieving a const polygon range object from a host object.
template<typename SomethingT >
result_of::element_range
< SomethingT,
quadrilateral_tag >::type 
quadrilaterals (SomethingT &something)
 Function for retrieving a quadrilaterals range object from a host object.
template<typename SomethingT >
result_of::const_element_range
< SomethingT,
quadrilateral_tag >::type 
quadrilaterals (SomethingT const &something)
 Function for retrieving a const quadrilateral range object from a host object.
template<typename SomethingT >
result_of::element_range
< SomethingT, tetrahedron_tag >
::type 
tetrahedra (SomethingT &something)
 Function for retrieving a tetrahedron range object from a host object.
template<typename SomethingT >
result_of::const_element_range
< SomethingT, tetrahedron_tag >
::type 
tetrahedra (SomethingT const &something)
 Function for retrieving a const tetrahedron range object from a host object.
template<typename SomethingT >
result_of::element_range
< SomethingT, triangle_tag >
::type 
triangles (SomethingT &something)
 Function for retrieving a triangle range object from a host object.
template<typename SomethingT >
result_of::const_element_range
< SomethingT, triangle_tag >
::type 
triangles (SomethingT const &something)
 Function for retrieving a const triangles range object from a host object.
template<typename SomethingT >
result_of::element_range
< SomethingT, vertex_tag >
::type 
vertices (SomethingT &something)
 Function for retrieving a vertex range object from a host object.
template<typename SomethingT >
result_of::const_element_range
< SomethingT, vertex_tag >
::type 
vertices (SomethingT const &something)
 Function for retrieving a const vertex range object from a host object.

Detailed Description

Contains forward declarations and definition of small classes that must be defined at an early stage.


Define Documentation

#define VIENNAGRID_BUGFIX_LEVEL   0
#define VIENNAGRID_MAJOR_VERSION   2
#define VIENNAGRID_MINOR_VERSION   1