GemaMesh
The GeMA Mesh Plugin
Loading...
Searching...
No Matches
UibhmSolidQuery< Geometry > Class Template Reference

The UibhmQuery especialization for solid meshes. More...

#include <uibhmQuery.h>

Inheritance diagram for UibhmSolidQuery< Geometry >:
Collaboration diagram for UibhmSolidQuery< Geometry >:

Public Member Functions

 UibhmSolidQuery (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
 
virtual void edgeAdjacentCells (int node1, int node2, QVector< GmCell * > &list) const
 
virtual void edgeAdjacentCells (int node1, int node2, QVector< const GmCell * > &list) const
 
virtual void edgeAdjacentCells (size_t encodedEdge, QVector< GmCell * > &list) const
 
virtual void edgeAdjacentCells (size_t encodedEdge, QVector< const GmCell * > &list) const
 
virtual GmCellfirstBorderCurveEdge (int borderCurveIndex, int *edgeIndex) const
 
virtual GmCellnextBorderCurveEdge (const GmCell *cell, int edgeIndex, int *nextEdgeIndex) const
 
virtual void * borderTraverseStart (int borderId) const
 
virtual GmCellborderTraverseNext (void *context, int *nextSideIndex) const
 
virtual void borderTraverseEnd (void *context) const
 
- Public Member Functions inherited from UibhmQuery< Geometry >
 UibhmQuery (UibhmTopology< Geometry > *topology)
 Constructor.
 
virtual bool hasElementsWithoutTopology () const
 
virtual GmCelladjacentCell (const GmCell *cell, int sideIndex, int *adjSideIndex=NULL) const
 
virtual bool isBorderNode (int nodeIndex) const
 
virtual int numBorders () const
 
virtual int borderIndex (const GmCell *cell, int sideIndex) 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
 
- Public Member Functions inherited from GmCellMeshTopology

Private Member Functions

template<class QueryF >
bool traverseCells (int nodeIndex, int cellId, QueryF f) const
 A helper function containing the common cell traversal code for both nodeAdjacentNodes() and nodeAdjacentCells(). Calls the provided query function to effectively fill the result list. nodeIndex is the original query node and cellId a cell containing nodeIndex as returned by _VH.
 
template<class QueryF >
bool traverseAroundFlowNode (int nodeIndex, QueryF f) const
 Special function to traverse the cells around a flow node (extra dof node on aperture edges for some interface elements).
 
template<class QueryF >
void traverseEdgeAdjacentCellsByNodeQuery (int v1, int v2, QueryF f) const
 Searches for the cells containing edge v1 <---> v2 by first querying for the cells that contain v1 and then, for each one, look if we can find a face that contains a "v1 <---> v2" edge. For each cell, calls f(cellId, faceId). If f returns true, the traversal continues with the next cell. If false, it ends.
 
bool edgeAdjacentCells (HalfSide hf, int v1, int v2, QVector< GmCell * > &list) const
 Work-horse for both version of exported edgeAdjacentCells(). Assumes that hf includes the desired edge and that edge has v1 and v2 as vertices. Also assumes that the list is empty.
 

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 UibhmSolidQuery< Geometry >

The UibhmQuery especialization for solid meshes.

Member Function Documentation

◆ borderTraverseEnd()

template<class Geometry >
void UibhmSolidQuery< Geometry >::borderTraverseEnd ( void * context) const
virtual

Implements GmCellMeshTopology.

◆ borderTraverseNext()

template<class Geometry >
GmCell * UibhmSolidQuery< Geometry >::borderTraverseNext ( void * context,
int * nextSideIndex ) const
virtual

Implements GmCellMeshTopology.

◆ borderTraverseStart()

template<class Geometry >
void * UibhmSolidQuery< Geometry >::borderTraverseStart ( int borderId) const
virtual

Implements GmCellMeshTopology.

◆ edgeAdjacentCells() [1/4]

template<class Geometry >
virtual void UibhmSolidQuery< Geometry >::edgeAdjacentCells ( const GmCell * cell,
int edgeIndex,
QVector< const GmCell * > & list ) const
inlinevirtual

Implements GmCellMeshTopology.

◆ edgeAdjacentCells() [2/4]

template<class Geometry >
void UibhmSolidQuery< Geometry >::edgeAdjacentCells ( const GmCell * cell,
int edgeIndex,
QVector< GmCell * > & list ) const
virtual

Implements GmCellMeshTopology.

◆ edgeAdjacentCells() [3/4]

template<class Geometry >
virtual void UibhmSolidQuery< Geometry >::edgeAdjacentCells ( int node1,
int node2,
QVector< const GmCell * > & list ) const
inlinevirtual

Implements GmCellMeshTopology.

◆ edgeAdjacentCells() [4/4]

template<class Geometry >
virtual void UibhmSolidQuery< Geometry >::edgeAdjacentCells ( int node1,
int node2,
QVector< GmCell * > & list ) const
inlinevirtual

Implements GmCellMeshTopology.

◆ firstBorderCurveEdge()

template<class Geometry >
virtual GmCell * UibhmSolidQuery< Geometry >::firstBorderCurveEdge ( int borderCurveIndex,
int * edgeIndex ) const
inlinevirtual

Implements GmCellMeshTopology.

◆ nextBorderCurveEdge()

template<class Geometry >
virtual GmCell * UibhmSolidQuery< Geometry >::nextBorderCurveEdge ( const GmCell * cell,
int edgeIndex,
int * nextEdgeIndex ) const
inlinevirtual

Implements GmCellMeshTopology.

◆ nodeAdjacentCells() [1/2]

template<class Geometry >
virtual void UibhmSolidQuery< Geometry >::nodeAdjacentCells ( int nodeIndex,
QVector< const GmCell * > & list ) const
inlinevirtual

Implements GmCellMeshTopology.

◆ nodeAdjacentCells() [2/2]

template<class Geometry >
void UibhmSolidQuery< Geometry >::nodeAdjacentCells ( int nodeIndex,
QVector< GmCell * > & list ) const
virtual

Implements GmCellMeshTopology.

◆ nodeAdjacentNodes()

template<class Geometry >
void UibhmSolidQuery< Geometry >::nodeAdjacentNodes ( int nodeIndex,
QueryOptions options,
QVector< int > & list ) const
virtual

Implements GmCellMeshTopology.


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