UnsortedMeshedSurface< Face > Class Template Reference

A surface geometry mesh, in which the surface zone information is conveyed by the 'zoneId' associated with each face. More...

Inheritance diagram for UnsortedMeshedSurface< Face >:
[legend]

Public Types

typedef Face FaceType
 Face type used. More...
 

Public Member Functions

 TypeName ("UnsortedMeshedSurface")
 Runtime type information. More...
 
 UnsortedMeshedSurface ()
 Construct null. More...
 
 UnsortedMeshedSurface (const UnsortedMeshedSurface< Face > &surf)
 Construct as copy. More...
 
 UnsortedMeshedSurface (const MeshedSurface< Face > &surf)
 Construct from a MeshedSurface. More...
 
 UnsortedMeshedSurface (UnsortedMeshedSurface< Face > &&surf)
 Move construct from a UnsortedMeshedSurface. More...
 
 UnsortedMeshedSurface (MeshedSurface< Face > &&surf)
 Move construct from MeshedSurface. More...
 
 UnsortedMeshedSurface (pointField &&pointLst, List< Face > &&faceLst, List< label > &&zoneIds, UList< surfZoneIdentifier > &tocInfo)
 Move construct from components (points, faces, zone ids). More...
 
 UnsortedMeshedSurface (const fileName &name)
 Construct from file name (uses extension to determine type) More...
 
 UnsortedMeshedSurface (const fileName &name, const word &ext)
 Construct from file name (uses extension to determine type) More...
 
 UnsortedMeshedSurface (Istream &is)
 Construct from Istream. More...
 
 UnsortedMeshedSurface (const Time &t, const word &surfName=word::null)
 Construct from objectRegistry and a named surface. More...
 
 declareRunTimeSelectionTable (autoPtr, UnsortedMeshedSurface, fileExtension,(const fileName &name),(name))
 
virtual ~UnsortedMeshedSurface ()=default
 Destructor. More...
 
 declareMemberFunctionSelectionTable (void, UnsortedMeshedSurface, write, fileExtension,(const fileName &name, const UnsortedMeshedSurface< Face > &surf, const dictionary &options),(name, surf, options))
 
label size () const
 The surface size is the number of faces. More...
 
void setSize (const label)
 Reset size of face and zone list. More...
 
virtual const labelListzoneIds () const
 Return const access to the zone ids. More...
 
const List< surfZoneIdentifier > & zoneToc () const
 Return const access to the zone table-of-contents. More...
 
surfZoneList sortedZones (labelList &faceMap) const
 Sort faces according to zoneIds. More...
 
void setOneZone ()
 Set zones to 0 and set a single zone. More...
 
void setZones (const surfZoneList &zoneLst)
 Set zone ids and zones. More...
 
void setZones (const labelUList &sizes, const UList< word > &names)
 Set zone ids and zones. More...
 
void setZones (const labelUList &sizes)
 Set zone ids and zones with default names. More...
 
virtual void clear ()
 Clear all storage. More...
 
template<class BoolListType >
UnsortedMeshedSurface subsetMesh (const BoolListType &include, labelList &pointMap, labelList &faceMap) const
 Return new surface. More...
 
UnsortedMeshedSurface subsetMesh (const bitSet &include) const
 Return new surface. More...
 
UnsortedMeshedSurface subsetMesh (const labelHashSet &include) const
 Return new surface. More...
 
void swap (MeshedSurface< Face > &surf)=delete
 Swap contents - disabled. More...
 
void swap (UnsortedMeshedSurface< Face > &surf)
 Swap contents. More...
 
void transfer (UnsortedMeshedSurface< Face > &surf)
 Transfer the contents of the argument and annul the argument. More...
 
void transfer (MeshedSurface< Face > &surf)
 Transfer the contents of the argument and annul the argument. More...
 
autoPtr< labelListreleaseZoneIds ()
 Release (clear) stored zoneIds and return for reuse. 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...
 
virtual void write (const fileName &name, const dictionary &options=dictionary::null) const
 Generic write routine. Chooses writer based on its extension. More...
 
void write (const Time &t, const word &surfName=word::null) const
 Write to database. More...
 
void operator= (const UnsortedMeshedSurface< Face > &surf)
 Copy assignment. More...
 
void operator= (UnsortedMeshedSurface< Face > &&surf)
 Move assignment. More...
 
 operator MeshedSurfaceProxy< Face > () const
 Conversion operator to MeshedSurfaceProxy. More...
 
