ENH: new triFace methods to match those in face. FaceType typedef for surface meshes

This commit is contained in:
Mark Olesen
2010-11-26 18:47:08 +01:00
parent 0a17e0719d
commit 6d73c32b04
67 changed files with 437 additions and 240 deletions

View File

@ -618,19 +618,17 @@ Foam::face Foam::face::reverseFace() const
Foam::label Foam::face::which(const label globalIndex) const
{
label pointInFace = -1;
const labelList& f = *this;
forAll(f, i)
forAll(f, localIdx)
{
if (f[i] == globalIndex)
if (f[localIdx] == globalIndex)
{
pointInFace = i;
break;
return localIdx;
}
}
return pointInFace;
return -1;
}
@ -654,9 +652,7 @@ Foam::scalar Foam::face::sweptVol
point nextOldPoint = centreOldPoint;
point nextNewPoint = centreNewPoint;
register label pI;
for (pI = 0; pI < nPoints; pI++)
for (register label pI = 0; pI < nPoints; ++pI)
{
if (pI < nPoints - 1)
{
@ -708,20 +704,18 @@ Foam::tensor Foam::face::inertia
).inertia(refPt, density);
}
point c = centre(p);
const point ctr = centre(p);
tensor J = tensor::zero;
forAll(*this, i)
{
triPointRef t
J += triPointRef
(
p[operator[](i)],
p[operator[](fcIndex(i))],
c
);
J += t.inertia(refPt, density);
ctr
).inertia(refPt, density);
}
return J;
@ -734,9 +728,7 @@ Foam::edgeList Foam::face::edges() const
edgeList e(points.size());
label pointI;
for (pointI = 0; pointI < points.size() - 1; pointI++)
for (label pointI = 0; pointI < points.size() - 1; ++pointI)
{
e[pointI] = edge(points[pointI], points[pointI + 1]);
}
@ -839,9 +831,4 @@ Foam::label Foam::face::trianglesQuads
}
// * * * * * * * * * * * * * * * Friend Operators * * * * * * * * * * * * * //
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// ************************************************************************* //

View File

@ -27,12 +27,16 @@ Class
Description
A face is a list of labels corresponding to mesh vertices.
SeeAlso
Foam::triFace
SourceFiles
faceI.H
face.C
faceIntersection.C
faceContactSphere.C
faceAreaInContact.C
faceTemplates.C
\*---------------------------------------------------------------------------*/
@ -191,6 +195,7 @@ public:
//- Navigation through face vertices
//- Which vertex on face (face index given a global index)
// returns -1 if not found
label which(const label globalIndex) const;
//- Next vertex on face
@ -289,8 +294,8 @@ public:
//- Return number of edges
inline label nEdges() const;
//- Return edges in face point ordering, i.e. edges()[0] is edge
// between [0] and [1]
//- Return edges in face point ordering,
// i.e. edges()[0] is edge between [0] and [1]
edgeList edges() const;
//- Return n-th face edge

View File

@ -35,7 +35,7 @@ inline Foam::label Foam::face::right(const label i) const
// Edge to the left of face vertex i
inline Foam::label Foam::face::left(const label i) const
{
return i ? i-1 : size()-1;
return rcIndex(i);
}

View File

