Go to the documentation of this file.
53 # pragma omp parallel for schedule(dynamic, 40)
57 const constRow eFaces = edgeFaces[edgeI];
66 (normals[eFaces[0]] & normals[eFaces[1]]) /
67 (
mag(normals[eFaces[0]]) *
mag(normals[eFaces[1]]) + VSMALL);
78 if( tri0[i] == tri1[j] )
83 if( sharedIndices.
size() == 2 )
85 const labelPair& pair0 = sharedIndices[0];
86 const labelPair& pair1 = sharedIndices[1];
87 if( ((pair0.
first() + 1) % 3) == pair1.
first() )
const vectorField & facetNormals() const
return normals of facets
#define forAll(list, i)
Loop across all elements in list.
Template functions to aid in the implementation of demand driven data.
const Type & first() const
Return first.
dimensioned< scalar > mag(const dimensioned< Type > &)
List< direction > featureEdges_
detected feature edges
void detectFeatureEdgesAngleCriterion()
const typedef graphRow< const VRWGraph > constRow
Pre-declare SubField and related Field type.
const Type & second() const
Return second.
label sizeOfRow(const label rowI) const
Returns the number of elements in the given row.
scalar angleTolerance_
angle tolerance
An ordered pair of two objects of type <T> with first() and second() elements.
Triangle with additional region number.
triSurf & surf_
reference to triSurf
const VRWGraph & edgeFacets() const
return edge-facets addressing
Pair< label > labelPair
Label pair.
void append(const T &e)
Append an element at the end of the list.
dimensionedScalar cos(const dimensionedScalar &ds)