template<class BoolListType >
Foam::UnsortedMeshedSurface< Face > subsetMesh (const BoolListType &include, labelList &pointMap, labelList &faceMap) const
 

Static Public Member Functions

static bool canReadType (const word &ext, bool verbose=false)
 Can we read this file format type? More...
 
static bool canRead (const fileName &name, bool verbose=false)
 Can we read this file format? More...
 
static bool canWriteType (const word &ext, bool verbose=false)
 Can we write this file format type? More...
 
static wordHashSet readTypes ()
 Known readable file-types. More...
 
static wordHashSet writeTypes ()
 Known writable file-types. More...
 
static autoPtr< UnsortedMeshedSurfaceNew (const fileName &name, const word &ext)
 Select constructed from filename (explicit extension) More...
 
static autoPtr< UnsortedMeshedSurfaceNew (const fileName &name)
 Select constructed from filename (implicit extension) More...
 
static void write (const fileName &name, const UnsortedMeshedSurface< Face > &surf, const dictionary &options=dictionary::null)
 Write to file, select based on its extension. More...
 
static void write (const fileName &name, const word &ext, const UnsortedMeshedSurface< Face > &surf, const dictionary &options)
 Write to file, selected based on given extension. More...
 

Protected Member Functions

labelListstoredZoneIds ()
 Return non-const access to the zone Ids. More...
 
List< surfZoneIdentifier > & storedZoneToc ()
 Return non-const access to the zone table-of-contents. More...
 
virtual void remapFaces (const labelUList &faceMap)
 Set new zones from faceMap. More...
 

Friends

template<class Face2 >
class MeshedSurface
 
template<class Face2 >
class UnsortedMeshedSurface
 
class surfMesh
 
Istreamoperator>> (Istream &is, UnsortedMeshedSurface< Face > &surf)
 Read UnsortedMeshedSurface from Istream. More...
 
Ostreamoperator (Ostream &os, const UnsortedMeshedSurface< Face > &surf)
 Write UnsortedMeshedSurface to Ostream. More...
 

Detailed Description

template<class Face>
class Foam::UnsortedMeshedSurface< Face >

A surface geometry mesh, in which the surface zone information is conveyed by the 'zoneId' associated with each face.

This form of surface description is particularly useful for reading in surface meshes from third-party formats (eg, obj, stl, gts, etc.). It can also be particularly useful for situations in which the surface many be adjusted in an arbitrary manner without worrying about needed to adjust the zone information (eg, surface refinement).

See also
The Foam::MeshedSurface - which is organized as a surface mesh, but with independent zone information.
Source files

Definition at line 79 of file MeshedSurface.H.

Member Typedef Documentation

◆ FaceType

typedef Face FaceType

Face type used.

Definition at line 153 of file UnsortedMeshedSurface.H.

Constructor & Destructor Documentation

◆ UnsortedMeshedSurface() [1/10]

Construct null.

Definition at line 160 of file UnsortedMeshedSurface.C.

◆ UnsortedMeshedSurface() [2/10]

UnsortedMeshedSurface ( const UnsortedMeshedSurface< Face > &  surf)

Construct as copy.

Definition at line 168 of file UnsortedMeshedSurface.C.

◆ UnsortedMeshedSurface() [3/10]

UnsortedMeshedSurface ( const MeshedSurface< Face > &  surf)

Construct from a MeshedSurface.

Definition at line 180 of file UnsortedMeshedSurface.C.

References MeshedSurface< Face >::surfZones().

Here is the call graph for this function:

◆ UnsortedMeshedSurface() [4/10]

Move construct from a UnsortedMeshedSurface.

Definition at line 194 of file UnsortedMeshedSurface.C.

◆ UnsortedMeshedSurface() [5/10]

UnsortedMeshedSurface ( MeshedSurface< Face > &&  surf)

Move construct from MeshedSurface.

Definition at line 206 of file UnsortedMeshedSurface.C.

◆ UnsortedMeshedSurface() [6/10]

UnsortedMeshedSurface ( pointField &&  pointLst,
List< Face > &&  faceLst,
List< label > &&  zoneIds,
UList< surfZoneIdentifier > &  tocInfo 
)

Move construct from components (points, faces, zone ids).

Zone information is fairly lightweight and is copied.