@ -21,9 +21,6 @@ License
You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Description
Return intersection of a line with the face
\*---------------------------------------------------------------------------*/
#include "face.H"
@ -51,6 +48,17 @@ Foam::pointHit Foam::face::ray
const intersection::direction dir
) const
{
// If the face is a triangle, do a direct calculation
if (size() == 3)
{
return triPointRef
(
meshPoints[operator[](0)],
meshPoints[operator[](1)],
meshPoints[operator[](2)]
).ray(p, n, alg, dir);
}
point ctr = Foam::average(points(meshPoints));
scalar nearestHitDist = GREAT;
@ -139,6 +147,17 @@ Foam::pointHit Foam::face::intersection
const scalar tol
) const
{
// If the face is a triangle, do a direct calculation
if (size() == 3)
{
return triPointRef
(
meshPoints[operator[](0)],
meshPoints[operator[](1)],
meshPoints[operator[](2)]
).intersection(p, q, alg, tol);
}
scalar nearestHitDist = VGREAT;
// Initialize to miss, distance = GREAT
@ -198,6 +217,17 @@ Foam::pointHit Foam::face::nearestPointClassify
label& nearLabel
) const
{
// If the face is a triangle, do a direct calculation
if (size() == 3)
{
return triPointRef
(
meshPoints[operator[](0)],
meshPoints[operator[](1)],
meshPoints[operator[](2)]
).nearestPointClassify(p, nearType, nearLabel);
}
const face& f = *this;
point ctr = centre(meshPoints);

View File

@ -50,7 +50,7 @@ template<class Type>
Type Foam::face::average
(
const pointField& meshPoints,
const Field<Type>& f
const Field<Type>& fld
) const
{
// Calculate the average by breaking the face into triangles and
@ -62,9 +62,9 @@ Type Foam::face::average
return
(1.0/3.0)
*(
f[operator[](0)]
+ f[operator[](1)]
+ f[operator[](2)]
fld[operator[](0)]
+ fld[operator[](1)]
+ fld[operator[](2)]
);
}
@ -76,7 +76,7 @@ Type Foam::face::average
for (register label pI=0; pI<nPoints; pI++)
{
centrePoint += meshPoints[operator[](pI)];
cf += f[operator[](pI)];
cf += fld[operator[](pI)];
}
centrePoint /= nPoints;
@ -90,8 +90,8 @@ Type Foam::face::average
// Calculate 3*triangle centre field value
Type ttcf =
(
f[operator[](pI)]
+ f[operator[]((pI + 1) % nPoints)]
fld[operator[](pI)]
+ fld[operator[]((pI + 1) % nPoints)]
+ cf
);
@ -116,4 +116,5 @@ Type Foam::face::average
}
}
// ************************************************************************* //

View File

@ -25,7 +25,7 @@ Class
Foam::oppositeFace
Description
Class containing opposite face for a prismatic cell with addresing
Class containing opposite face for a prismatic cell with addressing
and a possibility of failure.
SourceFiles

View File

