extendedEdgeMeshFormat Class Reference

Provide a means of reading/writing the single-file OpenFOAM extendedEdgeMesh format. More...

Inheritance diagram for extendedEdgeMeshFormat:
[legend]
Collaboration diagram for extendedEdgeMeshFormat:
[legend]

Public Member Functions

 extendedEdgeMeshFormat (const fileName &)
 Construct from file name. More...
 
virtual ~extendedEdgeMeshFormat ()=default
 Destructor. More...
 
virtual bool read (const fileName &)
 Read from file. More...
 
- Public Member Functions inherited from extendedEdgeMesh
 TypeName ("extendedEdgeMesh")
 Runtime type information. More...
 
 extendedEdgeMesh ()
 Default construct. More...
 
 extendedEdgeMesh (const extendedEdgeMesh &fem)
 Copy construct. More...
 
 extendedEdgeMesh (const fileName &name)
 Construct from file name (uses extension to determine type) More...
 
 extendedEdgeMesh (const fileName &name, const word &fileType)
 Construct from file name with given format type. More...
 
 extendedEdgeMesh (Istream &is)
 Construct from Istream. More...
 
 extendedEdgeMesh (const pointField &points, const edgeList &edges)
 Copy construct from components. More...
 
 extendedEdgeMesh (pointField &&points, edgeList &&edges)
 Move construct from components. More...
 
 extendedEdgeMesh (const surfaceFeatures &sFeat, const boolList &surfBaffleRegions)
 Construct given a surface with selected edges,points. More...
 
 extendedEdgeMesh (const PrimitivePatch< faceList, pointField > &surf, const labelUList &featureEdges, const labelUList &regionFeatureEdges, const labelUList &featurePoints)
 Construct from PrimitivePatch. More...
 
 extendedEdgeMesh (const pointField &pts, const edgeList &eds, label concaveStart, label mixedStart, label nonFeatureStart, label internalStart, label flatStart, label openStart, label multipleStart, const vectorField &normals, const List< sideVolumeType > &normalVolumeTypes, const vectorField &edgeDirections, const labelListList &normalDirections, const labelListList &edgeNormals, const labelListList &featurePointNormals, const labelListList &featurePointEdges, const labelList &regionEdges)
 Construct from all components. More...
 
 declareRunTimeSelectionTable (autoPtr, extendedEdgeMesh, fileExtension,(const fileName &name),(name))
 
 ~extendedEdgeMesh ()=default
 Destructor. More...
 
void nearestFeaturePoint (const point &sample, scalar searchDistSqr, pointIndexHit &info) const
 Find nearest surface edge for the sample point. More...
 
void nearestFeatureEdge (const point &sample, scalar searchDistSqr, pointIndexHit &info) const
 Find nearest surface edge for the sample point. More...
 
void nearestFeatureEdge (const pointField &samples, const scalarField &searchDistSqr, List< pointIndexHit > &info) const
 Find nearest surface edge for each sample point. More...
 
void nearestFeatureEdgeByType (const point &sample, const scalarField &searchDistSqr, List< pointIndexHit > &info) const
 Find the nearest point on each type of feature edge. More...
 
void allNearestFeaturePoints (const point &sample, scalar searchRadiusSqr, List< pointIndexHit > &info) const
 Find all the feature points within searchDistSqr of sample. More...
 
void allNearestFeatureEdges (const point &sample, const scalar searchRadiusSqr, List< pointIndexHit > &info) const
 Find all the feature edges within searchDistSqr of sample. More...
 
label convexStart () const
 Return the index of the start of the convex feature points. More...
 
label concaveStart () const
 Return the index of the start of the concave feature points. More...
 
label mixedStart () const
 Return the index of the start of the mixed type feature points. More...
 
label nonFeatureStart () const
 Return the index of the start of the non-feature points. More...
 
label externalStart () const
 Return the index of the start of the external feature edges. More...
 
label internalStart () const
 Return the index of the start of the internal feature edges. More...
 
