DNDSR 0.2.1
Distributed Numeric Data Structure for CFV
Loading...
Searching...
No Matches
DNDS::Geom::SubEntityQuery Struct Reference

#include <MeshConnectivity.hpp>

Inheritance diagram for DNDS::Geom::SubEntityQuery:
[legend]

Public Attributes

std::function< int(index iParent)> numSubEntities
 Number of sub-entities for parent iParent.
 
std::function< SubEntityDesc(index iParent, int iSub)> describe
 Describe sub-entity iSub of parent iParent.
 
std::function< void(index iParent, int iSub, const std::function< index(int)> &parentNodes, index *out)> extractNodes
 
std::function< bool(index iParent, int iSub, index iCandEntity, index candidateParent, int candidateSub)> matchExtra
 

Detailed Description

User-provided callbacks that describe how to decompose parent entities into sub-entities. This decouples Interpolate from any specific element topology module.

Example: to extract faces from cells, the caller would implement:

Definition at line 554 of file MeshConnectivity.hpp.

Member Data Documentation

◆ describe

std::function<SubEntityDesc(index iParent, int iSub)> DNDS::Geom::SubEntityQuery::describe

Describe sub-entity iSub of parent iParent.

Definition at line 560 of file MeshConnectivity.hpp.

◆ extractNodes

std::function<void(index iParent, int iSub, const std::function<index(int)> &parentNodes, index *out)> DNDS::Geom::SubEntityQuery::extractNodes

Extract node indices of sub-entity iSub from parentNodes into out. Must write exactly desc.nNodes entries starting at out[0]. parentNodes is an indexable range (operator[] returning index).

Definition at line 568 of file MeshConnectivity.hpp.

◆ matchExtra

std::function<bool(index iParent, int iSub, index iCandEntity, index candidateParent, int candidateSub)> DNDS::Geom::SubEntityQuery::matchExtra

Optional extra match predicate for deduplication.

Called after vertex-set match succeeds. If set, must return true for the match to be accepted. Used for periodic meshes to implement the "collaborating" check (uniform XOR of periodic bits).

Parameters
iParentCurrent parent entity index.
iSubCurrent sub-entity index within parent.
iCandEntityIndex of the candidate entity in the result arrays.
candidateParentIndex of the parent that created the candidate entity.
candidateSubSub-entity index that created the candidate entity.
Returns
true if the match is valid, false to reject.

Definition at line 585 of file MeshConnectivity.hpp.

◆ numSubEntities

std::function<int(index iParent)> DNDS::Geom::SubEntityQuery::numSubEntities

Number of sub-entities for parent iParent.

Definition at line 557 of file MeshConnectivity.hpp.


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