37 (a[0] == b[0] && a[1] == b[1] && a[2] == b[2])
38 || (a[0] == b[1] && a[1] == b[2] && a[2] == b[0])
39 || (a[0] == b[2] && a[1] == b[0] && a[2] == b[1])
47 (a[0] == b[2] && a[1] == b[1] && a[2] == b[0])
48 || (a[0] == b[1] && a[1] == b[0] && a[2] == b[2])
49 || (a[0] == b[0] && a[1] == b[2] && a[2] == b[1])
102 if (
operator[](0) ==
operator[](1) ||
operator[](1) == -1)
107 else if (
operator[](1) ==
operator[](2) ||
operator[](2) == -1)
112 if (
operator[](0) ==
operator[](2))
124 Swap(
operator[](1),
operator[](2));
156 points[
operator[](0)],
157 points[
operator[](1)],
158 points[
operator[](2)]
186 ^(points[
operator[](2)] - points[
operator[](0)])
200 return triFace(
operator[](0),
operator[](2),
operator[](1));
215 (opts[
operator[](1)] - opts[
operator[](0)])
222 (opts[
operator[](2)] - opts[
operator[](1)])
229 (npts[
operator[](1)] - npts[
operator[](2)])
245 return this->
tri(points).
inertia(refPt, density);
258 return this->
tri(points).
ray(p, q, alg, dir);
337 return edge(
operator[](n),
operator[](
fcIndex(n)));
tensor inertia(PointRef refPt=vector::zero, scalar density=1.0) const
Return the inertia tensor, with optional reference.
label end() const
Return end vertex label.
label collapse()
Collapse face by removing duplicate point labels.
A triangle primitive used to calculate face normals and swept volumes.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
A face is a list of labels corresponding to mesh vertices.
const double e
Elementary charge.
A 1D vector of objects of type <T> with a fixed size <Size>.
triFace reverseFace() const
Return face with reverse direction.
tensor inertia(const pointField &, const point &refPt=vector::zero, scalar density=1.0) const
Return the inertia tensor, with optional reference.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
pointHit intersection(const point &p, const vector &q, const pointField &points, const intersection::algorithm alg, const scalar tol=0.0) const
Fast intersection with a ray.
pointHit ray(const point &p, const vector &q, const pointField &points, const intersection::algorithm=intersection::FULL_RAY, const intersection::direction dir=intersection::VECTOR) const
Return point intersection with a ray starting at p,.
scalar sweptVol(const pointField &oldPoints, const pointField &newPoints) const
Return swept-volume.
iterator end()
Return an iterator to end traversing the UList.
scalar mag(const pointField &) const
Magnitude of face area.
vector normal(const pointField &) const
Vector normal; magnitude is equal to area of face.
label nTriangles() const
Number of triangles after splitting.
Useful combination of include files which define Sin, Sout and Serr and the use of IO streams general...
label nEdges() const
Return number of edges.
pointHit nearestPointClassify(const point &p, const pointField &points, label &nearType, label &nearLabel) const
Return nearest point to face and classify it:
An edge is a list of two point labels. The functionality it provides supports the discretisation on a...
const dimensionedScalar b
Wien displacement law constant: default SI units: [m.K].
tmp< fvMatrix< Type > > operator==(const fvMatrix< Type > &, const fvMatrix< Type > &)
label & operator[](const label)
Return element of FixedList.
A triangular face using a FixedList of labels corresponding to mesh vertices.
static int compare(const triFace &, const triFace &)
Compare triFaces.
edgeList edges() const
Return edges in face point ordering,.
edge faceEdge(const label n) const
Return n-th face edge.
label fcIndex(const label i) const
Return the forward circular index, i.e. the next index.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
point centre(const pointField &) const
Return centre (centroid)
label start() const
Return start vertex label.
pointHit ray(const point &p, const vector &q, const intersection::algorithm=intersection::FULL_RAY, const intersection::direction dir=intersection::VECTOR) const
Return point intersection with a ray.
face triFaceFace() const
Return triangle as a face.
pointField points(const pointField &) const
Return the points corresponding to this face.
int edgeDirection(const edge &) const
Return the edge direction on the face.
triPointRef tri(const pointField &) const
Return the triangle.
const dimensionedScalar c
Speed of light in a vacuum.
triangle< point, const point & > triPointRef
void flip()
Flip the face in-place.
dimensioned< scalar > mag(const dimensioned< Type > &)
pointHit intersection(const point &p, const vector &q, const intersection::algorithm alg, const scalar tol=0.0) const
Fast intersection with a ray.
pointHit nearestPoint(const point &p) const
Return nearest point to p on triangle.
bool operator!=(const particle &, const particle &)
pointHit nearestPoint(const point &p, const pointField &points) const
Return nearest point to face.
pointHit nearestPointClassify(const point &p, label &nearType, label &nearLabel) const
Find the nearest point to p on the triangle and classify it: