Connected mesh of two given meshes where edges on both outer boundaries are connected. More...

#include <mutableMesh.hh>

Inheritance diagram for concepts::ConnectTwoMeshes:
concepts::MutableMesh2 concepts::InnerOuterBoundary2d concepts::Mesh2 concepts::MutableMeshBase concepts::Mesh concepts::OutputOperator

Public Member Functions

virtual void addCell (Cell *cell, bool holding=true)
 Adds a cell to the mesh, which is by default hold by this object and will be deleted by its destructor. More...
 
void addInnerBoundary (const Sequence< Edge2d * > &innerBoundary)
 Adds clones of the edges in innerBoundary as new inner boundary. More...
 
void addMesh (Mesh2 &msh)
 Adds cells of another mesh. More...
 
void connectOppositeEdges (const Edge2d *edge1, const Edge2d *edge2, const Attribute attrib=Attribute(), const Quad2dSubdivision *strategy=0)
 Adds a quadrilateral connecting the two edges. More...
 
void connectOppositeEdges (const Sequence< Edge2d * > edges1, const Sequence< Edge2d * > edges2, const Attribute attrib=Attribute(), const Quad2dSubdivision *strategy=0)
 Adds quadrilateral connecting respective two edges of the two sequences (with same number of edges). More...
 
 ConnectTwoMeshes (Mesh2withBoundary &mesh1, const Sequence< uint > edges1, Mesh2withBoundary &mesh2, const Sequence< uint > edges2, const Attribute attrib=Attribute())
 Constructor. More...
 
const Sequence< Sequence< Edge2d * > > & innerBoundary () const
 
Cell2lastCell () const
 Return the latest added cell. More...
 
uint ncell () const
 Returns the number of cells in the mesh. More...
 
const Sequence< Edge2d * > & outerBoundary () const
 
const Sequence< Connector0 * > & ownConnectors0 () const
 
const Sequence< Connector1 * > & ownConnectors1 () const
 
const Sequence< Connector2 * > & ownConnectors2 () const
 
const Sequence< Connector3 * > & ownConnectors3 () const
 
EdgeownEdge (Vertex *vtx1, Vertex *vtx2)
 Returns the own edge with the two vertices. More...
 
void replaceCell (Cell2 *cell, bool holding=true)
 Replaces by cell the cell with the same connector. More...
 
Scan2scan ()
 Returns a scanner over the cells of the mesh. More...
 
virtual ~ConnectTwoMeshes ()
 

Protected Member Functions

void addCell_ (Cell *cell, bool holding=true)
 
virtual std::ostream & info (std::ostream &os) const
 Returns information in an output stream. More...
 
void replaceCell_ (Cell *cell, bool holding=true)
 Replaces by cell the cell with the same connector. More...
 

Protected Attributes

Sequence< Sequence< Edge2d * > > innerBoundary_
 Several internal boundaries given by edges in 2D. More...
 
MultiArray< 2, Edge * > mapEdges_
 Maps from vertices to connectors. More...
 
Sequence< Edge2d * > outerBoundary_
 Outer boundary given by edges in 2D. More...
 
Sequence< const Cell * > ownCells_
 Stored cells. More...
 
Sequence< Connector0 * > ownConnectors0_
 Stored connectors. More...
 
Sequence< Connector1 * > ownConnectors1_
 
Sequence< Connector2 * > ownConnectors2_
 
Sequence< Connector3 * > ownConnectors3_
 

Private Attributes

Sequence< Cell2 * > cells_
 Cells of the mesh. More...
 
uint ncell_
 Number of cells. More...
 

Detailed Description

Connected mesh of two given meshes where edges on both outer boundaries are connected.

Definition at line 211 of file mutableMesh.hh.

Constructor & Destructor Documentation

◆ ConnectTwoMeshes()

concepts::ConnectTwoMeshes::ConnectTwoMeshes ( Mesh2withBoundary mesh1,
const Sequence< uint >  edges1,
Mesh2withBoundary mesh2,
const Sequence< uint >  edges2,
const Attribute  attrib = Attribute() 
)

Constructor.

Parameters
mesh1first mesh
mesh2second mesh
edges1number of edges on first mesh
edges2number of edges on second mesh

The edges of the outer boundary of mesh and mesh2 are given counter-clockwise as well as edges2, but edges1 is given clockwise. The i-th edge in edges1 is connected to the i-th edge of edges2.

◆ ~ConnectTwoMeshes()

virtual concepts::ConnectTwoMeshes::~ConnectTwoMeshes ( )
inlinevirtual

Definition at line 228 of file mutableMesh.hh.

Member Function Documentation

◆ addCell()

virtual void concepts::MutableMesh2::addCell ( Cell cell,
bool  holding = true 
)
virtualinherited

Adds a cell to the mesh, which is by default hold by this object and will be deleted by its destructor.

Implements concepts::MutableMeshBase.

◆ addCell_()

void concepts::MutableMeshBase::addCell_ ( Cell cell,
bool  holding = true 
)
protectedinherited

◆ addInnerBoundary()

void concepts::InnerOuterBoundary2d::addInnerBoundary ( const Sequence< Edge2d * > &  innerBoundary)
inherited

Adds clones of the edges in innerBoundary as new inner boundary.

◆ addMesh()

void concepts::MutableMesh2::addMesh ( Mesh2 msh)
inherited

Adds cells of another mesh.

The cells will not be deleted internally.

◆ connectOppositeEdges() [1/2]

void concepts::MutableMesh2::connectOppositeEdges ( const Edge2d edge1,
const Edge2d edge2,
const Attribute  attrib = Attribute(),
const Quad2dSubdivision strategy = 0 
)
inherited

Adds a quadrilateral connecting the two edges.

New entities, as stored only internally, will be deleted internally.

◆ connectOppositeEdges() [2/2]

void concepts::MutableMesh2::connectOppositeEdges ( const Sequence< Edge2d * >  edges1,
const Sequence< Edge2d * >  edges2,
const Attribute  attrib = Attribute(),
const Quad2dSubdivision strategy = 0 
)
inherited

Adds quadrilateral connecting respective two edges of the two sequences (with same number of edges).

The edges in each sequence have to be connected.

It will be searched for the edge pair of smalled distance and the rest if connected in the order of the given edges, i.e. they have to have matching order (e.g. both counter-clockwise).

New entities, as stored only internally, will be deleted internally.

◆ info()

virtual std::ostream& concepts::MutableMesh2::info ( std::ostream &  os) const
protectedvirtualinherited

Returns information in an output stream.

Reimplemented from concepts::Mesh.

◆ innerBoundary()

const Sequence<Sequence<Edge2d*> >& concepts::InnerOuterBoundary2d::innerBoundary ( ) const
inlineinherited

Definition at line 131 of file mesh.hh.

◆ lastCell()

Cell2* concepts::MutableMesh2::lastCell ( ) const
inlineinherited

Return the latest added cell.

Definition at line 161 of file mutableMesh.hh.

◆ ncell()

uint concepts::MutableMesh2::ncell ( ) const
inlinevirtualinherited

Returns the number of cells in the mesh.

Implements concepts::Mesh.

Definition at line 146 of file mutableMesh.hh.

◆ outerBoundary()

const Sequence<Edge2d*>& concepts::InnerOuterBoundary2d::outerBoundary ( ) const
inlineinherited

Definition at line 128 of file mesh.hh.

◆ ownConnectors0()

const Sequence<Connector0*>& concepts::MutableMeshBase::ownConnectors0 ( ) const
inlineinherited

Definition at line 36 of file mutableMesh.hh.

◆ ownConnectors1()

const Sequence<Connector1*>& concepts::MutableMeshBase::ownConnectors1 ( ) const
inlineinherited

Definition at line 38 of file mutableMesh.hh.

◆ ownConnectors2()

const Sequence<Connector2*>& concepts::MutableMeshBase::ownConnectors2 ( ) const
inlineinherited

Definition at line 40 of file mutableMesh.hh.

◆ ownConnectors3()

const Sequence<Connector3*>& concepts::MutableMeshBase::ownConnectors3 ( ) const
inlineinherited

Definition at line 42 of file mutableMesh.hh.

◆ ownEdge()

Edge* concepts::MutableMeshBase::ownEdge ( Vertex vtx1,
Vertex vtx2 
)
inherited

Returns the own edge with the two vertices.

If it does not exist the new edge will be created, stored and added it to maps from vertices

◆ replaceCell()

void concepts::MutableMesh2::replaceCell ( Cell2 cell,
bool  holding = true 
)
inherited

Replaces by cell the cell with the same connector.

This is good to replace the element map while holding the connectivity.

◆ replaceCell_()

void concepts::MutableMeshBase::replaceCell_ ( Cell cell,
bool  holding = true 
)
protectedinherited

Replaces by cell the cell with the same connector.

This is good to replace the element map while holding the connectivity.

◆ scan()

Scan2* concepts::MutableMesh2::scan ( )
inlinevirtualinherited

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 147 of file mutableMesh.hh.

Member Data Documentation

◆ cells_

Sequence<Cell2*> concepts::MutableMesh2::cells_
privateinherited

Cells of the mesh.

Definition at line 203 of file mutableMesh.hh.

◆ innerBoundary_

Sequence<Sequence<Edge2d*> > concepts::InnerOuterBoundary2d::innerBoundary_
protectedinherited

Several internal boundaries given by edges in 2D.

Definition at line 141 of file mesh.hh.

◆ mapEdges_

MultiArray<2, Edge*> concepts::MutableMeshBase::mapEdges_
protectedinherited

Maps from vertices to connectors.

Definition at line 53 of file mutableMesh.hh.

◆ ncell_

uint concepts::MutableMesh2::ncell_
privateinherited

Number of cells.

Definition at line 201 of file mutableMesh.hh.

◆ outerBoundary_

Sequence<Edge2d*> concepts::InnerOuterBoundary2d::outerBoundary_
protectedinherited

Outer boundary given by edges in 2D.

Definition at line 139 of file mesh.hh.

◆ ownCells_

Sequence<const Cell*> concepts::MutableMeshBase::ownCells_
protectedinherited

Stored cells.

Definition at line 46 of file mutableMesh.hh.

◆ ownConnectors0_

Sequence<Connector0*> concepts::MutableMeshBase::ownConnectors0_
protectedinherited

Stored connectors.

Definition at line 48 of file mutableMesh.hh.

◆ ownConnectors1_

Sequence<Connector1*> concepts::MutableMeshBase::ownConnectors1_
protectedinherited

Definition at line 49 of file mutableMesh.hh.

◆ ownConnectors2_

Sequence<Connector2*> concepts::MutableMeshBase::ownConnectors2_
protectedinherited

Definition at line 50 of file mutableMesh.hh.

◆ ownConnectors3_

Sequence<Connector3*> concepts::MutableMeshBase::ownConnectors3_
protectedinherited

Definition at line 51 of file mutableMesh.hh.


The documentation for this class was generated from the following file:
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich