A triangle primitive used to calculate face normals and swept volumes. More...
Classes | |
class | dummyOp |
class | storeOp |
class | sumAreaOp |
Public Types | |
enum | proxType { NONE = 0, POINT, EDGE } |
typedef Point | point_type |
typedef FixedList< triPoints, 27 > | triIntersectionList |
Public Member Functions | |
triangle (const Point &a, const Point &b, const Point &c) | |
triangle (const FixedList< Point, 3 > &tri) | |
triangle (const UList< Point > &points, const FixedList< label, 3 > &indices) | |
triangle (Istream &is) | |
const Point & | a () const |
const Point & | b () const |
const Point & | c () const |
Point | centre () const |
vector | areaNormal () const |
vector | unitNormal () const |
FOAM_DEPRECATED_FOR (2018-12, "areaNormal() or unitNormal()") vector normal() const | |
scalar | mag () const |
Point | circumCentre () const |
scalar | circumRadius () const |
scalar | quality () const |
scalar | sweptVol (const triangle &t) const |
tensor | inertia (PointRef refPt=Zero, scalar density=1.0) const |
Point | randomPoint (Random &rndGen) const |
Point | barycentricToPoint (const barycentric2D &bary) const |
barycentric2D | pointToBarycentric (const point &pt) const |
scalar | pointToBarycentric (const point &pt, barycentric2D &bary) const |
pointHit | ray (const point &p, const vector &q, const intersection::algorithm=intersection::FULL_RAY, const intersection::direction dir=intersection::VECTOR) const |
pointHit | intersection (const point &p, const vector &q, const intersection::algorithm alg, const scalar tol=0.0) const |
pointHit | nearestPointClassify (const point &p, label &nearType, label &nearLabel) const |
pointHit | nearestPoint (const point &p) const |
bool | classify (const point &p, label &nearType, label &nearLabel) const |
pointHit | nearestPoint (const linePointRef &edge, pointHit &edgePoint) const |
int | sign (const point &p, const scalar tol=SMALL) const |
template<class AboveOp , class BelowOp > | |
void | sliceWithPlane (const plane &pln, AboveOp &aboveOp, BelowOp &belowOp) const |
template<class InsideOp , class OutsideOp > | |
void | triangleOverlap (const vector &n, const triangle< Point, PointRef > &tri, InsideOp &insideOp, OutsideOp &outsideOp) const |
Friends | |
Istream & | operator>> (Istream &, triangle &) |
Ostream & | operator (Ostream &, const triangle &) |
A triangle primitive used to calculate face normals and swept volumes.
Definition at line 55 of file triangle.H.
typedef Point point_type |
Definition at line 84 of file triangle.H.
typedef FixedList<triPoints, 27> triIntersectionList |
Definition at line 88 of file triangle.H.
enum proxType |
Enumerator | |
---|---|
NONE | Unknown proximity. |
POINT | Close to point. |
EDGE | Close to edge. |
Definition at line 91 of file triangle.H.
Definition at line 31 of file triangleI.H.
Definition at line 45 of file triangleI.H.
Definition at line 57 of file triangleI.H.
Definition at line 70 of file triangleI.H.
|
inline |
Definition at line 79 of file triangleI.H.
Referenced by triSurfaceTools::calcInterpolationWeights(), offsetSurface::operator()(), lumpedPointMovement::setInterpolator(), and triangle::triangleOverlap().
|
inline |
Definition at line 85 of file triangleI.H.
Referenced by triSurfaceTools::calcInterpolationWeights(), offsetSurface::operator()(), lumpedPointMovement::setInterpolator(), and triangle::triangleOverlap().
|
inline |
Definition at line 91 of file triangleI.H.
Referenced by triSurfaceTools::calcInterpolationWeights(), offsetSurface::operator()(), lumpedPointMovement::setInterpolator(), and triangle::triangleOverlap().
|
inline |
Definition at line 98 of file triangleI.H.
Referenced by momentOfInertia::massPropertiesShell(), polyMesh::pointInCell(), and wallBoundedStreamLine::pushIn().
|
inline |
Definition at line 105 of file triangleI.H.
Referenced by primitiveMeshGeometry::checkFaceTwist(), polyMeshGeometry::checkFaceTwist(), polyMeshGeometry::checkTriangleTwist(), triangle::FOAM_DEPRECATED_FOR(), polyMesh::pointInCell(), tetrahedron::Sa(), tetrahedron::Sb(), tetrahedron::Sc(), and tetrahedron::Sd().
|
inline |
Definition at line 112 of file triangleI.H.
References Foam::mag(), n, s, and Foam::Zero.
|
inline |
Definition at line 213 of file triangle.H.
References triangle::areaNormal().
|
inline |
Definition at line 121 of file triangleI.H.
References Foam::mag().
Referenced by pointLinear< Type >::correction(), FreeStream< CloudType >::inflow(), momentOfInertia::massPropertiesShell(), and triangle::sumAreaOp::operator()().
|
inline |
Definition at line 128 of file triangleI.H.
References Foam::constant::universal::c, Foam::constant::physicoChemical::c1, Foam::constant::physicoChemical::c2, and Foam::mag().
Referenced by Foam::edgeMeshTools::featureProximity().
|
inline |
Definition at line 155 of file triangleI.H.
References Foam::mag(), Foam::max(), Foam::min(), and Foam::sqrt().
Referenced by Foam::edgeMeshTools::featureProximity().
|
inline |
Definition at line 176 of file triangleI.H.
References Foam::constant::universal::c, Foam::mag(), Foam::sqr(), and Foam::sqrt().
|
inline |
Definition at line 192 of file triangleI.H.
|
inline |
Definition at line 211 of file triangleI.H.
References Foam::I, Foam::mag(), and Tensor::T().
Definition at line 247 of file triangleI.H.
References Foam::barycentric2D01(), and rndGen.
Referenced by FreeStream< CloudType >::inflow(), and patchInjectionBase::setPositionAndCell().
|
inline |
Definition at line 255 of file triangleI.H.
|
inline |
Definition at line 265 of file triangleI.H.
Referenced by cellPointWeight::findTriangle(), offsetSurface::operator()(), and lumpedPointMovement::setInterpolator().
|
inline |
Definition at line 277 of file triangleI.H.
References Foam::mag().
|
inline |
Definition at line 316 of file triangleI.H.
References Foam::fieldTypes::area, PointHit< PointType >::hit(), Foam::mag(), Foam::min(), n, p, PointHit< PointType >::rawPoint(), PointHit< PointType >::setDistance(), PointHit< PointType >::setHit(), PointHit< PointType >::setMiss(), and PointHit< PointType >::setPoint().
|
inline |
Definition at line 432 of file triangleI.H.
References Foam::det(), and Foam::Zero.
Referenced by mappedPatchBase::facePoint(), and triangleFuncs::intersectBb().
Foam::pointHit nearestPointClassify | ( | const point & | p, |
label & | nearType, | ||
label & | nearLabel | ||
) | const |
Definition at line 515 of file triangleI.H.
References cp, Foam::mag(), and p.
Referenced by triSurfaceTools::calcInterpolationWeights(), and face::nearestPointClassify().
|
inline |
Definition at line 664 of file triangleI.H.
References p.
Referenced by wallBoundedStreamLine::findNearestTet(), cellPointWeight::findTriangle(), and tetrahedron::nearestPoint().
Definition at line 678 of file triangleI.H.
References p.
|
inline |
|
inline |
Definition at line 816 of file triangleI.H.
References p.
|
inline |
Definition at line 108 of file triangle.C.
|
inline |
Definition at line 121 of file triangle.C.
References triangle::a(), triangle::b(), triangle::c(), Foam::mag(), n, triangle::storeOp::nTris_, s, and triangle::storeOp::tris_.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.