Definition at line 218 of file UnsortedMeshedSurface.C.

◆ UnsortedMeshedSurface() [7/10]

UnsortedMeshedSurface ( const fileName name)

Construct from file name (uses extension to determine type)

Definition at line 246 of file UnsortedMeshedSurface.C.

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

Here is the call graph for this function:

◆ UnsortedMeshedSurface() [8/10]

UnsortedMeshedSurface ( const fileName name,
const word ext 
)

Construct from file name (uses extension to determine type)

Definition at line 233 of file UnsortedMeshedSurface.C.

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

Here is the call graph for this function:

◆ UnsortedMeshedSurface() [9/10]

Construct from Istream.

Definition at line 258 of file UnsortedMeshedSurface.C.

References Foam::read().

Here is the call graph for this function:

◆ UnsortedMeshedSurface() [10/10]

UnsortedMeshedSurface ( const Time t,
const word surfName = word::null 
)

Construct from objectRegistry and a named surface.

Definition at line 270 of file UnsortedMeshedSurface.C.

◆ ~UnsortedMeshedSurface()

virtual ~UnsortedMeshedSurface ( )
virtualdefault

Destructor.

Member Function Documentation

◆ storedZoneIds()

labelList& storedZoneIds ( )
inlineprotected

Return non-const access to the zone Ids.

Definition at line 133 of file UnsortedMeshedSurface.H.

◆ storedZoneToc()

List<surfZoneIdentifier>& storedZoneToc ( )
inlineprotected

Return non-const access to the zone table-of-contents.

Definition at line 139 of file UnsortedMeshedSurface.H.

◆ remapFaces()

void remapFaces ( const labelUList faceMap)
protectedvirtual

Set new zones from faceMap.

Definition at line 385 of file UnsortedMeshedSurface.C.

References Foam::faceMap(), and forAll.

Here is the call graph for this function:

◆ TypeName()

TypeName ( "UnsortedMeshedSurface< Face >"  )

Runtime type information.

◆ canReadType()

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

Can we read this file format type?

Definition at line 56 of file UnsortedMeshedSurface.C.

◆ canRead()

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

Can we read this file format?

Definition at line 90 of file UnsortedMeshedSurface.C.

References word::ext(), word::lessExt(), and Foam::name().

Here is the call graph for this function:

◆ canWriteType()

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

Can we write this file format type?

Definition at line 73 of file UnsortedMeshedSurface.C.

◆ readTypes()

Foam::wordHashSet readTypes ( )
static

Known readable file-types.

Definition at line 41 of file UnsortedMeshedSurface.C.

Referenced by triSurface::readTypes().

Here is the caller graph for this function:

◆ writeTypes()

Foam::wordHashSet writeTypes ( )
static

Known writable file-types.

Definition at line 48 of file UnsortedMeshedSurface.C.

◆ declareRunTimeSelectionTable()

