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

Classes | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
concepts::ThinSheetEdges Class Reference

#include <asympEdges.hh>

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

List of all members.

Classes

class  List

Public Member Functions

Z2 edgeDirection (const Connector1 *edge) const
 Returns the direction of an edge in in relation to sheet direction.
bool exists (const Connector1 *edge) const
 Return true, if the edge is at one of the sheets.
bool exists (const Connector2 *cell, const uint i) const
 Return true, if the edge in the cell cell is at one of the sheets.
void rebuild ()
 Rebuilds the information about the thin sheet.
bool takeChildren_ (const Connector1 *edge, Sequence< List >::iterator &i, Sequence< const Connector1 * >::iterator &ie)
 Replace the edge edge by their children in the list of edges in the sheet, if the children are existing.
double thickness (const uint attrib) const
 Returns the thickness of edge with attribute attrib.
 ThinSheetEdges (Mesh2 &msh, const HashMap< double > thickness, const ThinSheetRule &rule)
 Constructor.
Z2 top (const Connector1 *edge)
 Returns where is top of sheet when seeing in edge direction 0 - left cell is top of the sheet 1 - right cell is top of the sheet.
bool top (const Quad *cell, const uint i)
 Return true, if the quadrilateral cell is on the top side its edge i, which is on the sheet.

Protected Member Functions

virtual std::ostream & info (std::ostream &os) const
 Returns information in an output stream.

Private Member Functions

void append_ (const Cell2 &cell, const ThinSheetRule *rule)
 Appends edges in cell, which are on the sheet to the list.
void append_ (const Connector1 *edge, const Z2 top)
 Appends edge to the list.
bool appended_ (const Connector1 *edge) const
 Returns true, is already appended to the list.
bool fitToList_ (const Connector1 *edge, const Z2 top, const List &list, uint &vidx, bool &front)
 Returns true, if the edge fits to one end of a list of edges.

Private Attributes

HashMap< Z2edgeDirection_
 Map from edge key to its direction in relation to sheet direction.
Sequence< Listedges_
 List of sheets, where each sheets consists of a list of edges.
HashMap< uint > edgeToList_
 Map from edge key to an entree in list of sheets.
HashMap< double > thickness_
 Map from attributes to thickness.

Detailed Description

Definition at line 156 of file asympEdges.hh.


Constructor & Destructor Documentation

concepts::ThinSheetEdges::ThinSheetEdges ( Mesh2 msh,
const HashMap< double >  thickness,
const ThinSheetRule rule 
)

Constructor.


Member Function Documentation

void concepts::ThinSheetEdges::append_ ( const Cell2 cell,
const ThinSheetRule rule 
) [private]

Appends edges in cell, which are on the sheet to the list.

void concepts::ThinSheetEdges::append_ ( const Connector1 edge,
const Z2  top 
) [private]

Appends edge to the list.

bool concepts::ThinSheetEdges::appended_ ( const Connector1 edge) const [private]

Returns true, is already appended to the list.

Z2 concepts::ThinSheetEdges::edgeDirection ( const Connector1 edge) const

Returns the direction of an edge in in relation to sheet direction.

0 - not in sheet direction 1 - in sheet direction

bool concepts::ThinSheetEdges::exists ( const Connector2 cell,
const uint  i 
) const

Return true, if the edge in the cell cell is at one of the sheets.

bool concepts::ThinSheetEdges::exists ( const Connector1 edge) const

Return true, if the edge is at one of the sheets.

bool concepts::ThinSheetEdges::fitToList_ ( const Connector1 edge,
const Z2  top,
const List list,
uint &  vidx,
bool &  front 
) [private]

Returns true, if the edge fits to one end of a list of edges.

Parameters:
vidxIndex of vertex in this edge, which fits to the list.
frontTrue, if the edge fits to the first edge in the list.
virtual std::ostream& concepts::ThinSheetEdges::info ( std::ostream &  os) const [protected, virtual]

Returns information in an output stream.

Reimplemented from concepts::OutputOperator.

void concepts::ThinSheetEdges::rebuild ( )

Rebuilds the information about the thin sheet.

bool concepts::ThinSheetEdges::takeChildren_ ( const Connector1 edge,
Sequence< List >::iterator &  i,
Sequence< const Connector1 * >::iterator &  ie 
)

Replace the edge edge by their children in the list of edges in the sheet, if the children are existing.

Take over the edge direction information.

double concepts::ThinSheetEdges::thickness ( const uint  attrib) const

Returns the thickness of edge with attribute attrib.

Z2 concepts::ThinSheetEdges::top ( const Connector1 edge)

Returns where is top of sheet when seeing in edge direction 0 - left cell is top of the sheet 1 - right cell is top of the sheet.

bool concepts::ThinSheetEdges::top ( const Quad cell,
const uint  i 
)

Return true, if the quadrilateral cell is on the top side its edge i, which is on the sheet.

One has to check this with the method exists().


Member Data Documentation

Map from edge key to its direction in relation to sheet direction.

0 - not in sheet direction 1 - in sheet direction

Definition at line 223 of file asympEdges.hh.

List of sheets, where each sheets consists of a list of edges.

In each sheet the first vertex is the 0th vertex of the first edge, if its direction is 0, and the 1st vertex, if its direction is 1. The last vertex is the 0th vertex of the last edge, if its direction 1, the 1st vertex, if its direction is 0.

Definition at line 233 of file asympEdges.hh.

Map from edge key to an entree in list of sheets.

Definition at line 218 of file asympEdges.hh.

Map from attributes to thickness.

Definition at line 216 of file asympEdges.hh.


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

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