Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Friends
edgeMesh Class Reference

Points connected by edges. More...

Inheritance diagram for edgeMesh:
Inheritance graph
[legend]
Collaboration diagram for edgeMesh:
Collaboration graph
[legend]

Public Member Functions

 TypeName ("edgeMesh")
 Runtime type information. More...
 
 edgeMesh ()
 Construct null. More...
 
 edgeMesh (const pointField &, const edgeList &)
 Construct from components. More...
 
 edgeMesh (const Xfer< pointField > &, const Xfer< edgeList > &)
 Construct by transferring components (points, edges). More...
 
 edgeMesh (const edgeMesh &)
 Construct as copy. More...
 
 edgeMesh (const fileName &)
 Construct from file name (uses extension to determine type) More...
 
 edgeMesh (const fileName &, const word &ext)
 Construct from file name (uses extension to determine type) More...
 
 edgeMesh (Istream &)
 Construct from Istream. More...
 
 declareRunTimeSelectionTable (autoPtr, edgeMesh, fileExtension,(const fileName &name),(name))
 
virtual ~edgeMesh ()
 Destructor. More...
 
 declareMemberFunctionSelectionTable (void, edgeMesh, write, fileExtension,(const fileName &name, const edgeMesh &mesh),(name, mesh))
 
void transfer (edgeMesh &)
 Transfer the contents of the argument and annul the argument. More...
 
Xfer< edgeMeshxfer ()
 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...
 
const pointFieldpoints () const
 Return points. More...
 
const edgeListedges () const
 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 reset (const Xfer< pointField > &points, const Xfer< edgeList > &edges)
 Reset primitive data (points, edges) More...
 
virtual void scalePoints (const scalar)
 Scale points. A non-positive factor is ignored. More...
 
virtual void mergePoints (const scalar mergeDist, labelList &)
 Merge common points (points within mergeDist). Return map from. More...
 
virtual void mergeEdges ()
 Merge duplicate edges. More...
 
virtual void writeStats (Ostream &) const
 
virtual void write (const fileName &name) const
 Generic write routine. Chooses writer based on extension. More...
 
void operator= (const edgeMesh &)
 
- Public Member Functions inherited from edgeMeshFormatsCore
 edgeMeshFormatsCore ()
 Construct null. More...
 
virtual ~edgeMeshFormatsCore ()
 Destructor. More...
 

Static Public Member Functions

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 type? More...
 
static wordHashSet readTypes ()
 
static wordHashSet writeTypes ()
 
static autoPtr< edgeMeshNew (const fileName &, const word &ext)
 Select constructed from filename (explicit extension) More...
 
static autoPtr< edgeMeshNew (const fileName &)
 Select constructed from filename (implicit extension) More...
 
static void write (const fileName &, const edgeMesh &)
 Write to file. More...
 
- Static Public Member Functions inherited from edgeMeshFormatsCore
static bool checkSupport (const wordHashSet &available, const word &ext, const bool verbose, const word &functionName)
 

Protected Member Functions

pointFieldstoredPoints ()
 Non-const access to global points. More...
 
edgeListstoredEdges ()
 Non-const access to the edges. More...
 

Private Member Functions

void calcPointEdges () const
 Calculate point-edge addressing (inverse of edges) More...
 

Private Attributes

pointField points_
 Vertices of the edges. More...
 
edgeList edges_
 The edges defining the boundary. More...
 
autoPtr< labelListListpointEdgesPtr_
 From point to edges. More...
 

Friends

Ostreamoperator<< (Ostream &, const edgeMesh &)
 
Istreamoperator>> (Istream &, edgeMesh &)
 

Additional Inherited Members

- Static Public Attributes inherited from edgeMeshFormatsCore
static word nativeExt
 The file extension corresponding to 'native' edge format. More...
 
- Static Protected Member Functions inherited from edgeMeshFormatsCore
static string getLineNoComment (IFstream &)
 Read non-comment line. More...
 

Detailed Description

Points connected by edges.

Can be read from fileName based on extension. Uses ::New factory method to select the reader and transfer the result.

Source files

Definition at line 69 of file edgeMesh.H.

Constructor & Destructor Documentation

◆ edgeMesh() [1/7]

edgeMesh ( )

Construct null.

Definition at line 123 of file edgeMesh.C.

◆ edgeMesh() [2/7]

edgeMesh ( const pointField points,
const edgeList edges 
)

Construct from components.

Definition at line 133 of file edgeMesh.C.

◆ edgeMesh() [3/7]

edgeMesh ( const Xfer< pointField > &  pointLst,
const Xfer< edgeList > &  edgeLst 
)

Construct by transferring components (points, edges).

