An object of type Complex2D can represent a general two-dimensional grid of homogeneous dimension. The cells can be arbitrary simple polygons. The vertex sets of facets must be unique, else the facet-cell incidence relation will not be calculated correctly. More...
#include </home/guntram/tmp/GrAL/gral/complex2d/include/Gral/Grids/Complex2D/complex2d.h>
Inherits GrAL::complex2d_types.
Public Types | |
| typedef self | grid_type |
| typedef grid_category_d< 2 > | category |
| typedef Vertex2D_Iterator | VertexIterator |
| typedef Edge2D_Iterator | EdgeIterator |
| typedef Edge2D_Iterator | FacetIterator |
| typedef Cell2D_Iterator | CellIterator |
| typedef Cell2D_Iterator | FaceIterator |
| typedef BoundaryFacet2D_Iterator | BoundaryFacetIterator |
|
typedef BoundaryComponent_Vertex2D_Iterator | BoundaryVertexIterator |
| typedef vertex_base::CoordType | CoordType |
Public Member Functions | |
| self const & | TheGrid () const |
| self & | TheGrid () |
| Complex2D (const Complex2D &rhs) | |
| Complex2D & | operator= (const Complex2D &rhs) |
| VertexIterator | FirstVertex () const |
| VertexIterator | EndVertex () const |
| EdgeIterator | FirstEdge () const |
| EdgeIterator | EndEdge () const |
| FacetIterator | FirstFacet () const |
| FacetIterator | EndFacet () const |
| CellIterator | FirstCell () const |
| CellIterator | EndCell () const |
| FaceIterator | FirstFace () const |
| FaceIterator | EndFace () const |
| void | switch_vertex (Vertex &v, Edge const &e) const |
| void | switch_edge (Vertex const &v, Edge &e, Cell const &c) const |
| void | switch_facet (Vertex const &v, Edge &e, Cell const &c) const |
| void | switch_cell (Edge const &e, Cell &c) const |
| Vertex | switched_vertex (Vertex const &v, Edge const &e) const |
| Edge | switched_edge (Vertex const &v, Edge const &e, Cell const &c) const |
| Facet | switched_facet (Vertex const &v, Edge const &e, Cell const &c) const |
| Cell | switched_cell (Edge const &e, Cell const &c) const |
| BoundaryFacetIterator | FirstBoundaryFacet () const |
| BoundaryFacetIterator | FirstBoundaryEdge () const |
| BoundaryVertexIterator | FirstBoundaryVertex () const |
| size_type | NumOfBoundaryVertices () const |
| size_type | NumOfBoundaryFacets () const |
| size_type | NumOfVertices () const |
| size_type | NumOfEdges () const |
| size_type | NumOfFacets () const |
| size_type | NumOfFaces () const |
| size_type | NumOfCells () const |
| cell_handle | outer_cell_handle () const |
| invalid cell_handle for marking "outside" | |
| bool | IsOnBoundary (EdgeOnCellIterator const &e) const |
| bool | IsOnBoundary (Edge const &e) const |
| bool | IsInside (cell_handle c) const |
| bool | IsInside (const Cell &c) const |
geometry | |
| const CoordType & | Coord (const Vertex &v) const |
| CoordType & | Coord (const Vertex &v) |
Archetype handling | |
| archetype_iterator | BeginArchetype () const |
| archetype_iterator | EndArchetype () const |
| archetype_handle | handle (archetype_iterator it) const |
| archetype_type const & | Archetype (archetype_handle a) const |
| archetype_type & | Archetype (archetype_handle a) |
| archetype_type const & | ArchetypeOf (Cell const &c) const |
| archetype_type const & | ArchetypeOf (cell_handle c) const |
| archetype_handle | archetype_of (cell_handle c) const |
| archetype_handle | archetype_of (Cell const &c) const |
| unsigned | NumOfArchetypes () const |
| archetype_handle | add_archetype (archetype_type const &A, int nv) |
| Add an archetype to the archetype list. | |
| void | swap_orientation (Cell const &c) |
| cell_handle | handle (Cell const &C) const |
| cell_handle | handle (CellIterator const &c) const |
| cell_handle | handle (CellNeighbourIterator const &c) const |
| vertex_handle | handle (Vertex const &V) const |
| vertex_handle | handle (VertexIterator const &v) const |
| vertex_handle | handle (VertexOnCellIterator const &v) const |
| bool | is_valid_vertex (vertex_handle v) const |
| bool | is_valid_cell (cell_handle c) const |
| bool | valid (vertex_handle v) const |
| bool | valid (cell_handle c) const |
| bool | valid_vertex (vertex_handle v) const |
| bool | valid_cell (cell_handle c) const |
| edge_handle | handle (const Edge &E) const |
| Vertex | vertex (const vertex_handle &v) const |
| Cell | cell (const cell_handle &c) const |
| Edge | edge (const edge_handle &e) const |
| Edge | facet (const edge_handle &e) const |
Public Attributes | |
| cell_list_complex2d | _cells |
| vertex_list_complex2d | _vertices |
| boundary_facet_list | _boundary |
| size_type | num_of_edges_cache |
| archetype_sequence | archetypes |
| std::vector< archetype_handle > | arch_for_n_vertices |
Friends | |
| class | friend_for_input |
| class | Vertex2D |
| class | Edge2D |
| class | Cell2D |
| class | VertexOnCell2D_Iterator |
| class | EdgeOnCell2D_Iterator |
| class | BoundaryFacet2D_Iterator |
| class | CellOnCell2D_Iterator |
| class | CellOnVertex2D_Iterator |
| class | Vertex2D_Iterator |
| class | Edge2D_Iterator |
| class | Cell2D_Iterator |
| enum | { dim = 2 } |
| unsigned | dimension () const |
An object of type Complex2D can represent a general two-dimensional grid of homogeneous dimension. The cells can be arbitrary simple polygons. The vertex sets of facets must be unique, else the facet-cell incidence relation will not be calculated correctly.
Its Cell type (Cell2D) is a model of VertexRange, EdgeRange, and CellRange. That is, there are types for the GridIncidenceIterator's VertexOnCellIterator (model of VertexOnCellIterator), EdgeOnCellIterator (model of EdgeOnCellIterator), and CellOnCellIterator (model of CellOnCellIterator).
Its Vertex type (Vertex2D) is a model of CellRange. That is, there is a type CellOnVertexIterator (model of CellOnVertexIterator).
Its Edge type (Edge2D) is a model of VertexRange and CellRange. That is, there are types VertexOnEdgeIterator and CellOnEdgeIterator.
Its Facet type is a typedef to its Edge type.
Definition at line 299 of file complex2d.h.
| Complex2D::archetype_handle GrAL::Complex2D::add_archetype | ( | Complex2D::archetype_type const & | A, | |
| int | nv | |||
| ) |
Add an archetype to the archetype list.
If there is already an archetype with nv vertices, the handle of the old archetype is returned. Else the handle of the newly added archetype is returned.
Definition at line 147 of file complex2d.C.
References REQUIRE.
1.5.8