Public Member Functions | |
triSurfacePatchManipulator (const triSurf &surface) | |
Construct from triSurface. More... | |
~triSurfacePatchManipulator () | |
void | detectedSurfaceRegions (VRWGraph &) const |
const triSurf * | surfaceWithPatches (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 triSurf & | surf_ |
const reference to triSurf More... | |
List< direction > | featureEdges_ |
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... | |
Definition at line 52 of file triSurfacePatchManipulator.H.
|
private |
Disallow default bitwise copy construct.
triSurfacePatchManipulator | ( | const triSurf & | surface | ) |
Construct from triSurface.
Definition at line 42 of file triSurfacePatchManipulator.C.
References triSurfacePatchManipulator::allocateFeatureEdges(), and triSurfacePatchManipulator::createPatches().
Definition at line 56 of file triSurfacePatchManipulator.C.
|
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().
|
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().
|
private |
Disallow default bitwise assignment.
void detectedSurfaceRegions | ( | VRWGraph & | graph | ) | const |
Definition at line 62 of file triSurfacePatchManipulator.C.
References forAll.
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().
|
private |
const reference to triSurf
Definition at line 56 of file triSurfacePatchManipulator.H.
Referenced by triSurfacePatchManipulator::allocateFeatureEdges(), and triSurfacePatchManipulator::createPatches().
detected feature edges
Definition at line 59 of file triSurfacePatchManipulator.H.
Referenced by triSurfacePatchManipulator::allocateFeatureEdges(), and triSurfacePatchManipulator::createPatches().
|
private |
surface patches
Definition at line 62 of file triSurfacePatchManipulator.H.
Referenced by triSurfacePatchManipulator::createPatches().
|
private |
number of patches
Definition at line 65 of file triSurfacePatchManipulator.H.
Referenced by triSurfacePatchManipulator::createPatches().
|
private |
patch names
Definition at line 68 of file triSurfacePatchManipulator.H.
|
private |
patch types
Definition at line 71 of file triSurfacePatchManipulator.H.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.