A sampledSurface from a triSurfaceMesh. It samples on the points/triangles of the triSurface. More...
Public Types | |
enum | samplingSource { cells, insideCells, boundaryFaces } |
Types of communications. More... | |
Public Types inherited from MeshedSurface< face > | |
typedef face | FaceType |
Face type used. More... | |
Public Types inherited from PrimitivePatch< Face, FaceList, PointField, PointType > | |
enum | surfaceTopo { MANIFOLD, OPEN, ILLEGAL } |
Enumeration defining the surface type. Used in check routines. More... | |
typedef Face | FaceType |
typedef FaceList< Face > | FaceListType |
typedef PointField | PointFieldType |
Public Member Functions | |
TypeName ("sampledTriSurfaceMesh") | |
Runtime type information. More... | |
sampledTriSurfaceMesh (const word &name, const polyMesh &mesh, const word &surfaceName, const samplingSource sampleSource) | |
Construct from components. More... | |
sampledTriSurfaceMesh (const word &name, const polyMesh &mesh, const dictionary &dict) | |
Construct from dictionary. More... | |
sampledTriSurfaceMesh (const word &name, const polyMesh &mesh, const triSurface &surface, const word &sampleSourceName) | |
Construct from triSurface. More... | |
virtual | ~sampledTriSurfaceMesh () |
Destructor. More... | |
virtual bool | needsUpdate () const |
Does the surface need an update? More... | |
virtual bool | expire () |
Mark the surface as needing an update. More... | |
virtual bool | update () |
Update the surface as required. More... | |
bool | update (const treeBoundBox &) |
Update the surface using a bound box to limit the searching. More... | |
virtual const pointField & | points () const |
Points of surface. More... | |
virtual const faceList & | faces () const |
Faces of surface. More... | |
virtual tmp< scalarField > | sample (const volScalarField &) const |
Sample field on surface. More... | |
virtual tmp< vectorField > | sample (const volVectorField &) const |
Sample field on surface. More... | |
virtual tmp< sphericalTensorField > | sample (const volSphericalTensorField &) const |
Sample field on surface. More... | |
virtual tmp< symmTensorField > | sample (const volSymmTensorField &) const |
Sample field on surface. More... | |
virtual tmp< tensorField > | sample (const volTensorField &) const |
Sample field on surface. More... | |
virtual tmp< scalarField > | interpolate (const interpolation< scalar > &) const |
Interpolate field on surface. More... | |
virtual tmp< vectorField > | interpolate (const interpolation< vector > &) const |
Interpolate field on surface. More... | |
virtual tmp< sphericalTensorField > | interpolate (const interpolation< sphericalTensor > &) const |
Interpolate field on surface. More... | |
virtual tmp< symmTensorField > | interpolate (const interpolation< symmTensor > &) const |
Interpolate field on surface. More... | |
virtual tmp< tensorField > | interpolate (const interpolation< tensor > &) const |
Interpolate field on surface. More... | |
virtual void | print (Ostream &) const |
Write. More... | |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | sampleField (const GeometricField< Type, fvPatchField, volMesh > &vField) const |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | interpolateField (const interpolation< Type > &interpolator) const |
Public Member Functions inherited from sampledSurface | |
TypeName ("sampledSurface") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, sampledSurface, word,(const word &name, const polyMesh &mesh, const dictionary &dict),(name, mesh, dict)) | |
Declare run-time constructor selection table. More... | |
sampledSurface (const word &name, const polyMesh &, const bool interpolate=false) | |
Construct from name, mesh. More... | |
sampledSurface (const word &name, const polyMesh &, const dictionary &) | |
Construct from dictionary. More... | |
autoPtr< sampledSurface > | clone () const |
Clone. More... | |
virtual | ~sampledSurface () |
Destructor. More... | |
const polyMesh & | mesh () const |
Access to the underlying mesh. More... | |
const word & | name () const |
Name of surface. More... | |
bool | interpolate () const |
Interpolation requested for surface. More... | |
virtual const vectorField & | Sf () const |
Return face area vectors. More... | |
virtual const scalarField & | magSf () const |
Return face area magnitudes. More... | |
virtual const vectorField & | Cf () const |
Return face centres as vectorField. More... | |
scalar | area () const |
The total surface area. More... | |
template<class Type > | |
Type | integrate (const Field< Type > &) const |
Integration of a field across the surface. More... | |
template<class Type > | |
Type | integrate (const tmp< Field< Type >> &) const |
Integration of a field across the surface. More... | |
template<class Type > | |
Type | average (const Field< Type > &) const |
Area-averaged value of a field across the surface. More... | |
template<class Type > | |
Type | average (const tmp< Field< Type >> &) const |
Area-averaged value of a field across the surface. More... | |
tmp< Field< scalar > > | project (const Field< scalar > &) const |
Project field onto surface. More... | |
tmp< Field< scalar > > | project (const Field< vector > &) const |
Project field onto surface. More... | |
tmp< Field< vector > > | project (const Field< sphericalTensor > &) const |
Project field onto surface. More... | |
tmp< Field< vector > > | project (const Field< symmTensor > &) const |
Project field onto surface. More... | |
tmp< Field< vector > > | project (const Field< tensor > &) const |
Project field onto surface. More... | |
template<class Type > | |
tmp< GeometricField< Type, fvPatchField, volMesh > > | pointAverage (const GeometricField< Type, pointPatchField, pointMesh > &pfld) const |
Interpolate from points to cell centre. More... | |
virtual tmp< scalarField > | sample (const surfaceScalarField &) const |
Surface sample field on surface. More... | |
virtual tmp< symmTensorField > | sample (const surfaceSymmTensorField &) const |
Surface sample field on surface. More... | |
virtual tmp< tensorField > | sample (const surfaceTensorField &) const |
Surface sample field on surface. More... | |
virtual void | rename (const word &newName) |
Rename. More... | |
template<class ReturnType , class Type > | |
Foam::tmp< Foam::Field< ReturnType > > | project (const tmp< Field< Type >> &field) const |
template<class Type > | |
Foam::tmp< Foam::GeometricField< Type, Foam::fvPatchField, Foam::volMesh > > | pointAverage (const GeometricField< Type, pointPatchField, pointMesh > &pfld) const |
Public Member Functions inherited from MeshedSurface< face > | |
MeshedSurface () | |
Construct null. More... | |
MeshedSurface (const Xfer< pointField > &, const Xfer< List< face >> &, const Xfer< surfZoneList > &) | |
Construct by transferring components (points, faces, zones). More... | |
MeshedSurface (const Xfer< pointField > &, const Xfer< List< face >> &, const labelUList &zoneSizes=labelUList(), const UList< word > &zoneNames=UList< word >()) | |
Construct by transferring components (points, faces). More... | |
MeshedSurface (const MeshedSurface &) | |
Construct as copy. More... | |
MeshedSurface (const UnsortedMeshedSurface< face > &) | |
Construct from a UnsortedMeshedSurface. More... | |
MeshedSurface (const polyBoundaryMesh &, const bool globalPoints=false) | |
Construct from a boundary mesh with local points/faces. More... | |
MeshedSurface (const surfMesh &) | |
Construct from a surfMesh. More... | |
MeshedSurface (const Xfer< UnsortedMeshedSurface< face >> &) | |
Construct by transferring the contents from a UnsortedMeshedSurface. More... | |
MeshedSurface (const Xfer< MeshedSurface< face >> &) | |
Construct by transferring the contents from a MeshedSurface. More... | |
MeshedSurface (const fileName &) | |
Construct from file name (uses extension to determine type) More... | |
MeshedSurface (const fileName &, const word &ext) | |
Construct from file name (uses extension to determine type) More... | |
MeshedSurface (const Time &, const word &surfName="") | |
Construct from database. More... | |
ClassName ("MeshedSurface") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, MeshedSurface, fileExtension,(const fileName &name),(name)) | |
virtual | ~MeshedSurface () |
Destructor. More... | |
declareMemberFunctionSelectionTable (void, UnsortedMeshedSurface, write, fileExtension,(const fileName &name, const MeshedSurface< face > &surf),(name, surf)) | |
virtual void | write (const fileName &name) const |
Generic write routine. Chooses writer based on extension. More... | |
void | write (const Time &, const word &surfName="") const |
Write to database. More... | |
label | size () const |
The surface size is the number of faces. More... | |
const List< face > & | faces () const |
Return const access to the faces. More... | |
const List< surfZone > & | surfZones () const |
Const access to the surface zones. More... | |
virtual void | addZones (const UList< surfZone > &, const bool cullEmpty=false) |
Add surface zones. More... | |
virtual void | addZones (const labelUList &sizes, const UList< word > &names, const bool cullEmpty=false) |
Add surface zones. More... | |
virtual void | addZones (const labelUList &sizes, const bool cullEmpty=false) |
Add surface zones. More... | |
virtual void | removeZones () |
Remove surface zones. More... | |
virtual void | clear () |
Clear all storage. More... | |
virtual void | movePoints (const pointField &) |
Move points. More... | |
virtual void | scalePoints (const scalar) |
Scale points. A non-positive factor is ignored. More... | |
virtual void | reset (const Xfer< pointField > &points, const Xfer< List< face >> &faces, const Xfer< surfZoneList > &zones) |
Reset primitive data (points, faces and zones) More... | |
virtual void | reset (const Xfer< List< point >> &points, const Xfer< List< face >> &faces, const Xfer< surfZoneList > &zones) |
Reset primitive data (points, faces and zones) More... | |
virtual void | cleanup (const bool verbose) |
Remove invalid faces. More... | |
virtual bool | stitchFaces (const scalar tol=SMALL, const bool verbose=false) |
virtual bool | checkFaces (const bool verbose=false) |
virtual label | triangulate () |
Triangulate in-place, returning the number of triangles added. More... | |
virtual label | triangulate (List< label > &faceMap) |
Triangulate in-place, returning the number of triangles added. More... | |
MeshedSurface | subsetMesh (const labelHashSet &include, labelList &pointMap, labelList &faceMap) const |
Return new surface. More... | |
MeshedSurface | subsetMesh (const labelHashSet &include) const |
Return new surface. More... | |
void | transfer (MeshedSurface< face > &) |
Transfer the contents of the argument and annul the argument. More... | |
void | transfer (UnsortedMeshedSurface< face > &) |
Transfer the contents of the argument and annul the argument. More... | |
Xfer< MeshedSurface< face > > | xfer () |
Transfer contents to the Xfer container. More... | |
bool | read (const fileName &, const word &ext) |
Read from file. Chooses reader based on explicit extension. More... | |
virtual bool | read (const fileName &) |
Read from file. Chooses reader based on detected extension. More... | |
void | writeStats (Ostream &os) const |
void | operator= (const MeshedSurface< face > &) |
operator MeshedSurfaceProxy< face > () const | |
Conversion operator to MeshedSurfaceProxy. More... | |
Public Member Functions inherited from PrimitivePatch< Face, FaceList, PointField, PointType > | |
PrimitivePatch (const FaceList< Face > &faces, const Field< PointType > &points) | |
Construct from components. More... | |
PrimitivePatch (const Xfer< FaceList< Face >> &faces, const Xfer< List< PointType >> &points) | |
Construct from components. More... | |
PrimitivePatch (FaceList< Face > &faces, Field< PointType > &points, const bool reuse) | |
Construct from components, reuse storage. More... | |
PrimitivePatch (const PrimitivePatch< Face, FaceList, PointField, PointType > &) | |
Construct as copy. More... | |
virtual | ~PrimitivePatch () |
Destructor. More... | |
void | clearOut () |
void | clearGeom () |
void | clearTopology () |
void | clearPatchMeshAddr () |
const Field< PointType > & | points () const |
Return reference to global points. More... | |
label | nPoints () const |
Return number of points supporting patch faces. More... | |
label | nEdges () const |
Return number of edges in patch. More... | |
const edgeList & | edges () const |
Return list of edges, address into LOCAL point list. More... | |
label | nInternalEdges () const |
Number of internal edges. More... | |
bool | isInternalEdge (const label edgeI) const |
Is internal edge? More... | |
const labelList & | boundaryPoints () const |
Return list of boundary points,. More... | |
const labelListList & | faceFaces () const |
Return face-face addressing. More... | |
const labelListList & | edgeFaces () const |
Return edge-face addressing. More... | |
const labelListList & | faceEdges () const |
Return face-edge addressing. More... | |
const labelListList & | pointEdges () const |
Return point-edge addressing. More... | |
const labelListList & | pointFaces () const |
Return point-face addressing. More... | |
const List< Face > & | localFaces () const |
Return patch faces addressing into local point list. More... | |
const labelList & | meshPoints () const |
Return labelList of mesh points in patch. They are constructed. More... | |
const Map< label > & | meshPointMap () const |
Mesh point map. Given the global point index find its. More... | |
const Field< PointType > & | localPoints () const |
Return pointField of points in patch. More... | |
const labelList & | localPointOrder () const |
Return orders the local points for most efficient search. More... | |
label | whichPoint (const label gp) const |
Given a global point index, return the local point index. More... | |
label | whichEdge (const edge &) const |
Given an edge in local point labels, return its. More... | |
labelList | meshEdges (const edgeList &allEdges, const labelListList &cellEdges, const labelList &faceCells) const |
Return labels of patch edges in the global edge list using. More... | |
labelList | meshEdges (const edgeList &allEdges, const labelListList &pointEdges) const |
Return labels of patch edges in the global edge list using. More... | |
const Field< PointType > & | faceCentres () const |
Return face centres for patch. More... | |
const Field< PointType > & | faceNormals () const |
Return face normals for patch. More... | |
const Field< PointType > & | pointNormals () const |
Return point normals for patch. More... | |
template<class ToPatch > | |
List< objectHit > | projectPoints (const ToPatch &targetPatch, const Field< PointType > &projectionDirection, const intersection::algorithm=intersection::FULL_RAY, const intersection::direction=intersection::VECTOR) const |
Project vertices of patch onto another patch. More... | |
template<class ToPatch > | |
List< objectHit > | projectFaceCentres (const ToPatch &targetPatch, const Field< PointType > &projectionDirection, const intersection::algorithm=intersection::FULL_RAY, const intersection::direction=intersection::VECTOR) const |
Project vertices of patch onto another patch. More... | |
const labelListList & | edgeLoops () const |
Return list of closed loops of boundary vertices. More... | |
surfaceTopo | surfaceType () const |
Calculate surface type formed by patch. More... | |
bool | checkTopology (const bool report=false, labelHashSet *setPtr=NULL) const |
Check surface formed by patch for manifoldness (see above). More... | |
bool | checkPointManifold (const bool report=false, labelHashSet *setPtr=NULL) const |
Checks primitivePatch for faces sharing point but not edge. More... | |
virtual void | movePoints (const Field< PointType > &) |
Correct patch after moving points. More... | |
void | operator= (const PrimitivePatch< Face, FaceList, PointField, PointType > &) |
Assignment. More... | |
template<class ToPatch > | |
Foam::List< Foam::objectHit > | projectPoints (const ToPatch &targetPatch, const Field< PointType > &projectionDirection, const intersection::algorithm alg, const intersection::direction dir) const |
template<class ToPatch > | |
Foam::List< Foam::objectHit > | projectFaceCentres (const ToPatch &targetPatch, const Field< PointType > &projectionDirection, const intersection::algorithm alg, const intersection::direction dir) const |
Public Member Functions inherited from surfaceFormatsCore | |
surfaceFormatsCore () | |
Construct null. More... | |
virtual | ~surfaceFormatsCore () |
Destructor. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from sampledSurface | |
static autoPtr< sampledSurface > | New (const word &name, const polyMesh &, const dictionary &) |
Return a reference to the selected surface. More... | |
Static Public Member Functions inherited from MeshedSurface< face > | |
static bool | isTri () |
Face storage only handles triangulated faces. More... | |
static bool | canRead (const fileName &, const bool verbose=false) |
Can we read this file format? More... | |
static bool | canReadType (const word &ext, const bool verbose=false) |
Can we read this file format? More... | |
static bool | canWriteType (const word &ext, const bool verbose=false) |
Can we write this file format? More... | |
static wordHashSet | readTypes () |
static wordHashSet | writeTypes () |
static autoPtr< MeshedSurface > | New (const fileName &, const word &ext) |
Select constructed from filename (explicit extension) More... | |
static autoPtr< MeshedSurface > | New (const fileName &) |
Select constructed from filename (implicit extension) More... | |
static void | write (const fileName &, const MeshedSurface< face > &) |
Write to file. More... | |
Static Public Member Functions inherited from surfaceFormatsCore | |
static bool | checkSupport (const wordHashSet &available, const word &ext, const bool verbose, const word &functionName) |
static fileName | localMeshFileName (const word &surfName="") |
Return the local file name (within time directory) More... | |
static fileName | findMeshInstance (const Time &, const word &surfName="") |
Find instance with surfName. More... | |
static fileName | findMeshFile (const Time &, const word &surfName="") |
Find mesh file with surfName. More... | |
Static Public Attributes inherited from surfaceFormatsCore | |
static word | nativeExt |
The file extension corresponding to 'native' surface format. More... | |
Protected Member Functions inherited from sampledSurface | |
virtual void | clearGeom () const |
Protected Member Functions inherited from MeshedSurface< face > | |
void | transcribe (MeshedSurface< face > &) |
Transfer points/zones and transcribe face -> triFace. More... | |
void | checkZones () |
Basic sanity check on zones. More... | |
pointField & | storedPoints () |
Non-const access to global points. More... | |
List< face > & | storedFaces () |
Non-const access to the faces. More... | |
surfZoneList & | storedZones () |
Non-const access to the zones. More... | |
void | sortFacesAndStore (const Xfer< List< face >> &unsortedFaces, const Xfer< List< label >> &zoneIds, const bool sorted) |
Sort faces by zones and store sorted faces. More... | |
virtual void | remapFaces (const labelUList &faceMap) |
Set new zones from faceMap. More... | |
Static Protected Member Functions inherited from surfaceFormatsCore | |
template<class Container > | |
static List< surfZone > | oneZone (const Container &container, const word &name="zone0") |
Return a list with a single entry,. More... | |
static string | getLineNoComment (IFstream &) |
Read non-comment line. More... | |
A sampledSurface from a triSurfaceMesh. It samples on the points/triangles of the triSurface.
- it either samples cells or (non-coupled) boundary faces
Definition at line 86 of file sampledTriSurfaceMesh.H.
enum samplingSource |
Types of communications.
Enumerator | |
---|---|
cells | |
insideCells | |
boundaryFaces |
Definition at line 93 of file sampledTriSurfaceMesh.H.
sampledTriSurfaceMesh | ( | const word & | name, |
const polyMesh & | mesh, | ||
const word & | surfaceName, | ||
const samplingSource | sampleSource | ||
) |
Construct from components.
Definition at line 520 of file sampledTriSurfaceMesh.C.
Referenced by nearestEqOp::operator()(), and sampledTriSurfaceMesh::sampledTriSurfaceMesh().
sampledTriSurfaceMesh | ( | const word & | name, |
const polyMesh & | mesh, | ||
const dictionary & | dict | ||
) |
Construct from dictionary.
Definition at line 549 of file sampledTriSurfaceMesh.C.
References sampledTriSurfaceMesh::sampledTriSurfaceMesh().
sampledTriSurfaceMesh | ( | const word & | name, |
const polyMesh & | mesh, | ||
const triSurface & | surface, | ||
const word & | sampleSourceName | ||
) |
Construct from triSurface.
Definition at line 577 of file sampledTriSurfaceMesh.C.
|
virtual |
Destructor.
Definition at line 608 of file sampledTriSurfaceMesh.C.
TypeName | ( | "sampledTriSurfaceMesh" | ) |
Runtime type information.
|
virtual |
Does the surface need an update?
Implements sampledSurface.
Definition at line 614 of file sampledTriSurfaceMesh.C.
|
virtual |
Mark the surface as needing an update.
May also free up unneeded data. Return false if surface was already marked as expired.
Implements sampledSurface.
Definition at line 620 of file sampledTriSurfaceMesh.C.
References clear(), and sampledSurface::clearGeom().
|
virtual |
Update the surface as required.
Do nothing (and return false) if no update was needed
Implements sampledSurface.
Definition at line 640 of file sampledTriSurfaceMesh.C.
References polyMesh::FACE_PLANES, and mesh.
Referenced by nearestEqOp::operator()().
bool update | ( | const treeBoundBox & | bb | ) |
Update the surface using a bound box to limit the searching.
For direct use, i.e. not through sample. Do nothing (and return false) if no update was needed
Definition at line 654 of file sampledTriSurfaceMesh.C.
References polyMesh::FACE_PLANES, mesh, and sampledTriSurfaceMesh::sample().
|
inlinevirtual |
Points of surface.
Implements sampledSurface.
Definition at line 207 of file sampledTriSurfaceMesh.H.
References PrimitivePatch< Face, FaceList, PointField, PointType >::points().
|
inlinevirtual |
Faces of surface.
Implements sampledSurface.
Definition at line 213 of file sampledTriSurfaceMesh.H.
References MeshedSurface< face >::faces(), sampledSurface::interpolate(), sampledTriSurfaceMesh::print(), and sampledTriSurfaceMesh::sample().
|
virtual |
Sample field on surface.
Implements sampledSurface.
Definition at line 669 of file sampledTriSurfaceMesh.C.
Referenced by sampledTriSurfaceMesh::faces(), sampledTriSurfaceMesh::sample(), and sampledTriSurfaceMesh::update().
|
virtual |
Sample field on surface.
Implements sampledSurface.
Definition at line 678 of file sampledTriSurfaceMesh.C.
References sampledTriSurfaceMesh::sample().
|
virtual |
Sample field on surface.
Implements sampledSurface.
Definition at line 686 of file sampledTriSurfaceMesh.C.
References sampledTriSurfaceMesh::sample().
|
virtual |
Sample field on surface.
Implements sampledSurface.
Definition at line 695 of file sampledTriSurfaceMesh.C.
References sampledTriSurfaceMesh::sample().
|
virtual |
Sample field on surface.
Implements sampledSurface.
Definition at line 704 of file sampledTriSurfaceMesh.C.
References sampledSurface::interpolate().
|
virtual |
Interpolate field on surface.
Implements sampledSurface.
Definition at line 713 of file sampledTriSurfaceMesh.C.
References sampledSurface::interpolate().
|
virtual |
Interpolate field on surface.
Implements sampledSurface.
Definition at line 722 of file sampledTriSurfaceMesh.C.
References sampledSurface::interpolate().
|
virtual |
Interpolate field on surface.
Implements sampledSurface.
Definition at line 730 of file sampledTriSurfaceMesh.C.
References sampledSurface::interpolate().
|
virtual |
Interpolate field on surface.
Implements sampledSurface.
Definition at line 739 of file sampledTriSurfaceMesh.C.
References sampledSurface::interpolate().
|
virtual |
Interpolate field on surface.
Implements sampledSurface.
Definition at line 748 of file sampledTriSurfaceMesh.C.
|
virtual |
Write.
Reimplemented from sampledSurface.
Definition at line 756 of file sampledTriSurfaceMesh.C.
References Foam::name(), and points.
Referenced by sampledTriSurfaceMesh::faces().
Foam::tmp<Foam::Field<Type> > sampleField | ( | const GeometricField< Type, fvPatchField, volMesh > & | vField | ) | const |
Definition at line 33 of file sampledTriSurfaceMeshTemplates.C.
References GeometricField< Type, PatchField, GeoMesh >::boundaryField(), cells, forAll, mesh, patchi, tmp< T >::ref(), and Foam::Zero.
Foam::tmp<Foam::Field<Type> > interpolateField | ( | const interpolation< Type > & | interpolator | ) | const |
Definition at line 89 of file sampledTriSurfaceMeshTemplates.C.
References cells, forAll, interpolation< Type >::interpolate(), mesh, and tmp< T >::ref().