Go to the documentation of this file.
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));
144 f[0] = operator[](0);
145 f[1] = operator[](1);
146 f[2] = operator[](2);
200 return triFace(
operator[](0),
operator[](2),
operator[](1));
213 (npts[operator[](0)] - opts[operator[](0)])
215 (opts[
operator[](1)] - opts[
operator[](0)])
216 ^ (opts[operator[](2)] - opts[operator[](0)])
220 (npts[
operator[](1)] - opts[operator[](1)])
222 (opts[
operator[](2)] - opts[
operator[](1)])
223 ^ (npts[operator[](0)] - opts[operator[](1)])
227 (opts[
operator[](2)] - npts[operator[](2)])
229 (npts[
operator[](1)] - npts[
operator[](2)])
230 ^ (npts[operator[](0)] - npts[operator[](2)])
245 return this->tri(
points).inertia(refPt, density);
258 return this->tri(
points).ray(
p, q, alg, dir);
272 return this->tri(
points).intersection(
p, q, alg, tol);
296 return this->tri(
points).nearestPoint(
p);
308 return this->tri(
points).nearestPointClassify(
p, nearType, nearLabel);
322 e[0].start() = operator[](0);
323 e[0].end() = operator[](1);
325 e[1].start() = operator[](1);
326 e[1].end() = operator[](2);
328 e[2].start() = operator[](2);
329 e[2].end() = operator[](0);
337 return edge(
operator[](
n),
operator[](fcIndex(
n)));
349 (
operator[](0) ==
e.start() &&
operator[](1) ==
e.end())
350 || (
operator[](1) ==
e.start() &&
operator[](2) ==
e.end())
351 || (
operator[](2) ==
e.start() &&
operator[](0) ==
e.end())
358 (
operator[](0) ==
e.end() &&
operator[](1) ==
e.start())
359 || (
operator[](1) ==
e.end() &&
operator[](2) ==
e.start())
360 || (
operator[](2) ==
e.end() &&
operator[](0) ==
e.start())
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.
Templated 3D tensor derived from VectorSpace adding construction from 9 components,...
vector normal(const pointField &) const
Vector normal; magnitude is equal to area of face.
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...
This class describes the interaction of a face and a point. It carries the info of a successful hit a...
point centre(const pointField &) const
Return centre (centroid)
An edge is a list of two point labels. The functionality it provides supports the discretisation on a...
face triFaceFace() const
Return triangle as a face.
tmp< fvMatrix< Type > > operator==(const fvMatrix< Type > &, const fvMatrix< Type > &)
dimensioned< scalar > mag(const dimensioned< Type > &)
void flip()
Flip the face in-place.
label collapse()
Collapse face by removing duplicate point labels.
A triangle primitive used to calculate face normals and swept volumes.
scalar mag(const pointField &) const
Magnitude of face area.
pointField points(const pointField &) const
Return the points corresponding to this 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.
const dimensionedScalar b
Wien displacement law constant: default SI units: [m.K].
Pre-declare SubField and related Field type.
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.
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 &)
const double e
Elementary charge.
static int compare(const triFace &, const triFace &)
Compare triFaces.
scalar sweptVol(const pointField &oldPoints, const pointField &newPoints) const
Return swept-volume.
tensor inertia(const pointField &, const point &refPt=vector::zero, scalar density=1.0) const
Return the inertia tensor, with optional reference.
triPointRef tri(const pointField &) const
Return the triangle.
A triangular face using a FixedList of labels corresponding to mesh vertices.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
A 1D vector of objects of type <T> with a fixed size <Size>.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
const dimensionedScalar c
Speed of light in a vacuum.
pointHit nearestPoint(const point &p, const pointField &points) const
Return nearest point to face.
A face is a list of labels corresponding to mesh vertices.
int edgeDirection(const edge &) const
Return the edge direction on the face.
pointHit nearestPointClassify(const point &p, const pointField &points, label &nearType, label &nearLabel) const
Return nearest point to face and classify it:
label nTriangles() const
Number of triangles after splitting.
label nEdges() const
Return number of edges.
A normal distribution model.
triangle< point, const point & > triPointRef