Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | Friends
UnsortedMeshedSurface Class 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:
Inheritance graph
[legend]
Collaboration diagram for UnsortedMeshedSurface:
Collaboration graph
[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 Xfer< pointField > &, const Xfer< List< Face > > &, const Xfer< List< label > > &zoneIds, const Xfer< surfZoneIdentifierList > &)
 Construct by transferring components. More...
 
 UnsortedMeshedSurface (const Xfer< pointField > &, const Xfer< List< Face > > &, const labelUList &zoneSizes=labelUList(), const UList< word > &zoneNames=UList< word >())
 Construct by transferring points, faces. More...
 
 UnsortedMeshedSurface (const UnsortedMeshedSurface< Face > &)
 Construct as copy. More...
 
 UnsortedMeshedSurface (const MeshedSurface< Face > &)
 Construct from a meshedSurface. More...
 
 UnsortedMeshedSurface (const Xfer< UnsortedMeshedSurface< Face > > &)
 Construct by transferring the contents from a UnsortedMeshedSurface. More...
 
 UnsortedMeshedSurface (const Xfer< MeshedSurface< Face > > &)
 Construct by transferring the contents from a meshedSurface. More...
 
 UnsortedMeshedSurface (const fileName &)
 Construct from file name (uses extension to determine type) More...
 
 UnsortedMeshedSurface (const fileName &, const word &)
 Construct from file name (uses extension to determine type) More...
 
 UnsortedMeshedSurface (const Time &, const word &surfName="")
 Construct from objectRegistry and a named surface. More...
 
 declareRunTimeSelectionTable (autoPtr, UnsortedMeshedSurface, fileExtension,(const fileName &name),(name))
 
virtual ~UnsortedMeshedSurface ()
 Destructor. More...
 
 declareMemberFunctionSelectionTable (void, UnsortedMeshedSurface, write, fileExtension,(const fileName &name, const UnsortedMeshedSurface< Face > &surf),(name, surf))
 
label size () const
 The surface size is the number of faces. More...
 
void setSize (const label)
 Reset size of face and zone list. More...
 
const List< label > & zoneIds () 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 &)
 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...
 
UnsortedMeshedSurface subsetMesh (const labelHashSet &include, labelList &pointMap, labelList &faceMap) const
 Return new surface. More...
 
UnsortedMeshedSurface subsetMesh (const labelHashSet &include) const
 Return new surface. More...
 
virtual void reset (const Xfer< pointField > &, const Xfer< List< Face > > &, const Xfer< List< label > > &zoneIds)
 Transfer components (points, faces, zone ids). More...
 
virtual void reset (const Xfer< List< point > > &, const Xfer< List< Face > > &, const Xfer< List< label > > &zoneIds)
 Transfer components (points, faces, zone ids). More...
 
void transfer (UnsortedMeshedSurface< Face > &)
 Transfer the contents of the argument and annul the argument. More...
 
void transfer (MeshedSurface< Face > &)
 Transfer the contents of the argument and annul the argument. More...
 
Xfer< UnsortedMeshedSurface< 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...
 
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...
 
void operator= (const UnsortedMeshedSurface< Face > &)
 
 operator MeshedSurfaceProxy< Face > () const
 Conversion operator to MeshedSurfaceProxy. More...
 
template<class Face >
 UnsortedMeshedSurface ()
 
template<class Face >
 UnsortedMeshedSurface (const Xfer< pointField > &pointLst, const Xfer< List< Face > > &faceLst, const Xfer< List< label > > &zoneIds, const Xfer< surfZoneIdentifierList > &zoneTofc)
 
template<class Face >
 UnsortedMeshedSurface (const Xfer< pointField > &pointLst, const Xfer< List< Face > > &faceLst, const labelUList &zoneSizes, const UList< word > &zoneNames)
 
template<class Face >
 UnsortedMeshedSurface (const UnsortedMeshedSurface< Face > &surf)
 
template<class Face >
 UnsortedMeshedSurface (const MeshedSurface< Face > &surf)
 
template<class Face >
 UnsortedMeshedSurface (const Xfer< UnsortedMeshedSurface< Face > > &surf)
 
template<class Face >
 UnsortedMeshedSurface (const Xfer< MeshedSurface< Face > > &surf)
 
template<class Face >
 UnsortedMeshedSurface (const fileName &name, const word &ext)
 
template<class Face >
 UnsortedMeshedSurface (const fileName &name)
 
