Imports 2D mesh with triangles and quadrilaterals (possibly mixed). More...

#include <meshImport2D.hh>

Inheritance diagram for concepts::Import2dMeshBase:
concepts::Mesh2 concepts::ImportMesh concepts::Mesh concepts::OutputOperator concepts::Import2dMesh concepts::Import2dMeshGeneral

Classes

class  S
 Scanner class for Import2dMesh. More...
 

Public Member Functions

 Import2dMeshBase (const std::string coord, const std::string elms, const uint idxStart=1)
 
virtual uint ncell () const
 Returns the number of cells in the mesh. More...
 
virtual Scan2scan ()
 Returns a scanner over the cells of the mesh. More...
 
virtual ~Import2dMeshBase ()
 

Protected Member Functions

void attributes_ (const std::string boundary)
 Reads attributes from file boundary. More...
 
template<class T >
void clear_ (std::vector< T * > &field)
 Deletes the content of field of pointers. More...
 
virtual void createCell_ (const MultiIndex< 2 > &idx) throw (concepts::MissingFeature)
 Creation of geometrical cells with element mapping. More...
 
virtual void createCell_ (const MultiIndex< 3 > &idx) throw (concepts::MissingFeature)
 Creation of geometrical cells with element mapping. More...
 
virtual void createCell_ (const MultiIndex< 4 > &idx) throw (concepts::MissingFeature)
 
virtual void createCell_ (const MultiIndex< 6 > &idx) throw (concepts::MissingFeature)
 
virtual void createCell_ (const MultiIndex< 8 > &idx) throw (concepts::MissingFeature)
 
virtual void createEntity_ (const MultiIndex< 1 > &idx)
 Creation of topological entities. More...
 
virtual void createEntity_ (const MultiIndex< 2 > &idx)
 
virtual void createEntity_ (const MultiIndex< 3 > &idx) throw (concepts::MissingFeature)
 Creation of topological entities. More...
 
virtual void createEntity_ (const MultiIndex< 4 > &idx) throw (concepts::MissingFeature)
 
virtual void createEntity_ (const MultiIndex< 6 > &idx) throw (concepts::MissingFeature)
 
virtual void createEntity_ (const MultiIndex< 8 > &idx) throw (concepts::MissingFeature)
 
void import_ ()
 Reads and builds the mesh. More...
 
virtual std::ostream & info (std::ostream &os) const
 Returns information in an output stream. More...
 
template<uint dim>
void newCell_ (MultiIndex< dim > i)
 Creates topological entities and a geometrical cell. More...
 
void readAttributes_ (const std::string &bound, const Array< bool > &dimensions)
 
void readCells_ (const std::string &elms, const Array< bool > &dimensions, const std::vector< Real3d > &vertices)
 Reads the file with cell information and creates topological entities and geometrical cells. More...
 
uint readInts_ (const std::string &i, std::vector< int > &v) const
 Reads integers from the string. More...
 
template<class F >
uint readLine_ (const std::string &i, Array< F > &a, bool first=false) const
 Reads line of numbers from the string. More...
 
uint readVertexLine_ (const std::string &i, uint *idx, Real3d *coord) const
 
virtual void readVertices_ ()
 reads the coordinates of the vertices More...
 

Protected Attributes

std::vector< Cell2 * > cell_
 List of cells. More...
 
std::vector< Connector2 * > cntr2_
 List of entities. More...
 
const std::string coord_
 File names of coordinates and cell files. More...
 
uint dim_
 
std::vector< Connector1 * > edg_
 
MultiArray< 2, Edge * > Edg_
 
MultiArray< 8, AttributeeightAttr_
 
const std::string elms_
 
MultiArray< 4, AttributefourAttr_
 
const uint idxStart_
 Starting point of indices in the files (1 or 0) More...
 
MultiArray< 1, AttributeoneAttr_
 Attributes of entities. More...
 
MultiArray< 4, Quad * > Quad_
 
MultiArray< 6, AttributesixAttr_
 
MultiArray< 3, AttributethreeAttr_
 
MultiArray< 3, Triangle * > Tri_
 Array of the entities. More...
 
MultiArray< 2, AttributetwoAttr_
 
std::vector< Real3dvertices_
 Coordinates of the vertices. More...
 
std::vector< Vertex * > vtx_
 List of entities. More...
 
MultiArray< 1, Vertex * > Vtx_
 Array of the entities. More...
 

Detailed Description

Imports 2D mesh with triangles and quadrilaterals (possibly mixed).

The notation for the meshes is used in [1] for instance.

Author
Philipp Frauenfelder, 2002, Kersten Schmidt, 2005
See also
[1] Alberty, Carstensen, Funken, Remarks Around 50 Lines of MATLAB: Finite Element Implementation, 1998
Test:
test::BEMSpaceTest