declareRunTimeSelectionTable ( autoPtr  ,
UnsortedMeshedSurface< Face >  ,
fileExtension  ,
(const fileName &name ,
(name  
)

◆ New() [1/2]

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

Select constructed from filename (explicit extension)

Definition at line 37 of file UnsortedMeshedSurfaceNew.C.

References Foam::expressions::patchExpr::debug, Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::flatOutput(), HashTable< T, Key, Hash >::found(), InfoInFunction, Foam::name(), Foam::New(), and Foam::nl.

Here is the call graph for this function:

◆ New() [2/2]

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

Select constructed from filename (implicit extension)

Definition at line 78 of file UnsortedMeshedSurfaceNew.C.

References word::ext(), word::lessExt(), Foam::name(), and Foam::New().

Here is the call graph for this function:

◆ declareMemberFunctionSelectionTable()

declareMemberFunctionSelectionTable ( void  ,
UnsortedMeshedSurface< Face >  ,
write  ,
fileExtension  ,
(const fileName &name, const UnsortedMeshedSurface< Face > &surf, const dictionary &options)  ,
(name, surf, options)   
)

◆ write() [1/4]

void write ( const fileName name,
const UnsortedMeshedSurface< Face > &  surf,
const dictionary options = dictionary::null 
)
static

Write to file, select based on its extension.

Definition at line 106 of file UnsortedMeshedSurface.C.

References word::ext(), Foam::name(), and Foam::vtk::write().

Here is the call graph for this function:

◆ write() [2/4]

void write ( const fileName name,
const word ext,
const UnsortedMeshedSurface< Face > &  surf,
const dictionary options 
)
static

Write to file, selected based on given extension.

Definition at line 118 of file UnsortedMeshedSurface.C.

References Foam::expressions::patchExpr::debug, Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::flatOutput(), HashTable< T, Key, Hash >::found(), InfoInFunction, Foam::name(), Foam::nl, and MeshedSurfaceProxy< Face >::write().

Here is the call graph for this function:

◆ size()

label size ( ) const
inline

The surface size is the number of faces.

Definition at line 291 of file UnsortedMeshedSurface.H.

References MeshedSurface< Face >::size().

Referenced by GTSsurfaceFormat< Face >::write().

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

◆ setSize()

void setSize ( const label  s)

Reset size of face and zone list.

Definition at line 443 of file UnsortedMeshedSurface.C.

References s.

◆ zoneIds()

virtual const labelList& zoneIds ( ) const
inlinevirtual

Return const access to the zone ids.

Definition at line 300 of file UnsortedMeshedSurface.H.

Referenced by GTSsurfaceFormat< Face >::write(), TRIsurfaceFormat< Face >::write(), VTKsurfaceFormat< Face >::write(), VTPsurfaceFormat< Face >::write(), and STLsurfaceFormat< Face >::writeBinary().

Here is the caller graph for this function:

◆ zoneToc()

const List<surfZoneIdentifier>& zoneToc ( ) const
inline

Return const access to the zone table-of-contents.

Definition at line 306 of file UnsortedMeshedSurface.H.

Referenced by GTSsurfaceFormat< Face >::write(), TRIsurfaceFormat< Face >::write(), and STLsurfaceFormat< Face >::writeAscii().

Here is the caller graph for this function:

◆ sortedZones()

Foam::surfZoneList sortedZones ( labelList faceMap) const

Sort faces according to zoneIds.

Returns a surfZoneList and sets faceMap to index within faces() (i.e. map from original,unsorted to sorted)

Definition at line 462 of file UnsortedMeshedSurface.C.

References Foam::faceMap(), forAll, forAllIters, Foam::cellModeller::lookup(), Foam::name(), and Foam::start.

Referenced by MeshedSurface< Foam::face >::MeshedSurface(), MeshedSurface< Foam::face >::transfer(), AC3DsurfaceFormat< Face >::write(), TRIsurfaceFormat< Face >::write(), and STLsurfaceFormat< Face >::writeAscii().

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

◆ setOneZone()

void setOneZone ( )

Set zones to 0 and set a single zone.

Definition at line 285 of file UnsortedMeshedSurface.C.

◆ setZones() [1/3]

void setZones ( const surfZoneList zoneLst)

Set zone ids and zones.

Definition at line 310 of file UnsortedMeshedSurface.C.

References forAll.

◆ setZones() [2/3]

void setZones ( const labelUList sizes,
const UList< word > &  names 
)

Set zone ids and zones.

Definition at line 332 of file UnsortedMeshedSurface.C.

References forAll, UList< T >::size(), and Foam::start.

Here is the call graph for this function:

◆ setZones() [3/3]

void setZones ( const labelUList sizes)

Set zone ids and zones with default names.

Definition at line 357 of file UnsortedMeshedSurface.C.

References forAll, Foam::name(), UList< T >::size(), and Foam::start.

Here is the call graph for this function:

◆ clear()

void clear ( )
virtual

Clear all storage.

Definition at line 452 of file UnsortedMeshedSurface.C.

References clear().

Referenced by UnsortedMeshedSurface< Face >::swap(), UnsortedMeshedSurface< Face >::transfer(), and MeshedSurface< Foam::face >::transfer().

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

◆ subsetMesh() [1/4]

UnsortedMeshedSurface subsetMesh ( const BoolListType &  include,
labelList pointMap,
labelList faceMap 
) const

Return new surface.

Parameters
[in]includethe faces to select
[out]pointMapfrom subsetMeshMap
[out]faceMapfrom subsetMeshMap

◆ subsetMesh() [2/4]

UnsortedMeshedSurface subsetMesh ( const bitSet include) const

Return new surface.

◆ subsetMesh() [3/4]

Foam::UnsortedMeshedSurface< Face > subsetMesh ( const labelHashSet include) const

Return new surface.

Definition at line 591 of file UnsortedMeshedSurface.C.

References Foam::faceMap().

Here is the call graph for this function:

◆ swap() [1/2]

void swap ( MeshedSurface< Face > &  surf)
delete

Swap contents - disabled.

Referenced by UnsortedMeshedSurface< Face >::swap().

Here is the caller graph for this function:

◆ swap() [2/2]

void swap ( UnsortedMeshedSurface< Face > &  surf)

Swap contents.

Definition at line 602 of file UnsortedMeshedSurface.C.

References UnsortedMeshedSurface< Face >::clear(), and UnsortedMeshedSurface< Face >::swap().

Here is the call graph for this function:

◆ transfer() [1/2]

void transfer ( UnsortedMeshedSurface< Face > &  surf)

Transfer the contents of the argument and annul the argument.

Definition at line 626 of file UnsortedMeshedSurface.C.

References clear(), and UnsortedMeshedSurface< Face >::clear().

Here is the call graph for this function:

◆ transfer() [2/2]

void transfer ( MeshedSurface< Face > &  surf)

Transfer the contents of the argument and annul the argument.

Definition at line 648 of file UnsortedMeshedSurface.C.

References MeshedSurface< Face >::surfZones().

Here is the call graph for this function:

◆ releaseZoneIds()

Foam::autoPtr< Foam::labelList > releaseZoneIds ( )

Release (clear) stored zoneIds and return for reuse.

Definition at line 661 of file UnsortedMeshedSurface.C.

References autoPtr< T >::New().

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 685 of file UnsortedMeshedSurface.C.

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

Here is the call graph for this function:

◆ read() [2/2]

bool read ( const fileName name)
virtual

Read from file. Chooses reader based on detected extension.

Reimplemented in GTSsurfaceFormat< Face >.

Definition at line 669 of file UnsortedMeshedSurface.C.

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

Here is the call graph for this function:

◆ write() [3/4]

virtual void write ( const fileName name,
const dictionary options = dictionary::null 
) const
inlinevirtual

Generic write routine. Chooses writer based on its extension.

Reimplemented in GTSsurfaceFormat< Face >.

Definition at line 382 of file UnsortedMeshedSurface.H.

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

Here is the call graph for this function:

◆ write() [4/4]

void write ( const Time t,
const word surfName = word::null 
) const

Write to database.

Definition at line 700 of file UnsortedMeshedSurface.C.

References MeshedSurfaceProxy< Face >::write().

Here is the call graph for this function:

◆ operator=() [1/2]

void operator= ( const UnsortedMeshedSurface< Face > &  surf)

Copy assignment.

Definition at line 713 of file UnsortedMeshedSurface.C.

References clear(), and MeshedSurface< Face >::surfFaces().

Here is the call graph for this function:

◆ operator=() [2/2]

void operator= ( UnsortedMeshedSurface< Face > &&  surf)

Move assignment.

Definition at line 728 of file UnsortedMeshedSurface.C.

◆ operator MeshedSurfaceProxy< Face >()

operator MeshedSurfaceProxy< Face > ( ) const

Conversion operator to MeshedSurfaceProxy.

◆ subsetMesh() [4/4]

Foam::UnsortedMeshedSurface<Face> subsetMesh ( const BoolListType &  include,
labelList pointMap,
labelList faceMap 
) const

Definition at line 535 of file UnsortedMeshedSurface.C.

References Foam::faceMap(), forAll, and PatchTools::subsetMap().

Here is the call graph for this function:

Friends And Related Function Documentation

◆ MeshedSurface

friend class MeshedSurface
friend

Definition at line 89 of file UnsortedMeshedSurface.H.

◆ UnsortedMeshedSurface

friend class UnsortedMeshedSurface
friend

Definition at line 90 of file UnsortedMeshedSurface.H.

◆ surfMesh

friend class surfMesh
friend

Definition at line 93 of file UnsortedMeshedSurface.H.

◆ operator>>

Istream& operator>> ( Istream is,
UnsortedMeshedSurface< Face > &  surf 
)
friend

Read UnsortedMeshedSurface from Istream.

Avoid using to read/write file content (fragile).

◆ operator

Ostream& operator ( Ostream os,
const UnsortedMeshedSurface< Face > &  surf 
)
friend

Write UnsortedMeshedSurface to Ostream.

Avoid using to read/write file content (fragile).


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