A surface geometry mesh, in which the surface zone information is conveyed by the 'zoneId' associated with each face. More...
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 labelList & | 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 &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< labelList > | releaseZoneIds () |
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< UnsortedMeshedSurface > | New (const fileName &name, const word &ext) |
Select constructed from filename (explicit extension) More... | |
static autoPtr< UnsortedMeshedSurface > | New (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 | |
labelList & | 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... | |
Friends | |
template<class Face2 > | |
class | MeshedSurface |
template<class Face2 > | |
class | UnsortedMeshedSurface |
class | surfMesh |
Istream & | operator>> (Istream &is, UnsortedMeshedSurface< Face > &surf) |
Read UnsortedMeshedSurface from Istream. More... | |
Ostream & | operator (Ostream &os, const UnsortedMeshedSurface< Face > &surf) |
Write UnsortedMeshedSurface to Ostream. More... | |
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).
Definition at line 79 of file MeshedSurface.H.
typedef Face FaceType |
Face type used.
Definition at line 153 of file UnsortedMeshedSurface.H.
Construct null.
Definition at line 160 of file UnsortedMeshedSurface.C.
UnsortedMeshedSurface | ( | const UnsortedMeshedSurface< Face > & | surf | ) |
Construct as copy.
Definition at line 168 of file UnsortedMeshedSurface.C.
UnsortedMeshedSurface | ( | const MeshedSurface< Face > & | surf | ) |
Construct from a MeshedSurface.
Definition at line 180 of file UnsortedMeshedSurface.C.
References MeshedSurface< Face >::surfZones().
UnsortedMeshedSurface | ( | UnsortedMeshedSurface< Face > && | surf | ) |
Move construct from a UnsortedMeshedSurface.
Definition at line 194 of file UnsortedMeshedSurface.C.
UnsortedMeshedSurface | ( | MeshedSurface< Face > && | surf | ) |
Move construct from MeshedSurface.
Definition at line 206 of file UnsortedMeshedSurface.C.
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 | ( | 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().
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().
UnsortedMeshedSurface | ( | Istream & | is | ) |
Construct from Istream.
Definition at line 258 of file UnsortedMeshedSurface.C.
References Foam::read().
UnsortedMeshedSurface | ( | const Time & | t, |
const word & | surfName = word::null |
||
) |
Construct from objectRegistry and a named surface.
Definition at line 270 of file UnsortedMeshedSurface.C.
|
virtualdefault |
Destructor.
|
inlineprotected |
Return non-const access to the zone Ids.
Definition at line 133 of file UnsortedMeshedSurface.H.
|
inlineprotected |
Return non-const access to the zone table-of-contents.
Definition at line 139 of file UnsortedMeshedSurface.H.
|
protectedvirtual |
Set new zones from faceMap.
Definition at line 385 of file UnsortedMeshedSurface.C.
References Foam::faceMap(), and forAll.
TypeName | ( | "UnsortedMeshedSurface< Face >" | ) |
Runtime type information.
Can we read this file format type?
Definition at line 56 of file UnsortedMeshedSurface.C.
Can we read this file format?
Definition at line 90 of file UnsortedMeshedSurface.C.
References word::ext(), word::lessExt(), and Foam::name().
Can we write this file format type?
Definition at line 73 of file UnsortedMeshedSurface.C.
|
static |
Known readable file-types.
Definition at line 41 of file UnsortedMeshedSurface.C.
Referenced by triSurface::readTypes().
|
static |
Known writable file-types.
Definition at line 48 of file UnsortedMeshedSurface.C.
declareRunTimeSelectionTable | ( | autoPtr | , |
UnsortedMeshedSurface< Face > | , | ||
fileExtension | , | ||
(const fileName &name) | , | ||
(name) | |||
) |
|
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.
|
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().
declareMemberFunctionSelectionTable | ( | void | , |
UnsortedMeshedSurface< Face > | , | ||
write | , | ||
fileExtension | , | ||
(const fileName &name, const UnsortedMeshedSurface< Face > &surf, const dictionary &options) | , | ||
(name, surf, options) | |||
) |
|
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().
|
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().
|
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().
void setSize | ( | const label | s | ) |
Reset size of face and zone list.
Definition at line 443 of file UnsortedMeshedSurface.C.
References s.
|
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().
|
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().
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().
void setOneZone | ( | ) |
Set zones to 0 and set a single zone.
Definition at line 285 of file UnsortedMeshedSurface.C.
void setZones | ( | const surfZoneList & | zoneLst | ) |
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.
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.
|
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().
UnsortedMeshedSurface subsetMesh | ( | const BoolListType & | include, |
labelList & | pointMap, | ||
labelList & | faceMap | ||
) | const |
Return new surface.
[in] | include | the faces to select |
[out] | pointMap | from subsetMeshMap |
[out] | faceMap | from subsetMeshMap |
UnsortedMeshedSurface subsetMesh | ( | const bitSet & | include | ) | const |
Return new surface.
Foam::UnsortedMeshedSurface< Face > subsetMesh | ( | const labelHashSet & | include | ) | const |
Return new surface.
Definition at line 591 of file UnsortedMeshedSurface.C.
References Foam::faceMap().
|
delete |
Swap contents - disabled.
Referenced by UnsortedMeshedSurface< Face >::swap().
void swap | ( | UnsortedMeshedSurface< Face > & | surf | ) |
Swap contents.
Definition at line 602 of file UnsortedMeshedSurface.C.
References UnsortedMeshedSurface< Face >::clear(), and UnsortedMeshedSurface< Face >::swap().
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().
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().
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().
Read from file. Chooses reader based on explicit extension.
Definition at line 685 of file UnsortedMeshedSurface.C.
References clear(), Foam::name(), and Foam::New().
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().
|
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().
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().
void operator= | ( | const UnsortedMeshedSurface< Face > & | surf | ) |
Copy assignment.
Definition at line 713 of file UnsortedMeshedSurface.C.
References clear(), and MeshedSurface< Face >::surfFaces().
void operator= | ( | UnsortedMeshedSurface< Face > && | surf | ) |
Move assignment.
Definition at line 728 of file UnsortedMeshedSurface.C.
operator MeshedSurfaceProxy< Face > | ( | ) | const |
Conversion operator to MeshedSurfaceProxy.
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().
|
friend |
Definition at line 89 of file UnsortedMeshedSurface.H.
|
friend |
Definition at line 90 of file UnsortedMeshedSurface.H.
|
friend |
Definition at line 93 of file UnsortedMeshedSurface.H.
|
friend |
Read UnsortedMeshedSurface from Istream.
Avoid using to read/write file content (fragile).
|
friend |
Write UnsortedMeshedSurface to Ostream.
Avoid using to read/write file content (fragile).