label flatStart () const
 Return the index of the start of the flat feature edges. More...
 
label openStart () const
 Return the index of the start of the open feature edges. More...
 
label multipleStart () const
 Return the index of the start of the multiply-connected feature. More...
 
bool featurePoint (label ptI) const
 Return whether or not the point index is a feature point. More...
 
const vectorFieldnormals () const
 Return the normals of the surfaces adjacent to the feature edges. More...
 
const List< sideVolumeType > & normalVolumeTypes () const
 Return. More...
 
const vectorFieldedgeDirections () const
 Return the edgeDirection vectors. More...
 
const labelListListnormalDirections () const
 
vector edgeDirection (label edgeI, label ptI) const
 Return the direction of edgeI, pointing away from ptI. More...
 
const labelListListedgeNormals () const
 Return the indices of the normals that are adjacent to the. More...
 
vectorField edgeNormals (const labelList &edgeNormIs) const
 Return the normal vectors for a given set of normal indices. More...
 
vectorField edgeNormals (label edgeI) const
 Return the normal vectors for a given edge. More...
 
const labelListListfeaturePointNormals () const
 Return the indices of the normals that are adjacent to the. More...
 
vectorField featurePointNormals (label ptI) const
 Return the normal vectors for a given feature point. More...
 
const labelListListfeaturePointEdges () const
 Return the edge labels for a given feature point. Edges are. More...
 
const labelListregionEdges () const
 Return the feature edges which are on the boundary between. More...
 
pointStatus getPointStatus (label ptI) const
 Return the pointStatus of a specified point. More...
 
edgeStatus getEdgeStatus (label edgeI) const
 Return the edgeStatus of a specified edge. More...
 
PackedList< 2 > edgeBaffles (label edgeI) const
 Return the baffle faces of a specified edge. More...
 
const indexedOctree< treeDataPoint > & pointTree () const
 Demand driven construction of octree for feature points. More...
 
const indexedOctree< treeDataEdge > & edgeTree () const
 Demand driven construction of octree for boundary edges. More...
 
const PtrList< indexedOctree< treeDataEdge > > & edgeTreesByType () const
 Demand driven construction of octree for boundary edges by type. More...
 
void transfer (extendedEdgeMesh &mesh)
 Transfer the contents of the argument and annul the argument. More...
 
virtual void clear ()
 Clear all storage. More...
 
void add (const extendedEdgeMesh &fem)
 Add extendedEdgeMesh. No filtering of duplicates. More...
 
void flipNormals ()
 Flip normals. All concave become convex, all internal external. More...
 
void autoMap (const pointField &subPoints, const edgeList &subEdges, const labelList &pointMap, const labelList &edgeMap)
 Update with derived geometry. More...
 
void trim (const searchableSurface &surf, const volumeType volType, labelList &pointMap, labelList &edgeMap)
 Trim to surface. Keep volType side. Return map from current back. More...
 
void setFromStatus (const List< extendedEdgeMesh::pointStatus > &pointStat, const List< extendedEdgeMesh::edgeStatus > &edgeStat, labelList &sortedToOriginalPoint, labelList &sortedToOriginalEdge)
 Order according to point and edge status. More...
 
bool mergePointsAndSort (const scalar mergeDist, labelList &pointMap, labelList &edgeMap)
 Geometric merge points. Returns true if any points merged. More...
 
bool read (const fileName &name, const word &ext)
 Read from file. Chooses reader based on explicit extension. More...
 
virtual bool read (const fileName &name)
 Read from file. Chooses reader based on detected extension. More...
 
void writeObj (const fileName &prefix) const
 Write all components of the extendedEdgeMesh as obj files. More...
 
virtual void writeStats (Ostream &os) const
 Dump some information. More...
 
- Public Member Functions inherited from edgeMesh
 edgeMesh (const faMesh &mesh)
 Construct finite-area edge mesh faMesh reference. More...
 
label size () const
 Return size. Number of internal edges. More...
 
