A surface geometry mesh, in which the surface zone information is conveyed by the 'zoneId' associated with each face. More...
Public Types | |
typedef Face | face_type |
The face type (same as the underlying PrimitivePatch) More... | |
typedef point | point_type |
The point type (same as the underlying PrimitivePatch) More... | |
Public Member Functions | |
TypeName ("UnsortedMeshedSurface") | |
Declare type-name, virtual type (with debug switch) More... | |
UnsortedMeshedSurface () | |
Default construct. More... | |
UnsortedMeshedSurface (const UnsortedMeshedSurface< Face > &surf) | |
Copy construct. 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 &fileType) | |
Construct from file name with given format type. More... | |
UnsortedMeshedSurface (Istream &is) | |
Construct from Istream. More... | |
UnsortedMeshedSurface (const Time &runTime) | |
Construct from database (as surfMesh) with default name. More... | |
UnsortedMeshedSurface (const Time &runTime, const word &surfName) | |
Construct from database (as surfMesh) with given surface name. More... | |
UnsortedMeshedSurface (const IOobject &io, const dictionary &dict, const bool isGlobal=true) | |
Read construct using IO to find the file location. 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, IOstreamOption streamOpt, const dictionary &options),(name, surf, streamOpt, 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 > | |
void | subsetMeshMap (const BoolListType &include, labelList &pointMap, labelList &faceMap) const |
Create mappings for a sub-surface. More... | |
UnsortedMeshedSurface | subsetMesh (const UList< bool > &include, labelList &pointMap, labelList &faceMap) const |
Return a new surface subsetted on the selected faces. More... | |
UnsortedMeshedSurface | subsetMesh (const bitSet &include, labelList &pointMap, labelList &faceMap) const |
Return a new surface subsetted on the selected faces. More... | |
UnsortedMeshedSurface | subsetMesh (const UList< bool > &include) const |
Return a new surface subsetted on the selected faces. More... | |
UnsortedMeshedSurface | subsetMesh (const bitSet &include) const |
Return a new surface subsetted on the selected faces. 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 &fileType) |
Read from file with given format type. More... | |
virtual bool | read (const fileName &name) |
Read from file. Chooses reader based on detected extension. More... | |
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 | 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... | |
Static Public Member Functions | |
static wordHashSet | readTypes () |
Known readable file-types, without friends or proxies. More... | |
static wordHashSet | writeTypes () |
Known writable file-types, without friends or proxies. More... | |
static bool | canReadType (const word &fileType, bool verbose=false) |
Can we read this file format? Also checks friend types. More... | |
static bool | canWriteType (const word &fileType, bool verbose=false) |
Can we write this file format? Also checks friend types. More... | |
static bool | canRead (const fileName &name, bool verbose=false) |
Can we read this file format? More... | |
static autoPtr< UnsortedMeshedSurface > | New (const fileName &name, const word &fileType, bool mandatory=true) |
Read construct from filename with given file type. More... | |
static autoPtr< UnsortedMeshedSurface > | New (const fileName &name) |
Read construct from filename (implicit extension) More... | |
static void | write (const fileName &name, const UnsortedMeshedSurface< Face > &surf, IOstreamOption streamOpt=IOstreamOption(), const dictionary &options=dictionary::null) |
Write to file, select based on its extension. More... | |
static void | write (const fileName &name, const word &fileType, const UnsortedMeshedSurface< Face > &surf, IOstreamOption streamOpt=IOstreamOption(), const dictionary &options=dictionary::null) |
Write to file with given format type. 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 &faceMapNewToOld) |
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 83 of file MeshedSurface.H.
typedef Face face_type |
The face type (same as the underlying PrimitivePatch)
Definition at line 164 of file UnsortedMeshedSurface.H.
typedef point point_type |
The point type (same as the underlying PrimitivePatch)
Definition at line 167 of file UnsortedMeshedSurface.H.
Default construct.
Definition at line 179 of file UnsortedMeshedSurface.C.
UnsortedMeshedSurface | ( | const UnsortedMeshedSurface< Face > & | surf | ) |
Copy construct.
Definition at line 187 of file UnsortedMeshedSurface.C.
UnsortedMeshedSurface | ( | const MeshedSurface< Face > & | surf | ) |
Construct from a MeshedSurface.
Definition at line 199 of file UnsortedMeshedSurface.C.
References MeshedSurface< Face >::surfZones().
UnsortedMeshedSurface | ( | UnsortedMeshedSurface< Face > && | surf | ) |
Move construct from a UnsortedMeshedSurface.
Definition at line 213 of file UnsortedMeshedSurface.C.
UnsortedMeshedSurface | ( | MeshedSurface< Face > && | surf | ) |
Move construct from MeshedSurface.
Definition at line 225 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 237 of file UnsortedMeshedSurface.C.
|
explicit |
Construct from file name (uses extension to determine type)
Definition at line 265 of file UnsortedMeshedSurface.C.
References Foam::name(), and Foam::read().
UnsortedMeshedSurface | ( | const fileName & | name, |
const word & | fileType | ||
) |
Construct from file name with given format type.
If the format type is "", uses the file extension.
Definition at line 252 of file UnsortedMeshedSurface.C.
References Foam::name(), and Foam::read().
|
explicit |
Construct from Istream.
Definition at line 277 of file UnsortedMeshedSurface.C.
References Foam::read().
|
explicit |
Construct from database (as surfMesh) with default name.
Definition at line 289 of file UnsortedMeshedSurface.C.
References runTime.
UnsortedMeshedSurface | ( | const Time & | runTime, |
const word & | surfName | ||
) |
Construct from database (as surfMesh) with given surface name.
Definition at line 302 of file UnsortedMeshedSurface.C.
References runTime.
UnsortedMeshedSurface | ( | const IOobject & | io, |
const dictionary & | dict, | ||
const bool | isGlobal = true |
||
) |
Read construct using IO to find the file location.
Dictionary may contain the following entries:
file
= alternative file name (default is dictionary name)fileType
= file format (default is from file extension)scale
(eg, 0.001: mm to m)isGlobal | resolve as a global file |
Definition at line 316 of file UnsortedMeshedSurface.C.
References surfaceFormatsCore::checkFile(), dict, dictionary::getOrDefault(), word::null, and Foam::read().
|
virtualdefault |
Destructor.
|
inlineprotected |
Return non-const access to the zone Ids.
Definition at line 144 of file UnsortedMeshedSurface.H.
|
inlineprotected |
Return non-const access to the zone table-of-contents.
Definition at line 150 of file UnsortedMeshedSurface.H.
|
protectedvirtual |
Set new zones from faceMap.
Definition at line 434 of file UnsortedMeshedSurface.C.
References UList< T >::empty(), forAll, and UList< T >::size().
TypeName | ( | "UnsortedMeshedSurface< Face >" | ) |
Declare type-name, virtual type (with debug switch)
|
static |
Known readable file-types, without friends or proxies.
Definition at line 41 of file UnsortedMeshedSurface.C.
|
static |
Known writable file-types, without friends or proxies.
Definition at line 48 of file UnsortedMeshedSurface.C.
Can we read this file format? Also checks friend types.
Definition at line 56 of file UnsortedMeshedSurface.C.
Can we write this file format? Also checks friend types.
Definition at line 73 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().
declareRunTimeSelectionTable | ( | autoPtr | , |
UnsortedMeshedSurface< Face > | , | ||
fileExtension | , | ||
(const fileName &name) | , | ||
(name) | |||
) |
|
static |
Read construct from filename with given file type.
Definition at line 37 of file UnsortedMeshedSurfaceNew.C.
References DebugInFunction, Foam::exit(), word::ext(), Foam::FatalError, FatalErrorInFunction, Foam::flatOutput(), HashTable< T, Key, Hash >::found(), word::lessExt(), Foam::name(), Foam::New(), and Foam::nl.
|
static |
Read construct from filename (implicit extension)
Definition at line 116 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, IOstreamOption streamOpt, const dictionary &options) | , | ||
(name, surf, streamOpt, 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().
Referenced by UnsortedMeshedSurface< Face >::write().
|
static |
Write to file with given format type.
If the format type is "", uses the file extension.
Definition at line 119 of file UnsortedMeshedSurface.C.
References DebugInFunction, Foam::exit(), word::ext(), Foam::FatalError, FatalErrorInFunction, Foam::flatOutput(), HashTable< T, Key, Hash >::found(), Foam::name(), Foam::nl, Foam::vtk::write(), and MeshedSurfaceProxy< Face >::write().
|
inline |
The surface size is the number of faces.
Definition at line 327 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 491 of file UnsortedMeshedSurface.C.
References s.
|
inlinevirtual |
Return const access to the zone ids.
Definition at line 336 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 342 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 510 of file UnsortedMeshedSurface.C.
References surfZoneIdentifier::defaultName(), Foam::faceMap(), forAll, forAllIters, Foam::cellModeller::lookup(), and Foam::name().
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 338 of file UnsortedMeshedSurface.C.
References Foam::name().
void setZones | ( | const surfZoneList & | zoneLst | ) |
void setZones | ( | const labelUList & | sizes, |
const UList< word > & | names | ||
) |
Set zone ids and zones.
Definition at line 381 of file UnsortedMeshedSurface.C.
References forAll, and UList< T >::size().
void setZones | ( | const labelUList & | sizes | ) |
Set zone ids and zones with default names.
Definition at line 406 of file UnsortedMeshedSurface.C.
References surfZoneIdentifier::defaultName(), forAll, and UList< T >::size().
|
virtual |
Clear all storage.
Definition at line 500 of file UnsortedMeshedSurface.C.
References clear().
Referenced by UnsortedMeshedSurface< Face >::swap(), UnsortedMeshedSurface< Face >::transfer(), and MeshedSurface< Foam::face >::transfer().
|
inline |
Create mappings for a sub-surface.
[in] | include | the faces to select |
[out] | pointMap | from new to old localPoints |
[out] | faceMap | from new to old localFaces |
Definition at line 377 of file UnsortedMeshedSurface.H.
References Foam::faceMap(), and PatchTools::subsetMap().
Foam::UnsortedMeshedSurface< Face > subsetMesh | ( | const UList< bool > & | include, |
labelList & | pointMap, | ||
labelList & | faceMap | ||
) | const |
Return a new surface subsetted on the selected faces.
[in] | include | the faces to select |
[out] | pointMap | from new to old localPoints |
[out] | faceMap | from new to old localFaces |
Definition at line 633 of file UnsortedMeshedSurface.C.
References Foam::faceMap().
Foam::UnsortedMeshedSurface< Face > subsetMesh | ( | const bitSet & | include, |
labelList & | pointMap, | ||
labelList & | faceMap | ||
) | const |
Return a new surface subsetted on the selected faces.
[in] | include | the faces to select |
[out] | pointMap | from new to old localPoints |
[out] | faceMap | from new to old localFaces |
Definition at line 647 of file UnsortedMeshedSurface.C.
References Foam::faceMap().
Foam::UnsortedMeshedSurface< Face > subsetMesh | ( | const UList< bool > & | include | ) | const |
Return a new surface subsetted on the selected faces.
[in] | include | the faces to select |
Definition at line 661 of file UnsortedMeshedSurface.C.
References Foam::faceMap().
Foam::UnsortedMeshedSurface< Face > subsetMesh | ( | const bitSet & | include | ) | const |
Return a new surface subsetted on the selected faces.
[in] | include | the faces to select |
Definition at line 673 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 684 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 708 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 730 of file UnsortedMeshedSurface.C.
References clear(), and MeshedSurface< Face >::surfZones().
Foam::autoPtr< Foam::labelList > releaseZoneIds | ( | ) |
Release (clear) stored zoneIds and return for reuse.
Definition at line 746 of file UnsortedMeshedSurface.C.
References autoPtr< T >::New().
Read from file with given format type.
If the format type is "", uses the file extension.
Definition at line 763 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 753 of file UnsortedMeshedSurface.C.
References clear(), Foam::name(), and Foam::New().
|
inlinevirtual |
Write to file, choosing writer based on the file extension.
Reimplemented in GTSsurfaceFormat< Face >.
Definition at line 451 of file UnsortedMeshedSurface.H.
References Foam::name(), and UnsortedMeshedSurface< Face >::write().
|
inlinevirtual |
Write to file with given format type.
If the format type is "", uses the file extension.
Definition at line 463 of file UnsortedMeshedSurface.H.
References Foam::name(), and UnsortedMeshedSurface< Face >::write().
void write | ( | const Time & | t, |
const word & | surfName = word::null |
||
) | const |
Write to database.
Definition at line 776 of file UnsortedMeshedSurface.C.
References MeshedSurfaceProxy< Face >::write().
void operator= | ( | const UnsortedMeshedSurface< Face > & | surf | ) |
Copy assignment.
Definition at line 789 of file UnsortedMeshedSurface.C.
References clear(), and MeshedSurface< Face >::surfFaces().
void operator= | ( | UnsortedMeshedSurface< Face > && | surf | ) |
Move assignment.
Definition at line 809 of file UnsortedMeshedSurface.C.
operator MeshedSurfaceProxy< Face > | ( | ) | const |
Conversion operator to MeshedSurfaceProxy.
|
friend |
Definition at line 88 of file UnsortedMeshedSurface.H.
|
friend |
Definition at line 89 of file UnsortedMeshedSurface.H.
|
friend |
Definition at line 92 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).