concepts::ConvertMeshQuads Class Reference
#include <meshConverter.hh>
Classes | |
class | S |
Scanner class for ConvertMeshQuads. More... | |
Public Member Functions | |
ConvertMeshQuads (Mesh2 &m, const uint level) | |
Constructor. More... | |
virtual uint | ncell () const |
Returns the number of cells in the mesh. More... | |
virtual Scan2 * | scan () |
Returns a scanner over the cells of the mesh. More... | |
~ConvertMeshQuads () | |
Protected Member Functions | |
virtual std::ostream & | info (std::ostream &os) const |
Returns information in an output stream. More... | |
Private Member Functions | |
void | convertCell_ (Cell2 &c, const uint level) |
Handles a cell if it is on the correct level, otherwise, recurses. More... | |
void | deleteStuff_ () |
Private Attributes | |
Joiner< Edge *, 1 > * | edgeList_ |
List of new edges. More... | |
bool | hasQuads |
Checks for a mixed mesh. More... | |
bool | hasTris |
Mesh2 & | m_ |
Original mesh. More... | |
Joiner< Quad2d *, 1 > * | newQuadList_ |
List of new quads. More... | |
std::list< Quad2d * > | quadList_ |
List of quads in the new mesh. More... | |
Joiner< Vertex *, 1 > * | vertexList_ |
List of new vertices (centers of gravity of the triangles) More... | |
Detailed Description
Mesh converter.
Converts a mesh with triangles into a mesh with quadrilaterals only. Each triangle is split into three quads by joining the edge midpoints and the center of gravity.
If the attribute of a triangle which is subdivided is 0, the newly created middle vertex, the edges and the quads inherit the key of the triangle as attribute. Otherwise, they inherit the attribute of the triangle.
This class can handle triangular and quadrilateral input meshes. If a quad is met, there is nothing to do. At the moment, mixed meshes cannot be handled.
- Todo:
- Implement methods to handle mixed meshes (quads and triangles)
Definition at line 35 of file meshConverter.hh.
Constructor & Destructor Documentation
◆ ConvertMeshQuads()
concepts::ConvertMeshQuads::ConvertMeshQuads | ( | Mesh2 & | m, |
const uint | level | ||
) |
Constructor.
Takes the original mesh m
and converts all triangles to quadrilaterals to build a new mesh
- Parameters
-
m Original mesh level Level in m
which should be converted
◆ ~ConvertMeshQuads()
concepts::ConvertMeshQuads::~ConvertMeshQuads | ( | ) |
Member Function Documentation
◆ convertCell_()
|
private |
Handles a cell if it is on the correct level, otherwise, recurses.
◆ deleteStuff_()
|
private |
◆ info()
|
protectedvirtual |
Returns information in an output stream.
Reimplemented from concepts::Mesh.
◆ ncell()
|
inlinevirtual |
Returns the number of cells in the mesh.
Implements concepts::Mesh.
Definition at line 45 of file meshConverter.hh.
◆ scan()
|
inlinevirtual |
Returns a scanner over the cells of the mesh.
- Postcondition
- The scanner must be deleted after usage. This has to be done by the user.
Implements concepts::Mesh2.
Definition at line 46 of file meshConverter.hh.
Member Data Documentation
◆ edgeList_
List of new edges.
Definition at line 55 of file meshConverter.hh.
◆ hasQuads
|
private |
Checks for a mixed mesh.
Definition at line 61 of file meshConverter.hh.
◆ hasTris
|
private |
Definition at line 61 of file meshConverter.hh.
◆ m_
|
private |
Original mesh.
Definition at line 51 of file meshConverter.hh.
◆ newQuadList_
List of new quads.
Definition at line 57 of file meshConverter.hh.
◆ quadList_
|
private |
List of quads in the new mesh.
Definition at line 59 of file meshConverter.hh.
◆ vertexList_
List of new vertices (centers of gravity of the triangles)
Definition at line 53 of file meshConverter.hh.
The documentation for this class was generated from the following file:
- geometry/meshConverter.hh