Go to the documentation of this file.
68 #ifndef surfaceIntersection_H
69 #define surfaceIntersection_H
86 class triSurfaceSearch;
88 class edgeIntersections;
102 class surfaceIntersection
134 label warnDegenerate_;
178 static scalar minEdgeLen(
const triSurface& surf,
const label pointi);
200 void writeIntersectedEdges
209 static label classify
211 const scalar startTol,
220 void storeIntersection
226 const label cutPointId,
const labelListList & surf2EdgeCuts() const
List of cut points on edges of surface2.
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
An edge is a list of two point labels. The functionality it provides supports the discretisation on a...
intersectionType
Surface intersection types for classify, doCutEdges.
surfaceIntersection()
Construct null.
const labelPairLookup & facePairToEdgeId() const
Lookup of pairs of faces to created edges.
ClassName("surfaceIntersection")
EdgeMap< labelPairHashSet > edgelabelPairHashLookup
Map from edge back to all parents (pairs of faces)
Helper class to search on triSurface.
void mergeEdges()
Merge duplicate edges.
static const dictionary null
An empty dictionary, which is also the parent for all dictionaries.
const labelListList & surf1EdgeCuts() const
List of cut points on edges of surface1.
This class describes the interaction of (usually) a face and a point. It carries the info of a succes...
A HashTable to objects of type <T> with a labelPair key. The hashing is based on labelPair (FixedList...
Basic surface-surface intersection description. Constructed from two surfaces it creates a descriptio...
Triangulated surface description with patch information.
None = invalid (for input only)
const pointField & cutPoints() const
The list of cut points.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
const edgeList & cutEdges() const
The list of created edges.
A HashTable similar to std::unordered_map.
Map from edge (expressed as its endpoints) to value. For easier forward declaration it is currently i...
Self-intersection, region-wise only.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
const dimensionedScalar e
Elementary charge.
LabelPairMap< edge > labelPairEdgeLookup
Key is non-commutative pair of labels. Value is commutative pair of labels.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
void mergePoints(const scalar mergeDist)
Geometric merge points (points within mergeDist) prior to.
Holder of intersections of edges of a surface with another surface. Optionally shuffles around points...
const labelListList & edgeCuts(const bool isFirstSurf) const
Access either surf1EdgeCuts (isFirstSurface = true) or.
static const Enum< intersectionType > selfIntersectionNames
The user-selectable self-intersection enumeration names.