template<class Face >
 UnsortedMeshedSurface (const Time &t, const word &surfName)
 

Static Public Member Functions

static bool canReadType (const word &ext, const bool verbose=false)
 Can we read this file format? More...
 
static bool canRead (const fileName &, 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< UnsortedMeshedSurfaceNew (const fileName &, const word &ext)
 Select constructed from filename (explicit extension) More...
 
static autoPtr< UnsortedMeshedSurfaceNew (const fileName &)
 Select constructed from filename (implicit extension) More...
 
static void write (const fileName &, const UnsortedMeshedSurface< Face > &)
 Write to file. More...
 

Protected Member Functions

List< label > & storedZoneIds ()
 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...
 

Private Types

typedef MeshedSurface< Face > ParentType
 
typedef MeshedSurface< Face > FriendType
 
typedef MeshedSurfaceProxy< Face > ProxyType
 

Private Member Functions

void resize (const label, const Face &)
 Disable resize with value. More...
 
void setSize (const label, const Face &)
 Disable setSize with value. More...
 

Private Attributes

labelList zoneIds_
 The zone Id associated with each face. More...
 
List< surfZoneIdentifierzoneToc_
 Zone information (face ordering nFaces/startFace only used. More...
 

Friends

template<class Face2 >
class MeshedSurface
 
template<class Face2 >
class UnsortedMeshedSurface
 
class surfMesh
 

Detailed Description

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 74 of file MeshedSurface.H.

Member Typedef Documentation

◆ ParentType

typedef MeshedSurface<Face> ParentType
private

Definition at line 88 of file UnsortedMeshedSurface.H.

◆ FriendType

typedef MeshedSurface<Face> FriendType
private

Definition at line 89 of file UnsortedMeshedSurface.H.

◆ ProxyType

typedef MeshedSurfaceProxy<Face> ProxyType
private

Definition at line 90 of file UnsortedMeshedSurface.H.

◆ FaceType

typedef Face FaceType

Face type used.

Definition at line 137 of file UnsortedMeshedSurface.H.

Constructor & Destructor Documentation

◆ UnsortedMeshedSurface() [1/20]

Construct null.

◆ UnsortedMeshedSurface() [2/20]

UnsortedMeshedSurface ( const Xfer< pointField > &  ,
const Xfer< List< Face > > &  ,
const Xfer< List< label > > &  zoneIds,
const Xfer< surfZoneIdentifierList > &   
)

Construct by transferring components.

(points, faces, zone ids, zone info).

◆ UnsortedMeshedSurface() [3/20]

UnsortedMeshedSurface ( const Xfer< pointField > &  ,
const Xfer< List< Face > > &  ,
const labelUList zoneSizes = labelUList(),
const UList< word > &  zoneNames = UListword >() 
)

Construct by transferring points, faces.

Use zone information, or set single default zone

◆ UnsortedMeshedSurface() [4/20]

Construct as copy.

◆ UnsortedMeshedSurface() [5/20]

UnsortedMeshedSurface ( const MeshedSurface< Face > &  )

Construct from a meshedSurface.

◆ UnsortedMeshedSurface() [6/20]

Construct by transferring the contents from a UnsortedMeshedSurface.

◆ UnsortedMeshedSurface() [7/20]

UnsortedMeshedSurface ( const Xfer< MeshedSurface< Face > > &  )

Construct by transferring the contents from a meshedSurface.

◆ UnsortedMeshedSurface() [8/20]

Construct from file name (uses extension to determine type)

◆ UnsortedMeshedSurface() [9/20]

UnsortedMeshedSurface ( const fileName ,
const word  
)

Construct from file name (uses extension to determine type)

◆ UnsortedMeshedSurface() [10/20]

UnsortedMeshedSurface ( const Time ,
const word surfName = "" 
)

Construct from objectRegistry and a named surface.

◆ ~UnsortedMeshedSurface()

~UnsortedMeshedSurface ( )
virtual

Destructor.

Definition at line 294 of file UnsortedMeshedSurface.C.

◆ UnsortedMeshedSurface() [11/20]

Definition at line 149 of file UnsortedMeshedSurface.C.

◆ UnsortedMeshedSurface() [12/20]

UnsortedMeshedSurface ( const Xfer< pointField > &  pointLst,
const Xfer< List< Face > > &  faceLst,
const Xfer< List< label > > &  zoneIds,
const Xfer< surfZoneIdentifierList > &  zoneTofc 
)

Definition at line 157 of file UnsortedMeshedSurface.C.

◆ UnsortedMeshedSurface() [13/20]

UnsortedMeshedSurface ( const Xfer< pointField > &  pointLst,
const Xfer< List< Face > > &  faceLst,
const labelUList zoneSizes,
const UList< word > &  zoneNames 
)

Definition at line 172 of file UnsortedMeshedSurface.C.

◆ UnsortedMeshedSurface() [14/20]

UnsortedMeshedSurface ( const UnsortedMeshedSurface< Face > &  surf)

Definition at line 201 of file UnsortedMeshedSurface.C.

◆ UnsortedMeshedSurface() [15/20]

UnsortedMeshedSurface ( const MeshedSurface< Face > &  surf)

Definition at line 217 of file UnsortedMeshedSurface.C.

◆ UnsortedMeshedSurface() [16/20]

UnsortedMeshedSurface ( const Xfer< UnsortedMeshedSurface< Face > > &  surf)

Definition at line 233 of file UnsortedMeshedSurface.C.

◆ UnsortedMeshedSurface() [17/20]

UnsortedMeshedSurface ( const Xfer< MeshedSurface< Face > > &  surf)

Definition at line 245 of file UnsortedMeshedSurface.C.

◆ UnsortedMeshedSurface() [18/20]

UnsortedMeshedSurface ( const fileName name,
const word ext 
)

Definition at line 257 of file UnsortedMeshedSurface.C.

◆ UnsortedMeshedSurface() [19/20]

UnsortedMeshedSurface ( const fileName name)

Definition at line 269 of file UnsortedMeshedSurface.C.

◆ UnsortedMeshedSurface() [20/20]

UnsortedMeshedSurface ( const Time t,
const word surfName 
)

Definition at line 279 of file UnsortedMeshedSurface.C.

Member Function Documentation

◆ resize()

void resize ( const  label,
const Face &   
)
private

Disable resize with value.

◆ setSize() [1/2]

void setSize ( const  label,
const Face &   
)
private

Disable setSize with value.

◆ storedZoneIds()

List<label>& storedZoneIds ( )
inlineprotected

Return non-const access to the zone Ids.

Definition at line 117 of file UnsortedMeshedSurface.H.

◆ storedZoneToc()

List<surfZoneIdentifier>& storedZoneToc ( )
inlineprotected

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

Definition at line 123 of file UnsortedMeshedSurface.H.

◆ remapFaces()

void remapFaces ( const labelUList faceMap)
protectedvirtual

Set new zones from faceMap.

Definition at line 396 of file UnsortedMeshedSurface.C.

◆ TypeName()

TypeName ( "UnsortedMeshedSurface"  )

Runtime type information.

◆ canReadType()

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

Can we read this file format?

Definition at line 53 of file UnsortedMeshedSurface.C.

◆ canRead()

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

Can we read this file format?

Definition at line 87 of file UnsortedMeshedSurface.C.

◆ canWriteType()

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

Can we write this file format?

Definition at line 70 of file UnsortedMeshedSurface.C.

◆ readTypes()

Foam::wordHashSet readTypes ( )
static

Definition at line 38 of file UnsortedMeshedSurface.C.

◆ writeTypes()

Foam::wordHashSet writeTypes ( )
static

Definition at line 45 of file UnsortedMeshedSurface.C.

◆ declareRunTimeSelectionTable()

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

◆ New() [1/2]

static autoPtr<UnsortedMeshedSurface> New ( const fileName ,
const word ext 
)
static

Select constructed from filename (explicit extension)

◆ New() [2/2]

static autoPtr<UnsortedMeshedSurface> New ( const fileName )
static

Select constructed from filename (implicit extension)

◆ declareMemberFunctionSelectionTable()

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

◆ write() [1/3]

static void write ( const fileName ,
const UnsortedMeshedSurface< Face > &   
)
static

Write to file.

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

Here is the caller graph for this function:

◆ size()

label size ( ) const
inline

The surface size is the number of faces.

Definition at line 260 of file UnsortedMeshedSurface.H.

Referenced by GTSsurfaceFormat< Face >::write(), and AC3DsurfaceFormat< Face >::write().

Here is the caller graph for this function:

◆ setSize() [2/2]

void setSize ( const  label)

Reset size of face and zone list.

◆ zoneIds()

const List<label>& zoneIds ( ) const
inline

Return const access to the zone ids.

Definition at line 269 of file UnsortedMeshedSurface.H.

Referenced by GTSsurfaceFormat< Face >::write(), VTKsurfaceFormat< Face >::write(), TRIsurfaceFormat< 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 275 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 448 of file UnsortedMeshedSurface.C.

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

Here is the caller graph for this function:

◆ setOneZone()

void setOneZone ( )

Set zones to 0 and set a single zone.

Definition at line 301 of file UnsortedMeshedSurface.C.

◆ setZones() [1/3]

void setZones ( const surfZoneList )

Set zone ids and zones.

◆ setZones() [2/3]

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

Set zone ids and zones.

Definition at line 345 of file UnsortedMeshedSurface.C.

◆ setZones() [3/3]

void setZones ( const labelUList sizes)

Set zone ids and zones with default names.

Definition at line 369 of file UnsortedMeshedSurface.C.

◆ clear()

void clear ( )
virtual

Clear all storage.

Definition at line 438 of file UnsortedMeshedSurface.C.

Referenced by OFSsurfaceFormat< Face >::read().

Here is the caller graph for this function:

◆ subsetMesh() [1/2]

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

Return new surface.

Returns return pointMap, faceMap from subsetMeshMap

Definition at line 534 of file UnsortedMeshedSurface.C.

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

Here is the caller graph for this function:

◆ subsetMesh() [2/2]

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

Return new surface.

Definition at line 588 of file UnsortedMeshedSurface.C.

◆ reset() [1/2]

virtual void reset ( const Xfer< pointField > &  ,
const Xfer< List< Face > > &  ,
const Xfer< List< label > > &  zoneIds 
)
virtual

Transfer components (points, faces, zone ids).

◆ reset() [2/2]

virtual void reset ( const Xfer< List< point > > &  ,
const Xfer< List< Face > > &  ,
const Xfer< List< label > > &  zoneIds 
)
virtual

Transfer components (points, faces, zone ids).

◆ transfer() [1/2]

void transfer ( UnsortedMeshedSurface< Face > &  )

Transfer the contents of the argument and annul the argument.

Referenced by OFSsurfaceFormat< Face >::read().

Here is the caller graph for this function:

◆ transfer() [2/2]

void transfer ( MeshedSurface< Face > &  )

Transfer the contents of the argument and annul the argument.

◆ xfer()

Transfer contents to the Xfer container.

Definition at line 681 of file UnsortedMeshedSurface.C.

◆ read() [1/2]

bool read ( const fileName ,
const word ext 
)

Read from file. Chooses reader based on explicit extension.

◆ read() [2/2]

virtual bool read ( const fileName )
virtual

Read from file. Chooses reader based on detected extension.

Reimplemented in FTRsurfaceFormat< Face >, and GTSsurfaceFormat< Face >.

◆ write() [2/3]

virtual void write ( const fileName name) const
inlinevirtual

Generic write routine. Chooses writer based on extension.

Reimplemented in GTSsurfaceFormat< Face >.

Definition at line 359 of file UnsortedMeshedSurface.H.

◆ write() [3/3]

void write ( const Time ,
const word surfName = "" 
) const

Write to database.

◆ operator=()

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

Definition at line 735 of file UnsortedMeshedSurface.C.

◆ operator MeshedSurfaceProxy< Face >()

operator MeshedSurfaceProxy< Face > ( ) const

Conversion operator to MeshedSurfaceProxy.

Friends And Related Function Documentation

◆ MeshedSurface

friend class MeshedSurface
friend

Definition at line 80 of file UnsortedMeshedSurface.H.

◆ UnsortedMeshedSurface

friend class UnsortedMeshedSurface
friend

Definition at line 81 of file UnsortedMeshedSurface.H.

◆ surfMesh

friend class surfMesh
friend

Definition at line 82 of file UnsortedMeshedSurface.H.

Field Documentation

◆ zoneIds_

labelList zoneIds_
private

The zone Id associated with each face.

Definition at line 96 of file UnsortedMeshedSurface.H.

Referenced by UnsortedMeshedSurface< Face >::storedZoneIds(), and UnsortedMeshedSurface< Face >::zoneIds().

◆ zoneToc_

List<surfZoneIdentifier> zoneToc_
private

Zone information (face ordering nFaces/startFace only used.

during reading and writing)

Definition at line 100 of file UnsortedMeshedSurface.H.

Referenced by UnsortedMeshedSurface< Face >::storedZoneToc(), and UnsortedMeshedSurface< Face >::zoneToc().


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