const edgeVectorFieldC () const
 Field of edge centres. More...
 
 TypeName ("edgeMesh")
 Runtime type information. More...
 
 edgeMesh ()
 Default construct. More...
 
 edgeMesh (const edgeMesh &em)
 Copy construct. More...
 
 edgeMesh (edgeMesh &&em)
 Move construct. More...
 
 edgeMesh (const pointField &points, const edgeList &edges)
 Copy construct from components. More...
 
 edgeMesh (pointField &&pointLst, edgeList &&edgeLst)
 Move construct from components. More...
 
 edgeMesh (const fileName &name)
 Construct from file name (uses extension to determine type) More...
 
 edgeMesh (const fileName &name, const word &fileType)
 Construct from file name with specified type. More...
 
 declareRunTimeSelectionTable (autoPtr, edgeMesh, fileExtension,(const fileName &name),(name))
 
virtual ~edgeMesh ()=default
 Destructor. More...
 
 declareMemberFunctionSelectionTable (void, edgeMesh, write, fileExtension,(const fileName &name, const edgeMesh &mesh, IOstreamOption streamOpt, const dictionary &options),(name, mesh, streamOpt, options))
 
void transfer (edgeMesh &mesh)
 Transfer the contents of the argument and annul the argument. More...
 
bool read (const fileName &name, const word &fileType)
 Read from file. Chooses reader based on explicit extension. More...
 
virtual bool read (const fileName &name)
 Read from file. Chooses reader based on detected extension. More...
 
const pointFieldpoints () const noexcept
 Return points. More...
 
const edgeListedges () const noexcept
 Return edges. More...
 
const labelListListpointEdges () const
 Return edges. More...
 
label regions (labelList &edgeRegion) const
 Find connected regions. Set region number per edge. More...
 
virtual void clear ()
 Clear all storage. More...
 
virtual void scalePoints (const scalar scaleFactor)
 Scale points. A non-positive factor is ignored. More...
 
virtual void mergePoints (const scalar mergeDist)
 Geometric merge points (points within mergeDist) prior to. More...
 
virtual void mergeEdges ()
 Merge duplicate edges and eliminate unused points. More...
 
virtual void writeStats (Ostream &) const
 
virtual void write (const fileName &name, IOstreamOption streamOpt=IOstreamOption(), const dictionary &options=dictionary::null) const
 Write to file, choosing writer based on the file extension. More...
 
virtual void write (const fileName &name, const word &fileType, IOstreamOption streamOpt=IOstreamOption(), const dictionary &options=dictionary::null) const
 Write to file with given format type. More...
 
void operator= (const edgeMesh &rhs)
 Copy assignment. More...
 
void operator= (edgeMesh &&rhs)
 Move assignment. More...
 
- Public Member Functions inherited from GeoMesh< faMesh >
 GeoMesh (const faMesh &mesh)
 Construct from mesh reference. More...
 
bool hasDb () const
 Return true if thisDb() is a valid DB - here = false. More...
 
const objectRegistrythisDb () const
 Return the object registry. More...
 
const faMeshoperator() () const
 Return reference to the underlying mesh. More...
 
- Public Member Functions inherited from edgeMeshFormatsCore
 edgeMeshFormatsCore ()=default
 Default construct. More...
 
virtual ~edgeMeshFormatsCore ()=default
 Destructor. More...
 

Additional Inherited Members

- Public Types inherited from extendedEdgeMesh
enum  pointStatus { CONVEX , CONCAVE , MIXED , NONFEATURE }
 
enum  edgeStatus {
  EXTERNAL , INTERNAL , FLAT , OPEN ,
  MULTIPLE , NONE
}
 
enum  sideVolumeType { INSIDE = 0 , OUTSIDE = 1 , BOTH = 2 , NEITHER = 3 }
 Normals point to the outside. More...
 
- Public Types inherited from GeoMesh< faMesh >
typedef faMesh Mesh
 
typedef MESH::BoundaryMesh BoundaryMesh
 
