Go to the documentation of this file.
40 (a[0] ==
b[0] && a[1] ==
b[1] && a[2] ==
b[2])
41 || (a[0] ==
b[1] && a[1] ==
b[2] && a[2] ==
b[0])
42 || (a[0] ==
b[2] && a[1] ==
b[0] && a[2] ==
b[1])
50 (a[0] ==
b[2] && a[1] ==
b[1] && a[2] ==
b[0])
51 || (a[0] ==
b[1] && a[1] ==
b[0] && a[2] ==
b[2])
52 || (a[0] ==
b[0] && a[1] ==
b[2] && a[2] ==
b[1])
121 if (
operator[](0) ==
operator[](1) ||
operator[](1) == -1)
126 else if (
operator[](1) ==
operator[](2) ||
operator[](2) == -1)
131 if (
operator[](0) ==
operator[](2))
143 Swap(
operator[](1),
operator[](2));
202 return s < ROOTVSMALL ?
Zero :
n/
s;
221 return triFace(
operator[](0),
operator[](2),
operator[](1));
246 (npts[operator[](0)] - opts[operator[](0)])
248 (opts[
operator[](1)] - opts[
operator[](0)])
249 ^ (opts[operator[](2)] - opts[operator[](0)])
253 (npts[
operator[](1)] - opts[operator[](1)])
255 (opts[
operator[](2)] - opts[
operator[](1)])
256 ^ (npts[operator[](0)] - opts[operator[](1)])
260 (opts[
operator[](2)] - npts[operator[](2)])
262 (npts[
operator[](1)] - npts[
operator[](2)])
263 ^ (npts[operator[](0)] - npts[operator[](2)])
278 return this->tri(
points).inertia(refPt, density);
291 return this->tri(
points).ray(
p, q, alg, dir);
305 return this->tri(
points).intersection(
p, q, alg, tol);
329 return this->tri(
points).nearestPoint(
p);
341 return this->tri(
points).nearestPointClassify(
p, nearType, nearLabel);
352 return this->tri(
points).sign(
p, tol);
366 e[0].first() = operator[](0);
367 e[0].second() = operator[](1);
369 e[1].first() = operator[](1);
370 e[1].second() = operator[](2);
372 e[2].first() = operator[](2);
373 e[2].second() = operator[](0);
381 return edge(
operator[](
n),
operator[](fcIndex(
n)));
393 (
operator[](0) ==
e.first() && operator[](1) ==
e.second())
394 || (
operator[](1) ==
e.first() && operator[](2) ==
e.second())
395 || (
operator[](2) ==
e.first() && operator[](0) ==
e.second())
402 (
operator[](0) ==
e.second() && operator[](1) ==
e.first())
403 || (
operator[](1) ==
e.second() && operator[](2) ==
e.first())
404 || (
operator[](2) ==
e.second() && operator[](0) ==
e.first())
tensor inertia(const UList< point > &points, const point &refPt=vector::zero, scalar density=1.0) const
Return the inertia tensor, with optional reference.
triFace reverseFace() const
Return face with reverse direction.
Useful combination of include files which define Sin, Sout and Serr and the use of IO streams general...
gmvFile<< "tracers "<< particles.size()<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().x()<< " ";}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().y()<< " ";}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().z()<< " ";}gmvFile<< nl;forAll(lagrangianScalarNames, i){ word name=lagrangianScalarNames[i];IOField< scalar > s(IOobject(name, runTime.timeName(), cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))
static constexpr const zero Zero
Global zero (0)
vector areaNormal(const UList< point > &points) const
The area normal - with magnitude equal to area of face.
An edge is a list of two point labels. The functionality it provides supports the discretisation on a...
bool found(const label pointLabel) const
Return true if the point label is found in face.
face triFaceFace() const
Return triangle as a face.
label find(const T &val, label pos=0) const
Find index of the first occurrence of the value.
vector unitNormal(const UList< point > &points) const
The unit normal.
void Swap(DynamicList< T, SizeMin1 > &a, DynamicList< T, SizeMin2 > &b)
triPointRef tri(const UList< point > &points) const
Return the triangle.
void flip()
Flip the face in-place.
label collapse()
'Collapse' face by marking duplicate point labels.
Swap arguments as per std::swap, but in Foam namespace.
bool operator!=(const eddy &a, const eddy &b)
A triangle primitive used to calculate face normals and swept volumes.
label which(const label pointLabel) const
Find local index on face for the point label.
pointField points(const UList< point > &points) const
Return the points corresponding to this face.
const dimensionedScalar b
Wien displacement law constant: default SI units: [m.K].
tmp< faMatrix< Type > > operator==(const faMatrix< Type > &, const faMatrix< Type > &)
int sign(const point &p, const UList< point > &points, const scalar tol=SMALL) const
The sign for which side of the face plane the point is on.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
edgeList edges() const
Return edges in face point ordering,.
edge faceEdge(const label n) const
Return n-th face edge.
scalar sweptVol(const UList< point > &opts, const UList< point > &npts) const
Return swept-volume from old-points to new-points.
point centre(const UList< point > &points) const
Return centre (centroid)
pointHit nearestPoint(const point &p, const UList< point > &points) const
Return nearest point to face.
pointHit nearestPointClassify(const point &p, const UList< point > &points, label &nearType, label &nearLabel) const
Return nearest point to face and classify it:
A triangular face using a FixedList of labels corresponding to mesh vertices.
pointHit ray(const point &p, const vector &q, const UList< point > &points, const intersection::algorithm=intersection::FULL_RAY, const intersection::direction dir=intersection::VECTOR) const
Return point intersection with a ray starting at p, in direction q.
scalar mag(const UList< point > &points) const
Magnitude of face area.
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
A 1D vector of objects of type <T> with a fixed length <N>.
pointHit intersection(const point &p, const vector &q, const UList< point > &points, const intersection::algorithm alg, const scalar tol=0.0) const
Fast intersection with a ray.
const dimensionedScalar e
Elementary charge.
const dimensionedScalar c
Speed of light in a vacuum.
int edgeDirection(const edge &e) const
Return the edge direction on the face.
A face is a list of labels corresponding to mesh vertices.
bool found(const T &val, label pos=0) const
True if the value if found in the list.
triFace()
Construct null with invalid point labels (-1)
static int compare(const triFace &a, const triFace &b)
Compare triFaces.
label nTriangles() const
Number of triangles after splitting.
label nEdges() const
Return number of edges.
triangle< point, const point & > triPointRef