Definition at line 32 of file meshImport2D.hh.

Constructor & Destructor Documentation

◆ Import2dMeshBase()

concepts::Import2dMeshBase::Import2dMeshBase ( const std::string  coord,
const std::string  elms,
const uint  idxStart = 1 
)

◆ ~Import2dMeshBase()

virtual concepts::Import2dMeshBase::~Import2dMeshBase ( )
virtual

Member Function Documentation

◆ attributes_()

void concepts::Import2dMeshBase::attributes_ ( const std::string  boundary)
protected

Reads attributes from file boundary.

◆ clear_()

template<class T >
void concepts::ImportMesh::clear_ ( std::vector< T * > &  field)
protectedinherited

Deletes the content of field of pointers.

Definition at line 141 of file meshImport.hh.

◆ createCell_() [1/5]

virtual void concepts::ImportMesh::createCell_ ( const MultiIndex< 2 > &  idx)
throw (concepts::MissingFeature
)
protectedvirtualinherited

Creation of geometrical cells with element mapping.

Has to be implemented in derivated classes.

◆ createCell_() [2/5]

virtual void concepts::Import2dMeshBase::createCell_ ( const MultiIndex< 3 > &  idx)
throw (concepts::MissingFeature
)
protectedvirtual

Creation of geometrical cells with element mapping.

Reimplemented from concepts::ImportMesh.

Reimplemented in concepts::Import2dMeshGeneral.

◆ createCell_() [3/5]

virtual void concepts::Import2dMeshBase::createCell_ ( const MultiIndex< 4 > &  idx)
throw (concepts::MissingFeature
)
protectedvirtual

Reimplemented from concepts::ImportMesh.

Reimplemented in concepts::Import2dMeshGeneral.

◆ createCell_() [4/5]

virtual void concepts::ImportMesh::createCell_ ( const MultiIndex< 6 > &  idx)
throw (concepts::MissingFeature
)
protectedvirtualinherited

◆ createCell_() [5/5]

virtual void concepts::ImportMesh::createCell_ ( const MultiIndex< 8 > &  idx)
throw (concepts::MissingFeature
)
protectedvirtualinherited

◆ createEntity_() [1/6]

virtual void concepts::Import2dMeshBase::createEntity_ ( const MultiIndex< 1 > &  idx)
inlineprotectedvirtual

Creation of topological entities.

Reimplemented from concepts::ImportMesh.

Reimplemented in concepts::Import2dMeshGeneral.

Definition at line 62 of file meshImport2D.hh.

◆ createEntity_() [2/6]

virtual void concepts::Import2dMeshBase::createEntity_ ( const MultiIndex< 2 > &  idx)
inlineprotectedvirtual

Reimplemented from concepts::ImportMesh.

Reimplemented in concepts::Import2dMeshGeneral.

Definition at line 64 of file meshImport2D.hh.

◆ createEntity_() [3/6]

virtual void concepts::Import2dMeshBase::createEntity_ ( const MultiIndex< 3 > &  idx)
throw (concepts::MissingFeature
)
protectedvirtual

Creation of topological entities.

Has to be implemented in derivated classes.

Reimplemented from concepts::ImportMesh.

Reimplemented in concepts::Import2dMeshGeneral.

◆ createEntity_() [4/6]

virtual void concepts::Import2dMeshBase::createEntity_ ( const MultiIndex< 4 > &  idx)
throw (concepts::MissingFeature
)
protectedvirtual

Reimplemented from concepts::ImportMesh.

Reimplemented in concepts::Import2dMeshGeneral.

◆ createEntity_() [5/6]

virtual void concepts::ImportMesh::createEntity_ ( const MultiIndex< 6 > &  idx)
throw (concepts::MissingFeature
)
protectedvirtualinherited

◆ createEntity_() [6/6]

virtual void concepts::ImportMesh::createEntity_ ( const MultiIndex< 8 > &  idx)
throw (concepts::MissingFeature
)
protectedvirtualinherited

◆ import_()

void concepts::Import2dMeshBase::import_ ( )
protected

Reads and builds the mesh.

◆ info()

virtual std::ostream& concepts::Import2dMeshBase::info ( std::ostream &  os) const
protectedvirtual

Returns information in an output stream.

Reimplemented from concepts::Mesh.

Reimplemented in concepts::Import2dMeshGeneral, and concepts::Import2dMesh.

◆ ncell()

virtual uint concepts::Import2dMeshBase::ncell ( ) const
inlinevirtual

Returns the number of cells in the mesh.

Implements concepts::Mesh.

Definition at line 37 of file meshImport2D.hh.

◆ newCell_()