Definition at line 146 of file edgeMesh.C.

◆ edgeMesh() [4/7]

edgeMesh ( const edgeMesh em)
inline

Construct as copy.

Definition at line 28 of file edgeMeshI.H.

◆ edgeMesh() [5/7]

edgeMesh ( const fileName name)

Construct from file name (uses extension to determine type)

Definition at line 46 of file edgeMeshIO.C.

References Foam::name(), and edgeMesh::read().

Here is the call graph for this function:

◆ edgeMesh() [6/7]

edgeMesh ( const fileName name,
const word ext 
)

Construct from file name (uses extension to determine type)

Definition at line 33 of file edgeMeshIO.C.

References Foam::name(), and Foam::read().

Here is the call graph for this function:

◆ edgeMesh() [7/7]

edgeMesh ( Istream )

Construct from Istream.

◆ ~edgeMesh()

~edgeMesh ( )
virtual

Destructor.

Definition at line 163 of file edgeMesh.C.

Member Function Documentation

◆ calcPointEdges()

void calcPointEdges ( ) const
private

Calculate point-edge addressing (inverse of edges)

Definition at line 106 of file edgeMesh.C.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, Foam::invertManyToMany(), and List::size().

Here is the call graph for this function:

◆ storedPoints()

Foam::pointField & storedPoints ( )
inlineprotected

Non-const access to global points.

Definition at line 61 of file edgeMeshI.H.

Referenced by OBJedgeFormat::read().

Here is the caller graph for this function:

◆ storedEdges()

Foam::edgeList & storedEdges ( )
inlineprotected

Non-const access to the edges.

Definition at line 67 of file edgeMeshI.H.

Referenced by OBJedgeFormat::read().

Here is the caller graph for this function:

◆ TypeName()

TypeName ( "edgeMesh"  )

Runtime type information.

◆ canRead()

bool canRead ( const fileName name,
const bool  verbose = false 
)
static

Can we read this file format?

Definition at line 90 of file edgeMesh.C.

References Foam::name().

Here is the call graph for this function:

◆ canReadType()

bool canReadType ( const word ext,
const bool  verbose = false 
)
static

Can we read this file format?

Definition at line 58 of file edgeMesh.C.

◆ canWriteType()

bool canWriteType ( const word ext,
const bool  verbose = false 
)
static

Can we write this file format type?

Definition at line 74 of file edgeMesh.C.

◆ readTypes()

Foam::wordHashSet readTypes ( )
static

Definition at line 43 of file edgeMesh.C.

◆ writeTypes()

Foam::wordHashSet writeTypes ( )
static

Definition at line 49 of file edgeMesh.C.

◆ declareRunTimeSelectionTable()

