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