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)]
179 ^(points[
operator[](2)] - points[
operator[](0)])
194 return maga > 0 ? a/maga :
Zero;
207 return triFace(
operator[](0),
operator[](2),
operator[](1));
222 (opts[
operator[](1)] - opts[
operator[](0)])
229 (opts[
operator[](2)] - opts[
operator[](1)])
236 (npts[
operator[](1)] - npts[
operator[](2)])
252 return this->
tri(points).
inertia(refPt, density);
265 return this->
tri(points).
ray(p, q, alg, dir);
344 return edge(
operator[](n),
operator[](
fcIndex(n)));
pointHit nearestPointClassify(const point &p, const pointField &points, label &nearType, label &nearLabel) const
Return nearest point to face and classify it:
label collapse()
Collapse face by removing duplicate point labels.
A triangle primitive used to calculate face areas 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.
A 1D vector of objects of type <T> with a fixed size <Size>.
triFace reverseFace() const
Return face with reverse direction.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
pointHit ray(const point &p, const vector &q, const pointField &points, const intersection::algorithm=intersection::algorithm::fullRay, const intersection::direction dir=intersection::direction::vector) const
Return point intersection with a ray starting at p,.
const dimensionedScalar b
Wien displacement law constant: default SI units: [m K].
point centre(const pointField &) const
Return centre (centroid)
pointHit nearestPointClassify(const point &p, label &nearType, label &nearLabel) const
Find the nearest point to p on the triangle and classify it:
edgeList edges() const
Return edges in face point ordering,.
vector area(const pointField &) const
Return vector area.
iterator end()
Return an iterator to end traversing the UList.
const dimensionedScalar c
Speed of light in a vacuum.
int edgeDirection(const edge &) const
Return the edge direction on the face.
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.
Useful combination of include files which define Sin, Sout and Serr and the use of IO streams general...
pointHit nearestPoint(const point &p) const
Return nearest point to p on triangle.
An edge is a list of two point labels. The functionality it provides supports the discretisation on a...
scalar mag(const pointField &) const
Return scalar magnitude.
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.
pointField points(const pointField &) const
Return the points corresponding to this face.
triPointRef tri(const pointField &) const
Return the triangle.
tensor inertia(PointRef refPt=vector::zero, scalar density=1.0) const
Return the inertia tensor, with optional reference.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
label fcIndex(const label i) const
Return the forward circular index, i.e. the next index.
label nEdges() const
Return number of edges.
scalar sweptVol(const pointField &oldPoints, const pointField &newPoints) const
Return swept-volume.
pointHit ray(const point &p, const vector &q, const intersection::algorithm=intersection::algorithm::fullRay, const intersection::direction dir=intersection::direction::vector) const
Return point intersection with a ray.
vector normal(const pointField &) const
Return unit normal.
edge faceEdge(const label n) const
Return n-th face edge.
label end() const
Return end vertex label.
pointHit nearestPoint(const point &p, const pointField &points) const
Return nearest point to face.
triangle< point, const point & > triPointRef
void flip()
Flip the face in-place.
dimensioned< scalar > mag(const dimensioned< Type > &)
const doubleScalar e
Elementary charge.
pointHit intersection(const point &p, const vector &q, const intersection::algorithm alg, const scalar tol=0.0) const
Fast intersection with a ray.
tensor inertia(const pointField &, const point &refPt=vector::zero, scalar density=1.0) const
Return the inertia tensor, with optional reference.
bool operator!=(const particle &, const particle &)
label nTriangles() const
Number of triangles after splitting.
label start() const
Return start vertex label.
face triFaceFace() const
Return triangle as a face.