@ -25,10 +25,15 @@ Class
Foam::triFace
Description
A triangle face primitive using a FixedList.
A triangular face using a FixedList of labels corresponding to mesh
vertices.
SeeAlso
Foam::face, Foam::triangle
SourceFiles
triFaceI.H
triFaceTemplates.C
\*---------------------------------------------------------------------------*/
@ -47,17 +52,17 @@ SourceFiles
namespace Foam
{
class face;
// Forward declaration of friend functions and operators
class face;
class triFace;
inline bool operator==(const triFace&, const triFace&);
inline bool operator!=(const triFace&, const triFace&);
/*---------------------------------------------------------------------------*\
class triFace Declaration
Class triFace Declaration
\*---------------------------------------------------------------------------*/
class triFace
@ -93,63 +98,109 @@ public:
// return the collapsed size, set collapsed point labels to -1
inline label collapse();
//- Return the points corresponding to this face
inline pointField points(const pointField& meshPoints) const;
//- Return triangle as a face
inline face triFaceFace() const;
//- Return the triangle
inline triPointRef tri(const pointField&) const;
//- Return centre (centroid)
inline point centre(const pointField&) const;
//- Calculate average value at centroid of face
template<class Type>
Type average(const pointField&, const Field<Type>&) const;
//- Return scalar magnitude
inline scalar mag(const pointField&) const;
//- Return vector normal
inline vector normal(const pointField&) const;
//- Number of triangles after splitting
inline label nTriangles() const;
//- Return face with reverse direction
inline triFace reverseFace() const;
//- Return swept-volume
inline scalar sweptVol
(
const pointField& oldPoints,
const pointField& newPoints
) const;
//- Return the inertia tensor, with optional reference
// point and density specification
inline tensor inertia
(
const pointField&,
const point& refPt = vector::zero,
scalar density = 1.0
) const;
//- Return point intersection with a ray starting at p,
// with direction q.
inline pointHit ray
(
const point& p,
const vector& q,
const pointField& points,
const intersection::algorithm = intersection::FULL_RAY,
const intersection::direction dir = intersection::VECTOR
) const;
//- Fast intersection with a ray.
inline pointHit intersection
(
const point& p,
const vector& q,
const pointField& points,
const intersection::algorithm alg,
const scalar tol = 0.0
) const;
//- Return nearest point to face
inline pointHit nearestPoint
(
const point& p,
const pointField& points
) const;
//- Return nearest point to face and classify it:
// + near point (nearType=POINT, nearLabel=0, 1, 2)
// + near edge (nearType=EDGE, nearLabel=0, 1, 2)
// Note: edges are counted from starting vertex so
// e.g. edge n is from f[n] to f[0], where the face has n + 1
// points
inline pointHit nearestPointClassify
(
const point& p,
const pointField& points,
label& nearType,
label& nearLabel
) const;
//- Return number of edges
inline label nEdges() const;
//- Return edges in face point ordering,
// i.e. edges()[0] is edge between [0] and [1]
inline edgeList edges() const;
//- Return n-th face edge
inline edge faceEdge(const label n) const;
//- Return the edge direction on the face
// - +1: forward (counter-clockwise) on the face
// - -1: reverse (clockwise) on the face
// - 0: edge not found on the face
inline int edgeDirection(const edge&) const;
// Properties
//- Return the points corresponding to this face
inline pointField points(const pointField& points) const;
//- Return triangle as a face
inline face triFaceFace() const;
//- Return number of edges
inline label nEdges() const;
//- Return edges
inline edgeList edges() const;
//- Return centre (centroid)
inline point centre(const pointField&) const;
//- Return scalar magnitude
inline scalar mag(const pointField&) const;
//- Return vector normal
inline vector normal(const pointField&) const;
//- Number of triangles after splitting
inline label nTriangles() const;
//- Return face with reverse direction
inline triFace reverseFace() const;
//- Return swept-volume
inline scalar sweptVol
(
const pointField& oldPoints,
const pointField& newPoints
) const;
//- Return point intersection with a ray starting at p, with
// direction n.
inline 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 the triangle
inline triPointRef tri(const pointField&) const;
//- compare triFaces
// - 0: different
// - +1: identical
@ -199,6 +250,10 @@ inline bool contiguous<triFace>() {return true;}
#include "triFaceI.H"
#ifdef NoRepository
# include "triFaceTemplates.C"
#endif
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif

View File

@ -142,57 +142,14 @@ inline Foam::face Foam::triFace::triFaceFace() const
}
inline Foam::label Foam::triFace::nEdges() const
inline Foam::triPointRef Foam::triFace::tri(const pointField& points) const
{
return 3;
}
inline Foam::edgeList Foam::triFace::edges() const
{
edgeList e(3);
e[0].start() = operator[](0);
e[0].end() = operator[](1);
e[1].start() = operator[](1);
e[1].end() = operator[](2);
e[2].start() = operator[](2);
e[2].end() = operator[](0);
return e;
}
// return
// - +1: forward (counter-clockwise) on the face
// - -1: reverse (clockwise) on the face
// - 0: edge not found on the face
inline int Foam::triFace::edgeDirection(const edge& e) const
{
if
return triPointRef
(
(operator[](0) == e.start() && operator[](1) == e.end())
|| (operator[](1) == e.start() && operator[](2) == e.end())
|| (operator[](2) == e.start() && operator[](0) == e.end())
)
{
return 1;
}
else if
(
(operator[](0) == e.end() && operator[](1) == e.start())
|| (operator[](1) == e.end() && operator[](2) == e.start())
|| (operator[](2) == e.end() && operator[](0) == e.start())
)
{
return -1;
}
else
{
return 0;
}
points[operator[](0)],
points[operator[](1)],
points[operator[](2)]
);
}
@ -269,6 +226,18 @@ inline Foam::scalar Foam::triFace::sweptVol
}
Foam::tensor Foam::triFace::inertia
(
const pointField& points,
const point& refPt,
scalar density
) const
{
// a triangle, do a direct calculation
return this->tri(points).inertia(refPt, density);
}
inline Foam::pointHit Foam::triFace::ray
(
const point& p,
@ -278,23 +247,103 @@ inline Foam::pointHit Foam::triFace::ray
const intersection::direction dir
) const
{
return triPointRef
(
points[operator[](0)],
points[operator[](1)],
points[operator[](2)]
).ray(p, q, alg, dir);
return this->tri(points).ray(p, q, alg, dir);
}
inline Foam::triPointRef Foam::triFace::tri(const pointField& points) const
inline Foam::pointHit Foam::triFace::intersection
(
const point& p,
const vector& q,
const pointField& points,
const intersection::algorithm alg,
const scalar tol
) const
{
return triPointRef
return this->tri(points).intersection(p, q, alg, tol);
}
inline Foam::pointHit Foam::triFace::nearestPoint
(
const point& p,
const pointField& points
) const
{
return this->tri(points).nearestPoint(p);
}
inline Foam::pointHit Foam::triFace::nearestPointClassify
(
const point& p,
const pointField& points,
label& nearType,
label& nearLabel
) const
{
return this->tri(points).nearestPointClassify(p, nearType, nearLabel);
}
inline Foam::label Foam::triFace::nEdges() const
{
return 3;
}
inline Foam::edgeList Foam::triFace::edges() const
{
edgeList e(3);
e[0].start() = operator[](0);
e[0].end() = operator[](1);
e[1].start() = operator[](1);
e[1].end() = operator[](2);
e[2].start() = operator[](2);
e[2].end() = operator[](0);
return e;
}
inline Foam::edge Foam::triFace::faceEdge(const label n) const
{
return edge(operator[](n), operator[](fcIndex(n)));
}
// return
// - +1: forward (counter-clockwise) on the face
// - -1: reverse (clockwise) on the face
// - 0: edge not found on the face
inline int Foam::triFace::edgeDirection(const edge& e) const
{
if
(
points[operator[](0)],
points[operator[](1)],
points[operator[](2)]
);
(operator[](0) == e.start() && operator[](1) == e.end())
|| (operator[](1) == e.start() && operator[](2) == e.end())
|| (operator[](2) == e.start() && operator[](0) == e.end())
)
{
return 1;
}
else if
(
(operator[](0) == e.end() && operator[](1) == e.start())
|| (operator[](1) == e.end() && operator[](2) == e.start())
|| (operator[](2) == e.end() && operator[](0) == e.start())
)
{
return -1;
}
else
{
return 0;
}
}

View File

@ -0,0 +1,50 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2010-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
\*---------------------------------------------------------------------------*/
#include "triFace.H"
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
template<class Type>
Type Foam::triFace::average
(
const pointField& meshPoints,
const Field<Type>& fld
) const
{
// a triangle, do a direct calculation
return
(
(1.0/3.0)
*
(
fld[operator[](0)]
+ fld[operator[](1)]
+ fld[operator[](2)]
)
);
}
// ************************************************************************* //

View File

@ -69,7 +69,7 @@ inline Ostream& operator<<
/*---------------------------------------------------------------------------*\
class triangle Declaration
Class triangle Declaration
\*---------------------------------------------------------------------------*/
template<class Point, class PointRef>

View File

@ -27,15 +27,10 @@ License
#include "pointHit.H"
#include "mathematicalConstants.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
template<class Point, class PointRef>
inline triangle<Point, PointRef>::triangle
inline Foam::triangle<Point, PointRef>::triangle
(
const Point& a,
const Point& b,
@ -49,7 +44,7 @@ inline triangle<Point, PointRef>::triangle
template<class Point, class PointRef>
inline triangle<Point, PointRef>::triangle(Istream& is)
inline Foam::triangle<Point, PointRef>::triangle(Istream& is)
{
// Read beginning of triangle point pair
is.readBegin("triangle");
@ -67,47 +62,47 @@ inline triangle<Point, PointRef>::triangle(Istream& is)
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
template<class Point, class PointRef>
inline const Point& triangle<Point, PointRef>::a() const
inline const Point& Foam::triangle<Point, PointRef>::a() const
{
return a_;
}
template<class Point, class PointRef>
inline const Point& triangle<Point, PointRef>::b() const
inline const Point& Foam::triangle<Point, PointRef>::b() const
{
return b_;
}
template<class Point, class PointRef>
inline const Point& triangle<Point, PointRef>::c() const
inline const Point& Foam::triangle<Point, PointRef>::c() const
{
return c_;
}
template<class Point, class PointRef>
inline Point triangle<Point, PointRef>::centre() const
inline Point Foam::triangle<Point, PointRef>::centre() const
{
return (1.0/3.0)*(a_ + b_ + c_);
}
template<class Point, class PointRef>
inline scalar triangle<Point, PointRef>::mag() const
inline Foam::scalar Foam::triangle<Point, PointRef>::mag() const
{
return Foam::mag(normal());
}
template<class Point, class PointRef>
inline vector triangle<Point, PointRef>::normal() const
inline Foam::vector Foam::triangle<Point, PointRef>::normal() const
{
return 0.5*((b_ - a_)^(c_ - a_));
}
template<class Point, class PointRef>
inline Point triangle<Point, PointRef>::circumCentre() const
inline Point Foam::triangle<Point, PointRef>::circumCentre() const
{
scalar d1 = (c_ - a_)&(b_ - a_);
scalar d2 = -(c_ - b_)&(b_ - a_);
@ -127,7 +122,7 @@ inline Point triangle<Point, PointRef>::circumCentre() const
template<class Point, class PointRef>
inline scalar triangle<Point, PointRef>::circumRadius() const
inline Foam::scalar Foam::triangle<Point, PointRef>::circumRadius() const
{
scalar d1 = (c_ - a_) & (b_ - a_);
scalar d2 = - (c_ - b_) & (b_ - a_);
@ -149,7 +144,7 @@ inline scalar triangle<Point, PointRef>::circumRadius() const
template<class Point, class PointRef>
inline scalar triangle<Point, PointRef>::quality() const
inline Foam::scalar Foam::triangle<Point, PointRef>::quality() const
{
// Note: 3*sqr(3)/(4*pi) = 0.4134966716
@ -165,7 +160,10 @@ inline scalar triangle<Point, PointRef>::quality() const
template<class Point, class PointRef>
inline scalar triangle<Point, PointRef>::sweptVol(const triangle& t) const
inline Foam::scalar Foam::triangle<Point, PointRef>::sweptVol
(
const triangle& t
) const
{
return (1.0/12.0)*
(
@ -181,7 +179,7 @@ inline scalar triangle<Point, PointRef>::sweptVol(const triangle& t) const
template<class Point, class PointRef>
inline tensor triangle<Point, PointRef>::inertia
inline Foam::tensor Foam::triangle<Point, PointRef>::inertia
(
PointRef refPt,
scalar density
@ -218,7 +216,7 @@ inline tensor triangle<Point, PointRef>::inertia
template<class Point, class PointRef>
inline Point triangle<Point, PointRef>::randomPoint(Random& rndGen) const
inline Point Foam::triangle<Point, PointRef>::randomPoint(Random& rndGen) const
{
// Generating Random Points in Triangles
// by Greg Turk
@ -234,7 +232,7 @@ inline Point triangle<Point, PointRef>::randomPoint(Random& rndGen) const
template<class Point, class PointRef>
scalar triangle<Point, PointRef>::barycentric
Foam::scalar Foam::triangle<Point, PointRef>::barycentric
(
const point& pt,
List<scalar>& bary
@ -283,7 +281,7 @@ scalar triangle<Point, PointRef>::barycentric
template<class Point, class PointRef>
inline pointHit triangle<Point, PointRef>::ray
inline Foam::pointHit Foam::triangle<Point, PointRef>::ray
(
const point& p,
const vector& q,
@ -399,7 +397,7 @@ inline pointHit triangle<Point, PointRef>::ray
// From "Fast, Minimum Storage Ray/Triangle Intersection"
// Moeller/Trumbore.
template<class Point, class PointRef>
inline pointHit triangle<Point, PointRef>::intersection
inline Foam::pointHit Foam::triangle<Point, PointRef>::intersection
(
const point& orig,
const vector& dir,
@ -482,7 +480,7 @@ inline pointHit triangle<Point, PointRef>::intersection
template<class Point, class PointRef>
pointHit triangle<Point, PointRef>::nearestPointClassify
Foam::pointHit Foam::triangle<Point, PointRef>::nearestPointClassify
(
const point& p,
label& nearType,
@ -595,7 +593,7 @@ pointHit triangle<Point, PointRef>::nearestPointClassify
template<class Point, class PointRef>
inline pointHit triangle<Point, PointRef>::nearestPoint
inline Foam::pointHit Foam::triangle<Point, PointRef>::nearestPoint
(
const point& p
) const
@ -609,7 +607,7 @@ inline pointHit triangle<Point, PointRef>::nearestPoint
template<class Point, class PointRef>
inline bool triangle<Point, PointRef>::classify
inline bool Foam::triangle<Point, PointRef>::classify
(
const point& p,
label& nearType,
@ -623,7 +621,10 @@ inline bool triangle<Point, PointRef>::classify
// * * * * * * * * * * * * * * * Ostream Operator * * * * * * * * * * * * * //
template<class point, class pointRef>
inline Istream& operator>>(Istream& is, triangle<point, pointRef>& t)
inline Foam::Istream& Foam::operator>>
(
Istream& is, triangle<point, pointRef>& t
)
{
// Read beginning of triangle point pair
is.readBegin("triangle");
@ -641,7 +642,11 @@ inline Istream& operator>>(Istream& is, triangle<point, pointRef>& t)
template<class Point, class PointRef>
inline Ostream& operator<<(Ostream& os, const triangle<Point, PointRef>& t)
inline Foam::Ostream& Foam::operator<<
(
Ostream& os,
const triangle<Point, PointRef>& t
)
{
os << nl
<< token::BEGIN_LIST
@ -652,8 +657,4 @@ inline Ostream& operator<<(Ostream& os, const triangle<Point, PointRef>& t)
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam
// ************************************************************************* //

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -156,6 +156,11 @@ protected:
public:
// Public typedefs
//- Face type used
typedef Face FaceType;
//- Runtime type information
ClassName("MeshedSurface");

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -78,6 +78,12 @@ class MeshedSurfaceProxy
public:
// Public typedefs
//- Face type used
typedef Face FaceType;
// Static
//- Runtime type information

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -132,6 +132,11 @@ protected:
public:
// Public typedefs
//- Face type used
typedef Face FaceType;
//- Runtime type information
TypeName("UnsortedMeshedSurface");

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License

View File

@ -223,6 +223,9 @@ public:
// Public typedefs
//- Face type used
typedef labelledTri FaceType;
//- Placeholder only, but do not remove - it is needed for GeoMesh
typedef bool BoundaryMesh;