- Static Public Member Functions inherited from extendedEdgeMesh
static wordHashSet readTypes ()
 Summary of supported read file types. More...
 
static wordHashSet writeTypes ()
 Summary of supported write file types. More...
 
static bool canReadType (const word &fileType, bool verbose=false)
 Can we read this file format? More...
 
static bool canWriteType (const word &fileType, bool verbose=false)
 Can we write this file format type? More...
 
static bool canRead (const fileName &name, bool verbose=false)
 Can we read this file format? More...
 
static autoPtr< extendedEdgeMeshNew (const fileName &name, const word &fileType)
 Select constructed from filename with given file format. More...
 
static autoPtr< extendedEdgeMeshNew (const fileName &name)
 Select constructed from filename (implicit extension) More...
 
static edgeStatus classifyEdge (const List< vector > &norms, const labelList &edNorms, const vector &fC0tofC1)
 Classify the type of feature edge. Requires face centre 0 to face. More...
 
static void sortedOrder (const List< extendedEdgeMesh::pointStatus > &pointStat, const List< extendedEdgeMesh::edgeStatus > &edgeStat, labelList &sortedToOriginalPoint, labelList &sortedToOriginalEdge, label &pointConcaveStart, label &pointMixedStart, label &pointNonFeatStart, label &edgeInternalStart, label &edgeFlatStart, label &edgeOpenStart, label &edgeMultipleStart)
 Determine the ordering. More...
 
- Static Public Member Functions inherited from edgeMesh
static label size (const Mesh &mesh)
 Return size. Number of internal edges. More...
 
static wordHashSet readTypes ()
 Summary of supported read file types. More...
 
static wordHashSet writeTypes ()
 Summary of supported write file types. More...
 
static bool canReadType (const word &fileType, bool verbose=false)
 Can we read this file format? More...
 
static bool canWriteType (const word &fileType, bool verbose=false)
 Can we write this file format type? More...
 
static bool canRead (const fileName &name, bool verbose=false)
 Can we read this file format? More...
 
static autoPtr< edgeMeshNew (const fileName &name, const word &fileType)
 Read construct from filename with given format. More...
 
static autoPtr< edgeMeshNew (const fileName &name)
 Select constructed from filename (implicit extension) More...
 
static void write (const fileName &name, const edgeMesh &mesh, IOstreamOption streamOpt=IOstreamOption(), const dictionary &options=dictionary::null)
 Write to file (format implicit in the extension) More...
 
static void write (const fileName &name, const word &fileType, const edgeMesh &mesh, IOstreamOption streamOpt=IOstreamOption(), const dictionary &options=dictionary::null)
 Write to file, with given format. More...
 
- Static Public Member Functions inherited from edgeMeshFormatsCore
static bool checkSupport (const wordHashSet &available, const word &fileType, const bool verbose=false, const char *functionName=nullptr)
 Verbose checking of fileType in the list of available types. More...
 
- Static Public Attributes inherited from extendedEdgeMesh
static const Enum< pointStatuspointStatusNames_
 
static const Enum< edgeStatusedgeStatusNames_
 
static const Enum< sideVolumeTypesideVolumeTypeNames_
 
static scalar cosNormalAngleTol_
 Angular closeness tolerance for treating normals as the same. More...
 
static constexpr label nPointTypes = 4
 Number of possible point types (i.e. number of slices) More...
 
static constexpr label nEdgeTypes = 5
 Number of possible feature edge types (i.e. number of slices) More...
 
- Static Public Attributes inherited from edgeMeshFormatsCore
static word nativeExt
 The file extension corresponding to 'native' edge format. More...
 
- Protected Member Functions inherited from extendedEdgeMesh
 extendedEdgeMesh (class one::minus)
 Construct null, initializing start indices with -1. More...
 
pointStatus classifyFeaturePoint (label ptI) const
 Classify the type of feature point. Requires valid stored member. More...
 
void cut (const searchableSurface &, labelList &pMap, labelList &eMap, labelList &pointsFromEdge, labelList &oldEdge, labelList &surfTri)
 Cut edges with surface. Return map from cut points&edges back. More...
 
