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