Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)

Public Member Functions | Protected Member Functions | Protected Attributes
concepts::ConnectTwoMeshes Class Reference

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

#include <mutableMesh.hh>

Inheritance diagram for concepts::ConnectTwoMeshes:
Inheritance graph
[legend]
Collaboration diagram for concepts::ConnectTwoMeshes:
Collaboration graph
[legend]

List of all members.

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.
void addInnerBoundary (const Sequence< Edge2d * > &innerBoundary)
 Adds clones of the edges in innerBoundary as new inner boundary.
void addMesh (Mesh2 &msh)
 Adds cells of another mesh.
void connectOppositeEdges (const Edge2d *edge1, const Edge2d *edge2, const Attribute attrib=Attribute(), const Quad2dSubdivision *strategy=0)
 Adds a quadrilateral connecting the two edges.
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).
 ConnectTwoMeshes (Mesh2withBoundary &mesh1, const Sequence< uint > edges1, Mesh2withBoundary &mesh2, const Sequence< uint > edges2, const Attribute attrib=Attribute())
 Constructor.
const Sequence< Sequence
< Edge2d * > > & 
innerBoundary () const
Cell2lastCell () const
 Return the latest added cell.
uint ncell () const
 Returns the number of cells in the mesh.
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.
void replaceCell (Cell2 *cell, bool holding=true)
 Replaces by cell the cell with the same connector.
Scan2scan ()
 Returns a scanner over the cells of the mesh.
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.
void replaceCell_ (Cell *cell, bool holding=true)
 Replaces by cell the cell with the same connector.

Protected Attributes

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

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

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.

virtual concepts::ConnectTwoMeshes::~ConnectTwoMeshes ( ) [inline, virtual]

Definition at line 228 of file mutableMesh.hh.


Member Function Documentation

virtual void concepts::MutableMesh2::addCell ( Cell cell,
bool  holding = true 
) [virtual, inherited]

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

Implements concepts::MutableMeshBase.

void concepts::MutableMeshBase::addCell_ ( Cell cell,
bool  holding = true 
) [protected, inherited]
void concepts::InnerOuterBoundary2d::addInnerBoundary ( const Sequence< Edge2d * > &  innerBoundary) [inherited]

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

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

Adds cells of another mesh.

The cells will not be deleted internally.

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.

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.

virtual std::ostream& concepts::MutableMesh2::info ( std::ostream &  os) const [protected, virtual, inherited]

Returns information in an output stream.

Reimplemented from concepts::Mesh.

const Sequence<Sequence<Edge2d*> >& concepts::InnerOuterBoundary2d::innerBoundary ( ) const [inline, inherited]

Definition at line 129 of file mesh.hh.

Cell2* concepts::MutableMesh2::lastCell ( ) const [inline, inherited]

Return the latest added cell.

Definition at line 161 of file mutableMesh.hh.

uint concepts::MutableMesh2::ncell ( ) const [inline, virtual, inherited]

Returns the number of cells in the mesh.

Implements concepts::Mesh.

Definition at line 146 of file mutableMesh.hh.

const Sequence<Edge2d*>& concepts::InnerOuterBoundary2d::outerBoundary ( ) const [inline, inherited]

Definition at line 126 of file mesh.hh.

const Sequence<Connector0*>& concepts::MutableMeshBase::ownConnectors0 ( ) const [inline, inherited]

Definition at line 36 of file mutableMesh.hh.

const Sequence<Connector1*>& concepts::MutableMeshBase::ownConnectors1 ( ) const [inline, inherited]

Definition at line 38 of file mutableMesh.hh.

const Sequence<Connector2*>& concepts::MutableMeshBase::ownConnectors2 ( ) const [inline, inherited]

Definition at line 40 of file mutableMesh.hh.

const Sequence<Connector3*>& concepts::MutableMeshBase::ownConnectors3 ( ) const [inline, inherited]

Definition at line 42 of file mutableMesh.hh.

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

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.

void concepts::MutableMeshBase::replaceCell_ ( Cell cell,
bool  holding = true 
) [protected, inherited]

Replaces by cell the cell with the same connector.

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

Scan2* concepts::MutableMesh2::scan ( ) [inline, virtual, inherited]

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

Several internal boundaries given by edges in 2D.

Definition at line 139 of file mesh.hh.

Maps from vertices to connectors.

Definition at line 53 of file mutableMesh.hh.

Outer boundary given by edges in 2D.

Definition at line 137 of file mesh.hh.

Stored cells.

Definition at line 46 of file mutableMesh.hh.

Stored connectors.

Definition at line 48 of file mutableMesh.hh.

Definition at line 49 of file mutableMesh.hh.

Definition at line 50 of file mutableMesh.hh.

Definition at line 51 of file mutableMesh.hh.


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

Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)