void select (const searchableSurface &surf, const volumeType volType, labelList &pMap, labelList &eMap)
 Remove outside/inside edges. volType denotes which side to keep. More...
 
template<class Patch >
void sortPointsAndEdges (const Patch &, const labelUList &featureEdges, const labelUList &regionFeatureEdges, const labelUList &feaurePoints)
 
- Protected Member Functions inherited from edgeMesh
pointFieldstoredPoints () noexcept
 Non-const access to global points. More...
 
edgeListstoredEdges () noexcept
 Non-const access to the edges. More...
 
- Static Protected Member Functions inherited from edgeMeshFormatsCore
static string getLineNoComment (ISstream &is, const char comment='#')
 Read non-comment line. More...
 
- Protected Attributes inherited from extendedEdgeMesh
label concaveStart_
 Index of the start of the concave feature points. More...
 
label mixedStart_
 Index of the start of the mixed type feature points. More...
 
label nonFeatureStart_
 Index of the start of the non-feature points. More...
 
label internalStart_
 Index of the start of the internal feature edges. More...
 
label flatStart_
 Index of the start of the flat feature edges. More...
 
label openStart_
 Index of the start of the open feature edges. More...
 
label multipleStart_
 Index of the start of the multiply-connected feature edges. More...
 
vectorField normals_
 Normals of the features, to be referred to by index by both feature. More...
 
List< sideVolumeTypenormalVolumeTypes_
 Type per normal: which side of normal to mesh. More...
 
vectorField edgeDirections_
 Flat and open edges require the direction of the edge. More...
 
labelListList normalDirections_
 Starting directions for the edges. More...
 
labelListList edgeNormals_
 Indices of the normals that are adjacent to the feature edges. More...
 
labelListList featurePointNormals_
 Indices of the normals that are adjacent to the feature points. More...
 
labelListList featurePointEdges_
 Indices of feature edges attached to feature points. The edges are. More...
 
labelList regionEdges_
 Feature edges which are on the boundary between regions. More...
 
unique_ptr< indexedOctree< treeDataPoint > > pointTree_
 Search tree for all feature points. More...
 
unique_ptr< indexedOctree< treeDataEdge > > edgeTree_
 Search tree for all edges. More...
 
PtrList< indexedOctree< treeDataEdge > > edgeTreesByType_
 Individual search trees for each type of edge. More...
 
- Protected Attributes inherited from GeoMesh< faMesh >
const faMeshmesh_
 Reference to Mesh. More...
 
- Static Protected Attributes inherited from extendedEdgeMesh
static label convexStart_ = 0
 Index of the start of the convex feature points - static as 0. More...
 
static label externalStart_ = 0
 Index of the start of the external feature edges - static as 0. More...
 

Detailed Description

Provide a means of reading/writing the single-file OpenFOAM extendedEdgeMesh format.

Source files

Definition at line 54 of file extendedEdgeMeshFormat.H.

Constructor & Destructor Documentation

◆ extendedEdgeMeshFormat()

extendedEdgeMeshFormat ( const fileName filename)

Construct from file name.

Definition at line 36 of file extendedEdgeMeshFormat.C.

References extendedEdgeMeshFormat::read().

Here is the call graph for this function:

◆ ~extendedEdgeMeshFormat()

virtual ~extendedEdgeMeshFormat ( )
virtualdefault

Destructor.

Member Function Documentation

◆ read()

bool read ( const fileName filename)
virtual

Read from file.

Reimplemented from extendedEdgeMesh.

Definition at line 47 of file extendedEdgeMeshFormat.C.

References clear(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, IOstream::good(), io(), Time::New(), IOobject::NO_READ, and IOobject::NO_WRITE.

Referenced by extendedEdgeMeshFormat::extendedEdgeMeshFormat().

Here is the call graph for this function:
Here is the caller graph for this function:

The documentation for this class was generated from the following files: