Package: GrAL Cartesian2D        GrAL: Packages | Concepts | Homepage

GrAL::cartesian2d::mapped_geometry< CM > Class Template Reference
[Geometric components for Cartesian2D]

geometry for RegGrid2D with explicit mapping.

This class implements a straight-line geometry for the grid class RegGrid2D. The coordinates of the vertices are given by a mapping from the unit-square [0,1]x[0,1] to R^2 (or R^3, in principle. There are some problems, however. See below). More...

#include </home/guntram/tmp/GrAL/gral/cartesian2d/include/Gral/Grids/Cartesian2D/mapped-geometry.h>

Inherits GrAL::cartesian2d::dimension_dependend_extensions2d<mapped_geometry_base<CM>, mapped_geometry<CM>, point_traits<CM::result_type>::dimension>.

List of all members.

Public Types

typedef Segment< Edge, geom_base > segment_type
 geometric representation of edges
typedef Polygon2d< Face,
geom_base > 
polygon_type
 geometric representation of faces (cells)

Public Member Functions

segment_type segment (const Edge &e) const
 get geometric representation for an edge
polygon_type polygon (const Face &f) const
 get geometric representation for a face (cell)
double volume (const Edge &e) const
 1-dimensional volume of an edge
double length (const Edge &e) const
 length of a (straight) edge
double area (const Cell &c) const
 2-dimensional volume of a cell
double volume (const Cell &c) const
 2-dimensional volume of a cell
coord_type center (const Edge &e) const
 Midpoint of an edge.
coord_type center (const Cell &c) const
 Center of inertia of a cell.
 mapped_geometry ()
 Empty geometry.
 mapped_geometry (const RegGrid2D &gg, const CM &ff=CM())
 Standard geometry.
 mapped_geometry (const RegGrid2D &gg, const CM &ff, const index_type &LL, const index_type &UR)
 Map [LL, UR] to ff($[0,1]^2$).


Detailed Description

template<class CM>
class GrAL::cartesian2d::mapped_geometry< CM >

geometry for RegGrid2D with explicit mapping.

This class implements a straight-line geometry for the grid class RegGrid2D. The coordinates of the vertices are given by a mapping from the unit-square [0,1]x[0,1] to R^2 (or R^3, in principle. There are some problems, however. See below).

To this end, the given underlying grid G of type RegGrid2D is thought to be mapped onto the unit square, by default G.ll() -> (0.0,0.0) and G.ur() -> (1.0,1.0). A rectangle other than [G.ll(),G.ur() may be specified that is mapped to $[0,1]^2$. This is useful e.g. for grids with overlaps or that are components of a larger grid, occupying only a part of the logical entire grid.

Template parameters:
+ CoordMap:

See also:
dimension_dependend_extensions2d<BASE, GEOM, 2> for additional functionality if the space dimension is 2.

Test in test-mapped-geometry.C

Definition at line 263 of file mapped-geometry.h.


Member Typedef Documentation

template<class CM >
typedef Segment<Edge,geom_base> GrAL::cartesian2d::mapped_geometry< CM >::segment_type

geometric representation of edges

Todo:
For non-linear mappings, this must be something more sophisticated.

Definition at line 315 of file mapped-geometry.h.

template<class CM >
typedef Polygon2d<Face,geom_base> GrAL::cartesian2d::mapped_geometry< CM >::polygon_type

geometric representation of faces (cells)

Todo:
For non-linear mappings, this must be something more sophisticated.

Definition at line 320 of file mapped-geometry.h.


The documentation for this class was generated from the following file:

©  Guntram Berti 1997-2009. See the GrAL Homepage for up-to-date information.

Generated on Tue Mar 31 19:12:13 2009 for GrAL Cartesian2D by doxygen 1.5.8