Public Member Functions | Private Member Functions | Private Attributes
triSurfacePatchManipulator Class Reference
Collaboration diagram for triSurfacePatchManipulator:
Collaboration graph
[legend]

Public Member Functions

 triSurfacePatchManipulator (const triSurf &surface)
 Construct from triSurface. More...
 
 ~triSurfacePatchManipulator ()
 
void detectedSurfaceRegions (VRWGraph &) const
 
const triSurfsurfaceWithPatches (IOdictionary *meshDictPtr=NULL, const word prefix="patch_", const bool forceOverwrite=false) const
 store regions into subsets with a given prefix More...
 

Private Member Functions

void allocateFeatureEdges ()
 allocate and fill the feature edges list More...
 
void createPatches ()
 create patches bounded by a set of feature edges More...
 
 triSurfacePatchManipulator (const triSurfacePatchManipulator &)
 Disallow default bitwise copy construct. More...
 
void operator= (const triSurfacePatchManipulator &)
 Disallow default bitwise assignment. More...
 

Private Attributes

const triSurfsurf_
 const reference to triSurf More...
 
List< directionfeatureEdges_
 detected feature edges More...
 
labelList facetInPatch_
 surface patches More...
 
label nPatches_
 number of patches More...
 
wordList newPatchNames_
 patch names More...
 
wordList newPatchTypes_
 patch types More...
 

Detailed Description

Definition at line 52 of file triSurfacePatchManipulator.H.

Constructor & Destructor Documentation

◆ triSurfacePatchManipulator() [1/2]

Disallow default bitwise copy construct.

◆ triSurfacePatchManipulator() [2/2]

triSurfacePatchManipulator ( const triSurf surface)

Construct from triSurface.

Definition at line 42 of file triSurfacePatchManipulator.C.

References triSurfacePatchManipulator::allocateFeatureEdges(), and triSurfacePatchManipulator::createPatches().

Here is the call graph for this function:

◆ ~triSurfacePatchManipulator()

Definition at line 56 of file triSurfacePatchManipulator.C.

Member Function Documentation

◆ allocateFeatureEdges()

void allocateFeatureEdges ( )
private

allocate and fill the feature edges list

allocate featureEdges list

Definition at line 43 of file triSurfacePatchManipulatorFunctions.C.

References Foam::e, triSurfAddressing::edges(), triSurfFeatureEdges::featureEdges(), triSurfacePatchManipulator::featureEdges_, forAll, forAllRow, triSurfAddressing::pointEdges(), List::setSize(), LongList< T, Offset >::size(), and triSurfacePatchManipulator::surf_.

Referenced by triSurfacePatchManipulator::triSurfacePatchManipulator().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ createPatches()

void createPatches ( )
private

create patches bounded by a set of feature edges

check if th edges is marked as a feature edge

stop at non-manifold edges

do not overwrite existing patch information

Definition at line 68 of file triSurfacePatchManipulatorFunctions.C.

References LongList< T, Offset >::append(), Foam::constRow, triSurfAddressing::edgeFacets(), Foam::endl(), triSurfAddressing::facetEdges(), triSurfacePatchManipulator::facetInPatch_, triSurfacePatchManipulator::featureEdges_, forAll, Foam::Info, triSurfacePatchManipulator::nPatches_, LongList< T, Offset >::removeLastElement(), List::setSize(), triSurfFacets::size(), LongList< T, Offset >::size(), and triSurfacePatchManipulator::surf_.

Referenced by triSurfacePatchManipulator::triSurfacePatchManipulator().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=()

void operator= ( const triSurfacePatchManipulator )
private

Disallow default bitwise assignment.

◆ detectedSurfaceRegions()

void detectedSurfaceRegions ( VRWGraph graph) const

Definition at line 62 of file triSurfacePatchManipulator.C.

References forAll.

◆ surfaceWithPatches()

const triSurf * surfaceWithPatches ( IOdictionary meshDictPtr = NULL,
const word  prefix = "patch_",
const bool  forceOverwrite = false 
) const

store regions into subsets with a given prefix

collect patch information

create new list of boundary patches

create triangles for the new surface

create and return a new surface mesh

transfer facet subsets

transfer point subsets

create mapping between the patches on the original surface and the renamed patches

find the mapping of patch ids

update the values in meshDict based on the created patches

Definition at line 86 of file triSurfacePatchManipulator.C.

References triSurfFacets::addFacetSubset(), triSurfFacets::addFacetToSubset(), triSurfPoints::addPointSubset(), triSurfPoints::addPointToSubset(), forAll, forAllConstIter(), forAllRow, patchTypes(), labelledTri::region(), Foam::help::scalarToText(), LongList< T, Offset >::size(), and checkMeshDict::updateDictionaries().

Referenced by cartesian2DMeshGenerator::cartesian2DMeshGenerator(), cartesianMeshGenerator::cartesianMeshGenerator(), main(), tetMeshGenerator::tetMeshGenerator(), and voronoiMeshGenerator::voronoiMeshGenerator().

Here is the call graph for this function:
Here is the caller graph for this function:

Field Documentation

◆ surf_

const triSurf& surf_
private

◆ featureEdges_

List<direction> featureEdges_
private

◆ facetInPatch_

labelList facetInPatch_
private

surface patches

Definition at line 62 of file triSurfacePatchManipulator.H.

Referenced by triSurfacePatchManipulator::createPatches().

◆ nPatches_

label nPatches_
private

number of patches

Definition at line 65 of file triSurfacePatchManipulator.H.

Referenced by triSurfacePatchManipulator::createPatches().

◆ newPatchNames_

wordList newPatchNames_
private

patch names

Definition at line 68 of file triSurfacePatchManipulator.H.

◆ newPatchTypes_

wordList newPatchTypes_
private

patch types

Definition at line 71 of file triSurfacePatchManipulator.H.


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