GemaMesh
The GeMA Mesh Plugin
Public Member Functions | Private Member Functions | List of all members
UibhmSurfaceQuery< Geometry > Class Template Reference

The UibhmQuery especialization for surface meshes. More...

#include <uibhmQuery.h>

Inheritance diagram for UibhmSurfaceQuery< Geometry >:
Inheritance graph
[legend]
Collaboration diagram for UibhmSurfaceQuery< Geometry >:
Collaboration graph
[legend]

Public Member Functions

 UibhmSurfaceQuery (UibhmTopology< Geometry > *topology)
 Constructor.
 
virtual void nodeAdjacentNodes (int nodeIndex, QueryOptions options, QVector< int > &list) const
 
virtual void nodeAdjacentCells (int nodeIndex, QVector< GmCell * > &list) const
 
virtual void nodeAdjacentCells (int nodeIndex, QVector< const GmCell * > &list) const
 
virtual void edgeAdjacentCells (const GmCell *cell, int edgeIndex, QVector< GmCell * > &list) const
 
virtual void edgeAdjacentCells (const GmCell *cell, int edgeIndex, QVector< const GmCell * > &list) const
 
- Public Member Functions inherited from UibhmQuery< Geometry >
 UibhmQuery (UibhmTopology< Geometry > *topology)
 Constructor.
 
virtual GmCelladjacentCell (const GmCell *cell, int sideIndex, int *adjSideIndex=NULL) const
 
virtual bool isBorderNode (int nodeIndex) const
 
virtual void printParameters (const GmLogCategory &logger, GmLogLevel level) const
 
virtual void print (const GmLogCategory &logger, GmLogLevel level) const
 
virtual size_t printMemoryStatistics (const GmLogCategory &logger, GmLogLevel level) const
 
virtual size_t usedMemory () const
 

Private Member Functions

template<class VertexF , class QuadF >
void heStar (int node, VertexF vf, QuadF qf, bool addBorder) const
 Helper function used to traverse the set of outgoing half-edges from the given node, calling vf(he, incoming) for each one. The called function can then process the half-edge accordingly (adding its start node or cell to a result list, for example). More...
 

Additional Inherited Members

- Public Types inherited from UibhmQuery< Geometry >
using Topology = UibhmTopology< Geometry >
 
using HalfSide = typename Topology::HalfSide
 
- Public Types inherited from GmCellMeshTopology
enum  QueryOptions
 
- Public Attributes inherited from GmCellMeshTopology
 QSTAR
 
- Protected Attributes inherited from UibhmQuery< Geometry >
UibhmTopology< Geometry > * _t
 

Detailed Description

template<class Geometry>
class UibhmSurfaceQuery< Geometry >

The UibhmQuery especialization for surface meshes.

Member Function Documentation

◆ heStar()

template<class Geometry >
template<class VertexF , class QuadF >
void UibhmSurfaceQuery< Geometry >::heStar ( int  node,
VertexF  vf,
QuadF  qf,
bool  addBorder 
) const
private

Helper function used to traverse the set of outgoing half-edges from the given node, calling vf(he, incoming) for each one. The called function can then process the half-edge accordingly (adding its start node or cell to a result list, for example).

The addBorder flag states that if the traversal loop ends in a border, that incoming half-edge should also be processed through vf(). In that case, the incoming flag in th call to vf() will be set to true.

For nodes that only belong to strange elements, returns without any further processing. For other nodes (quadratic), calls qf(he, mid) once. Keep in mind that this can be a mid surface node and in this case he will store the element id only and the mid flag in the call to qf() will be set to true. It also handles special additional dof nodes for interface elements.


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