36 #ifndef triIntersect_H 37 #define triIntersect_H 50 namespace triIntersect
56 template<
class Po
intField>
67 const FixedList<point, 3>& srcTriPs,
68 const FixedList<vector, 3>& srcTriNs,
69 const label nEdge = 20,
70 const label nNormal = 20,
71 const scalar lNormal = 0.5
78 const Pair<point>& srcPs,
79 const Pair<vector>& srcNs,
88 const Pair<point>& srcPs,
89 const Pair<vector>& srcNs,
91 const bool srcDirection
100 const Pair<point>& tgtPs
110 const Pair<point>& tgtP,
111 const bool tgtDirection
119 const Pair<point>& srcPs,
120 const Pair<vector>& srcNs,
121 const Pair<point>& tgtPs
129 const FixedList<point, 3>& srcPs,
130 const FixedList<vector, 3>& srcNs,
140 const FixedList<Type, 3>& tgtPsis
150 const FixedList<point, 3>& tgtPs
159 const FixedList<Type, 3>& tgtPsis
166 const FixedList<point, 3>& srcPs,
167 const FixedList<vector, 3>& srcNs,
168 const FixedList<bool, 3>& srcOwns,
169 const FixedList<label, 3>& srcTgtPis,
170 const FixedList<point, 3>& tgtPs,
171 const FixedList<bool, 3>& tgtOwns,
172 const FixedList<label, 3>& tgtSrcPis,
173 DynamicList<point>& srcPoints,
174 DynamicList<vector>& srcPointNormals,
175 DynamicList<point>& tgtPoints,
176 DynamicList<location>& pointLocations,
barycentric2D srcTriTgtPointIntersection(const FixedList< point, 3 > &srcPs, const FixedList< vector, 3 > &srcNs, const point &tgtP)
Calculate the intersection of a target point with a source triangle's.
Pair< scalar > srcEdgeTgtEdgeIntersection(const Pair< point > &srcPs, const Pair< vector > &srcNs, const Pair< point > &tgtPs)
Calculate the intersection of a target edge with a source edge's.
FvWallInfoData< WallInfo, label > label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Barycentric2D< scalar > barycentric2D
A scalar version of the templated Barycentric2D.
Class to encapsulate the topology of a point within a triangle intersection.
Unit conversion functions.
scalar srcEdgeTgtPointOffset(const Pair< point > &srcPs, const Pair< vector > &srcNs, const point &tgtP)
Calculate the signed offset of a target point in relation to a projected.
Vector< scalar > vector
A scalar version of the templated Vector.
void intersectTris(const FixedList< point, 3 > &srcPs, const FixedList< vector, 3 > &srcNs, const FixedList< bool, 3 > &srcOwns, const FixedList< label, 3 > &srcTgtPis, const FixedList< point, 3 > &tgtPs, const FixedList< bool, 3 > &tgtOwns, const FixedList< label, 3 > &tgtSrcPis, DynamicList< point > &srcPoints, DynamicList< vector > &srcPointNormals, DynamicList< point > &tgtPoints, DynamicList< location > &pointLocations, const bool debug, const word &writePrefix=word::null)
Construct the intersection of a source triangle's projected volume and a.
void writeTriProjection(const word &name, const FixedList< point, 3 > &srcTriPs, const FixedList< vector, 3 > &srcTriNs, const label nEdge=20, const label nNormal=20, const scalar lNormal=0.5)
Write a VTK file of a triangle projection.
GeometricField< Type, pointPatchField, pointMesh > PointField
scalar srcPointTgtEdgeOffset(const point &srcP, const vector &srcN, const Pair< point > &tgtPs)
Calculate the signed offset of a projected source point in relation to a.
static const word null
An empty word.
Type tgtTriInterpolate(const barycentric2D &y, const FixedList< Type, 3 > &tgtPsis)
Use the coordinates obtained from srcPointTgtTriIntersection to interpolate.
word name(const complex &)
Return a string representation of a complex.
Type srcTriInterpolate(const barycentric2D &y, const FixedList< Type, 3 > &tgtPsis)
Use the coordinates obtained from srcTriTgtPointIntersection to interpolate.
barycentric2D srcPointTgtTriIntersection(const point &srcP, const vector &srcN, const FixedList< point, 3 > &tgtPs)
Calculate the intersection of a projected source point with a target.
vector point
Point is a vector.
void writePolygon(const word &name, const PointField &ps)
Write a VTK file of a polygon.