template<uint dim>
void concepts::ImportMesh::newCell_ ( MultiIndex< dim >  i)
protectedinherited

Creates topological entities and a geometrical cell.

◆ readAttributes_()

void concepts::ImportMesh::readAttributes_ ( const std::string &  bound,
const Array< bool > &  dimensions 
)
protectedinherited

◆ readCells_()

void concepts::ImportMesh::readCells_ ( const std::string &  elms,
const Array< bool > &  dimensions,
const std::vector< Real3d > &  vertices 
)
protectedinherited

Reads the file with cell information and creates topological entities and geometrical cells.

◆ readInts_()

uint concepts::ImportMesh::readInts_ ( const std::string &  i,
std::vector< int > &  v 
) const
protectedinherited

Reads integers from the string.

Returns
Number of integers read

◆ readLine_()

template<class F >
uint concepts::ImportMesh::readLine_ ( const std::string &  i,
Array< F > &  a,
bool  first = false 
) const
protectedinherited

Reads line of numbers from the string.

Parameters
iString
aresulting array of integers
firstflag, if the first integer should be taken into the array
Returns
Number of integers read

Definition at line 123 of file meshImport.hh.

◆ readVertexLine_()

uint concepts::Import2dMeshBase::readVertexLine_ ( const std::string &  i,
uint *  idx,
Real3d coord 
) const
protected

◆ readVertices_()

virtual void concepts::Import2dMeshBase::readVertices_ ( )
protectedvirtual

reads the coordinates of the vertices

◆ scan()

virtual Scan2* concepts::Import2dMeshBase::scan ( )
virtual

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.

Member Data Documentation

◆ cell_

std::vector<Cell2*> concepts::Import2dMeshBase::cell_
protected

List of cells.

Definition at line 46 of file meshImport2D.hh.

◆ cntr2_

std::vector<Connector2*> concepts::Import2dMeshBase::cntr2_
protected

List of entities.

Definition at line 56 of file meshImport2D.hh.

◆ coord_

const std::string concepts::Import2dMeshBase::coord_
protected

File names of coordinates and cell files.

Definition at line 49 of file meshImport2D.hh.

◆ dim_

uint concepts::Import2dMeshBase::dim_
protected

Definition at line 53 of file meshImport2D.hh.

◆ edg_

std::vector<Connector1*> concepts::ImportMesh::edg_
protectedinherited

Definition at line 47 of file meshImport.hh.

◆ Edg_

MultiArray<2, Edge*> concepts::ImportMesh::Edg_
protectedinherited

Definition at line 50 of file meshImport.hh.

◆ eightAttr_

MultiArray<8, Attribute> concepts::ImportMesh::eightAttr_
protectedinherited

Definition at line 58 of file meshImport.hh.

◆ elms_

const std::string concepts::Import2dMeshBase::elms_
protected

Definition at line 49 of file meshImport2D.hh.

◆ fourAttr_

MultiArray<4, Attribute> concepts::ImportMesh::fourAttr_
protectedinherited

Definition at line 56 of file meshImport.hh.

◆ idxStart_

const uint concepts::ImportMesh::idxStart_
protectedinherited

Starting point of indices in the files (1 or 0)

Definition at line 43 of file meshImport.hh.

◆ oneAttr_

MultiArray<1, Attribute> concepts::ImportMesh::oneAttr_
protectedinherited

Attributes of entities.

Definition at line 53 of file meshImport.hh.

◆ Quad_

MultiArray<4, Quad*> concepts::Import2dMeshBase::Quad_
protected

Definition at line 59 of file meshImport2D.hh.

◆ sixAttr_

MultiArray<6, Attribute> concepts::ImportMesh::sixAttr_
protectedinherited

Definition at line 57 of file meshImport.hh.

◆ threeAttr_

MultiArray<3, Attribute> concepts::ImportMesh::threeAttr_
protectedinherited

Definition at line 55 of file meshImport.hh.

◆ Tri_

MultiArray<3, Triangle*> concepts::Import2dMeshBase::Tri_
protected

Array of the entities.

Definition at line 58 of file meshImport2D.hh.

◆ twoAttr_

MultiArray<2, Attribute> concepts::ImportMesh::twoAttr_
protectedinherited

Definition at line 54 of file meshImport.hh.

◆ vertices_

std::vector<Real3d> concepts::Import2dMeshBase::vertices_
protected

Coordinates of the vertices.

Definition at line 52 of file meshImport2D.hh.

◆ vtx_

std::vector<Vertex*> concepts::ImportMesh::vtx_
protectedinherited

List of entities.

Definition at line 46 of file meshImport.hh.

◆ Vtx_

MultiArray<1, Vertex*> concepts::ImportMesh::Vtx_
protectedinherited

Array of the entities.

Definition at line 49 of file meshImport.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