Go to the documentation of this file.
51 removePatch[patchI] =
true;
57 if( removePatch[
surf_[triI].region()] )
58 removeFacet[triI] =
true;
74 forAll(containedFacets, cfI)
75 removeFacet[containedFacets[cfI]] =
true;
90 label pointCounter(0), facetCounter(0);
94 if( removeFacet[triI] )
101 if( newPointLabel[tri[pI]] == -1 )
102 newPointLabel[tri[pI]] = pointCounter++;
105 newFacetLabel[triI] = facetCounter++;
112 if( newPointLabel[pI] < 0 )
115 newPts[newPointLabel[pI]] =
points[pI];
124 forAll(newFacetLabel, triI)
126 if( newFacetLabel[triI] < 0 )
131 newFacets[newFacetLabel[triI]] =
134 newPointLabel[tri[0]],
135 newPointLabel[tri[1]],
136 newPointLabel[tri[2]],
150 label edgeCounter(0);
155 const edge&
e = featureEdges[feI];
157 if( (newPointLabel[
e.start()] < 0) || (newPointLabel[
e.end()] < 0) )
164 const label eJ = pointEdges(
e.start(), peI);
176 bool foundTriangle(
false);
179 if( newFacetLabel[edgeFacets(eI, efI)] >= 0 )
181 foundTriangle =
true;
188 newFeatureEdgeLabel[feI] = edgeCounter++;
192 forAll(newFeatureEdgeLabel, eI)
194 if( newFeatureEdgeLabel[eI] < 0 )
197 const edge&
e = featureEdges[eI];
199 newFeatureEdges[newFeatureEdgeLabel[eI]] =
202 newPointLabel[
e.start()],
203 newPointLabel[
e.end()]
A class for handling words, derived from string.
#define forAll(list, i)
Loop across all elements in list.
const pointField & points() const
access to points
void markFacetsForRemoval(boolList &) const
remove facets in selected patches/subsets
void updatePointSubsets(const ListType &)
An edge is a list of two point labels. The functionality it provides supports the discretisation on a...
label size() const
Size of the active part of the list.
const edgeLongList & featureEdges() const
access to feature edges
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Pre-declare SubField and related Field type.
pointField & pointsAccess()
non-const access to points
const geometricSurfacePatchList & patches() const
access to patches
void transfer(LongList< T, Offset > &)
transfer the list from another one without allocating it
LongList< labelledTri > & facetsAccess()
access to facets
#define forAllRow(graph, rowI, index)
void removeFacets()
perform removal of selected facets
const double e
Elementary charge.
void updateEdgeSubsets(const ListType &)
void setSize(const label)
Reset size of List.
edgeLongList & featureEdgesAccess()
non-const access to feature edges
void facetSubsetIndices(DynList< label > &) const
label size() const
return the number of triangles
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
const LongList< edge > & edges() const
return edges
Triangle with additional region number.
void updateFacetsSubsets(const ListType &)
word facetSubsetName(const label) const
void facetsInSubset(const label, ListType &) const
const VRWGraph & edgeFacets() const
return edge-facets addressing
const VRWGraph & pointEdges() const
return point-edges addressing
DynList< word > selectedEntities_
patches/subsets for removal
triSurf & surf_
reference to triSurf