declareRunTimeSelectionTable ( autoPtr  ,
edgeMesh  ,
fileExtension  ,
(const fileName &name ,
(name  
)

◆ New() [1/2]

Foam::autoPtr< Foam::edgeMesh > New ( const fileName name,
const word ext 
)
static

Select constructed from filename (explicit extension)

Definition at line 31 of file edgeMeshNew.C.

References Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::name(), and Foam::nl.

Referenced by edgeMesh::New().

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

◆ New() [2/2]

Foam::autoPtr< Foam::edgeMesh > New ( const fileName name)
static

Select constructed from filename (implicit extension)

Definition at line 53 of file edgeMeshNew.C.

References Foam::name(), and edgeMesh::New().

Here is the call graph for this function:

◆ declareMemberFunctionSelectionTable()

declareMemberFunctionSelectionTable ( void  ,
edgeMesh  ,
write  ,
fileExtension  ,
(const fileName &name, const edgeMesh &mesh ,
(name, mesh  
)

◆ write() [1/2]

void write ( const fileName name,
const edgeMesh mesh 
)
static

Write to file.

Definition at line 87 of file edgeMeshIO.C.

References Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::Info, mesh, Foam::name(), and Foam::nl.

Referenced by edgeMesh::write(), and extendedEdgeMesh::writeObj().

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

◆ transfer()

void transfer ( edgeMesh mesh)

Transfer the contents of the argument and annul the argument.

Definition at line 200 of file edgeMesh.C.

References mesh, and polyMesh::points_.

Referenced by extendedEdgeMesh::transfer().

Here is the caller graph for this function:

◆ xfer()

Transfer contents to the Xfer container.

Definition at line 208 of file edgeMesh.C.

References Foam::xferMove().

Here is the call graph for this function:

◆ read() [1/2]

bool read ( const fileName name,
const word ext 
)

Read from file. Chooses reader based on explicit extension.

Definition at line 75 of file edgeMeshIO.C.

References Foam::name(), and Foam::compressible::New().

Referenced by edgeMesh::edgeMesh().

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

◆ read() [2/2]

bool read ( const fileName name)
virtual

Read from file. Chooses reader based on detected extension.

Reimplemented in extendedEdgeMesh, STARCDedgeFormat, edgeMeshFormat, VTKedgeFormat, OBJedgeFormat, NASedgeFormat, extendedFeatureEdgeMeshFormat, and extendedEdgeMeshFormat.

Definition at line 58 of file edgeMeshIO.C.

References fileName::ext(), Foam::name(), and Foam::read().

Here is the call graph for this function:

◆ points()

const Foam::pointField & points ( ) const
inline

◆ edges()

const Foam::edgeList & edges ( ) const
inline

◆ pointEdges()

const Foam::labelListList & pointEdges ( ) const
inline

Return edges.

Definition at line 51 of file edgeMeshI.H.

Referenced by meshRefinement::markFeatureCellLevel(), and refinementFeatures::read().

Here is the caller graph for this function:

◆ regions()

Foam::label regions ( labelList edgeRegion) const

Find connected regions. Set region number per edge.

Returns number of regions.

Definition at line 214 of file edgeMesh.C.

References DynamicList::append(), Foam::e, forAll, List::setSize(), List::size(), and List::transfer().

Referenced by meshRefinement::markFeatureCellLevel().

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

◆ clear()

void clear ( )
virtual

Clear all storage.

Reimplemented in extendedEdgeMesh.

Definition at line 169 of file edgeMesh.C.

Referenced by extendedEdgeMesh::clear(), and OBJedgeFormat::read().

Here is the caller graph for this function:

◆ reset()

void reset ( const Xfer< pointField > &  points,
const Xfer< edgeList > &  edges 
)
virtual

Reset primitive data (points, edges)

Note, optimized to avoid overwriting data (with Xfer::null)

Definition at line 178 of file edgeMesh.C.

References Foam::notNull().

Here is the call graph for this function:

◆ scalePoints()

void scalePoints ( const scalar  scaleFactor)
virtual

Scale points. A non-positive factor is ignored.

Definition at line 279 of file edgeMesh.C.

◆ mergePoints()

void mergePoints ( const scalar  mergeDist,
labelList reversePointMap 
)
virtual

Merge common points (points within mergeDist). Return map from.

old to new points.

Definition at line 290 of file edgeMesh.C.

References Foam::e, forAll, forAllConstIter(), HashTable::insert(), Foam::mergePoints(), and Vector< scalar >::zero.

Here is the call graph for this function:

◆ mergeEdges()

void mergeEdges ( )
virtual

Merge duplicate edges.

Definition at line 365 of file edgeMesh.C.

References Foam::e, Foam::endl(), forAll, forAllConstIter(), Foam::Info, HashTable::insert(), and HashTable::size().

Here is the call graph for this function:

◆ writeStats()

void writeStats ( Ostream os) const
virtual

Reimplemented in extendedEdgeMesh.

Definition at line 120 of file edgeMeshIO.C.

References Foam::endl(), Foam::indent(), Foam::nl, and points.

Referenced by refinementFeatures::read(), and extendedEdgeMesh::writeStats().

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

◆ write() [2/2]

virtual void write ( const fileName name) const
inlinevirtual

Generic write routine. Chooses writer based on extension.

Reimplemented in STARCDedgeFormat, edgeMeshFormat, VTKedgeFormat, and OBJedgeFormat.

Definition at line 262 of file edgeMesh.H.

References Foam::name(), and edgeMesh::write().

Here is the call graph for this function:

◆ operator=()

void operator= ( const edgeMesh rhs)
inline

Definition at line 75 of file edgeMeshI.H.

References List::clear(), edgeMesh::edges_, and edgeMesh::points_.

Here is the call graph for this function:

Friends And Related Function Documentation

◆ operator<<

Ostream& operator<< ( Ostream ,
const edgeMesh  
)
friend

◆ operator>>

Istream& operator>> ( Istream ,
edgeMesh  
)
friend

Field Documentation

◆ points_

pointField points_
private

Vertices of the edges.

Definition at line 76 of file edgeMesh.H.

Referenced by Foam::operator<<(), edgeMesh::operator=(), and Foam::operator>>().

◆ edges_

edgeList edges_
private

The edges defining the boundary.

Definition at line 79 of file edgeMesh.H.

Referenced by Foam::operator<<(), edgeMesh::operator=(), and Foam::operator>>().

◆ pointEdgesPtr_

autoPtr<labelListList> pointEdgesPtr_
mutableprivate

From point to edges.

Definition at line 82 of file edgeMesh.H.

Referenced by Foam::operator>>().


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