Provide a means of reading/writing STL files (ASCII and BINARY). More...
Public Member Functions | |
| STLsurfaceFormat (const fileName &filename) | |
| Construct from file name. More... | |
| virtual | ~STLsurfaceFormat ()=default |
| Destructor. More... | |
| virtual bool | read (const fileName &filename) |
| Read from file. More... | |
| virtual void | write (const fileName &name, IOstreamOption streamOpt=IOstreamOption(), const dictionary &options=dictionary::null) const |
| Write surface mesh to file. More... | |
Public Member Functions inherited from MeshedSurface< Face > | |
| ClassName ("MeshedSurface") | |
| Declare type-name (with debug switch) More... | |
| MeshedSurface () | |
| Default construct, an empty surface. More... | |
| MeshedSurface (const MeshedSurface &surf) | |
| Copy construct. More... | |
| MeshedSurface (const UnsortedMeshedSurface< Face > &surf) | |
| Copy construct from an UnsortedMeshedSurface. More... | |
| MeshedSurface (MeshedSurface &&surf) | |
| Move construct. More... | |
| MeshedSurface (UnsortedMeshedSurface< Face > &&surf) | |
| Move construct from an UnsortedMeshedSurface. More... | |
| MeshedSurface (const pointField &pointLst, const UList< Face > &faceLst, const UList< surfZone > &zoneLst) | |
| Copy construct from components (points, faces, zones). More... | |
| MeshedSurface (pointField &&pointLst, List< Face > &&faceLst, const UList< surfZone > &zoneLst) | |
| Move construct from components (points, faces). More... | |
| MeshedSurface (const pointField &pointLst, const UList< Face > &faceLst, const labelUList &zoneSizes=labelUList(), const UList< word > &zoneNames=UList< word >()) | |
| Copy construct from components (points, faces). More... | |
| MeshedSurface (pointField &&pointLst, List< Face > &&faceLst, const labelUList &zoneSizes=labelUList(), const UList< word > &zoneNames=UList< word >()) | |
| Move construct from components (points, faces). More... | |
| MeshedSurface (const polyBoundaryMesh &bMesh, const bool globalPoints=false) | |
| Construct from a boundary mesh with local points/faces. More... | |
| MeshedSurface (const surfMesh &mesh) | |
| Construct from a surfMesh. More... | |
| MeshedSurface (const fileName &name) | |
| Construct from file name (uses extension to determine type) More... | |
| MeshedSurface (const fileName &name, const word &fileType) | |
| Construct from file name and given file type. More... | |
| MeshedSurface (Istream &is) | |
| Construct from Istream. More... | |
| MeshedSurface (const Time &runTime) | |
| Construct from database (as surfMesh) with default name. More... | |
| MeshedSurface (const Time &runTime, const word &surfName) | |
| Construct from database (as surfMesh) with given surface name. More... | |
| MeshedSurface (const IOobject &io, const dictionary &dict, const bool isGlobal=true) | |
| Read construct using IO to find the file location. More... | |
| declareRunTimeSelectionTable (autoPtr, MeshedSurface, fileExtension,(const fileName &name),(name)) | |
| virtual | ~MeshedSurface () |
| Destructor. More... | |
| declareMemberFunctionSelectionTable (void, UnsortedMeshedSurface, write, fileExtension,(const fileName &name, const MeshedSurface< Face > &surf, IOstreamOption streamOpt, const dictionary &options),(name, surf, streamOpt, options)) | |
| label | size () const |
| The surface size is the number of faces. More... | |
| const List< Face > & | surfFaces () const |
| Return const access to the faces. More... | |
| const labelList & | faceIds () const |
| Return const access to faces ids. More... | |
| const surfZoneList & | surfZones () const |
| Const access to the surface zones. More... | |
| const vectorField & | Sf () const |
| Face area vectors (normals) More... | |
| const scalarField & | magSf () const |
| Face area magnitudes. More... | |
| const vectorField & | Cf () const |
| Face centres. More... | |
| virtual void | clear () |
| Clear all storage. More... | |
| virtual void | addZones (const UList< surfZone > &, const bool cullEmpty=false) |
| Add surface zones. More... | |
| virtual void | addZones (const labelUList &sizes, const UList< word > &names, const bool cullEmpty=false) |
| Add surface zones. More... | |
| virtual void | addZones (const labelUList &sizes, const bool cullEmpty=false) |
| Add surface zones. More... | |
| bool | addZonesToFaces () |
| Propagate zone information on face regions. More... | |
| virtual void | removeZones () |
| Remove surface zones. More... | |
| virtual void | movePoints (const pointField &newPoints) |
| Move points. More... | |
| virtual void | scalePoints (const scalar scaleFactor) |
| Scale points. A non-positive factor is ignored. More... | |
| virtual void | cleanup (const bool verbose) |
| Remove invalid faces. More... | |
| virtual bool | stitchFaces (const scalar tol=SMALL, const bool verbose=false) |
| virtual bool | checkFaces (const bool verbose=false) |
| virtual label | nTriangles () const |
| Count number of triangles. More... | |
| virtual label | nTriangles (labelList &faceMap) const |
| Count number of triangles, returning a face map of original ids. More... | |
| virtual label | triangulate () |
| Triangulate in-place, returning the number of triangles added. More... | |
| virtual label | triangulate (labelList &faceMap) |
| Triangulate in-place, returning the number of triangles added. More... | |
| template<class BoolListType > | |
| void | subsetMeshMap (const BoolListType &include, labelList &pointMap, labelList &faceMap) const |
| Create mappings for a sub-surface. More... | |
| MeshedSurface | subsetMesh (const UList< bool > &include, labelList &pointMap, labelList &faceMap) const |
| Return a new surface subsetted on the selected faces. More... | |
| MeshedSurface | subsetMesh (const bitSet &include, labelList &pointMap, labelList &faceMap) const |
| Return a new surface subsetted on the selected faces. More... | |
| MeshedSurface | subsetMesh (const UList< bool > &include) const |
| Return a new surface subsetted on the selected faces. More... | |
| MeshedSurface | subsetMesh (const bitSet &include) const |
| Return a new surface subsetted on the selected faces. More... | |
| MeshedSurface | subsetMesh (const wordRes &includeNames, const wordRes &excludeNames=wordRes()) const |
| Return a new surface subsetted on the selected zone names. More... | |
| void | swap (MeshedSurface< Face > &surf) |
| Swap contents. More... | |
| void | transfer (pointField &pointLst, List< Face > &faceLst) |
| Transfer the components. More... | |
| void | transfer (MeshedSurface< Face > &surf) |
| Transfer the contents of the argument and annul the argument. More... | |
| void | transfer (UnsortedMeshedSurface< Face > &surf) |
| Transfer the contents of the argument and annul the argument. More... | |
| autoPtr< MeshedSurface< Face > > | releaseGeom () |
| Release (clear) geometry and return for reuse. More... | |
| void | swapFaces (List< Face > &faces) |
| Swap the stored faces. Use with caution. More... | |
| void | swapPoints (pointField &points) |
| Swap the stored points. More... | |
| bool | read (const fileName &name, const word &fileType) |
| Read from file. Chooses reader based on explicit extension. More... | |
| void | writeStats (Ostream &os) const |
| virtual void | write (const fileName &name, const word &fileType, IOstreamOption streamOpt=IOstreamOption(), const dictionary &options=dictionary::null) const |
| Generic write routine for given format type. More... | |
| void | write (const Time &runTime, const word &surfName=word::null) const |
| Write to database. More... | |
| void | operator= (const MeshedSurface< Face > &surf) |
| Copy assignment. More... | |
| void | operator= (MeshedSurface< Face > &&surf) |
| Move assignment. More... | |
| operator MeshedSurfaceProxy< Face > () const | |
| Conversion operator to MeshedSurfaceProxy. More... | |
| template<class Face> | |
| MeshedSurface (const MeshedSurface< Face > &surf) | |
| template<class Face> | |
| MeshedSurface (MeshedSurface< Face > &&surf) | |
| template<> | |
| bool | addZonesToFaces () |
| Specialization for labelledTri. More... | |
| template<> | |
| bool | addZonesToFaces () |
Static Public Member Functions | |
| static void | writeAscii (const fileName &filename, const MeshedSurfaceProxy< Face > &surf, IOstream::compressionType comp=IOstream::UNCOMPRESSED) |
| Write surface mesh components by proxy (as ASCII) More... | |
| static void | writeBinary (const fileName &filename, const MeshedSurfaceProxy< Face > &surf) |
| Write surface mesh components by proxy (as BINARY) More... | |
| static void | writeAscii (const fileName &filename, const UnsortedMeshedSurface< Face > &surf, IOstream::compressionType comp=IOstream::UNCOMPRESSED) |
| Write UnsortedMeshedSurface (as ASCII) sorted by zone. More... | |
| static void | writeBinary (const fileName &filename, const UnsortedMeshedSurface< Face > &surf) |
| Write UnsortedMeshedSurface (as BINARY) unsorted by zone. More... | |
| static void | write (const fileName &filename, const MeshedSurfaceProxy< Face > &surf, const STLFormat format, IOstream::compressionType comp=IOstream::UNCOMPRESSED) |
| Write surface mesh components by proxy. More... | |
| static void | write (const fileName &filename, const UnsortedMeshedSurface< Face > &surf, const STLFormat format, IOstream::compressionType comp=IOstream::UNCOMPRESSED) |
| Write UnsortedMeshedSurface. More... | |
| static void | write (const fileName &filename, const MeshedSurfaceProxy< Face > &surf, IOstreamOption streamOpt=IOstreamOption(), const dictionary &options=dictionary::null) |
| Write surface mesh components by proxy. More... | |
| static void | write (const fileName &filename, const UnsortedMeshedSurface< Face > &surf, IOstreamOption streamOpt=IOstreamOption(), const dictionary &options=dictionary::null) |
| Write UnsortedMeshedSurface. More... | |
Static Public Member Functions inherited from MeshedSurface< Face > | |
| 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 proxy types. More... | |
| static bool | canRead (const fileName &name, bool verbose=false) |
| Can we read this file format? More... | |
| static autoPtr< MeshedSurface > | New (const fileName &name, const word &fileType, bool mandatory=true) |
| Read construct from filename with given file type. More... | |
| static autoPtr< MeshedSurface > | New (const fileName &name) |
| Read construct from filename (file type implicit from extension) More... | |
| static void | write (const fileName &name, const MeshedSurface< Face > &surf, IOstreamOption streamOpt=IOstreamOption(), const dictionary &options=dictionary::null) |
| Write to file, selecting writer based on its extension. More... | |
| static void | write (const fileName &name, const word &fileType, const MeshedSurface< Face > &surf, IOstreamOption streamOpt=IOstreamOption(), const dictionary &options=dictionary::null) |
| Write to file, selecting writer based on the given extension. More... | |
Additional Inherited Members | |
Public Types inherited from MeshedSurface< Face > | |
| 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 Types inherited from STLCore | |
| enum | STLFormat { ASCII, BINARY, UNKNOWN } |
| Enumeration for the format of data in the stream. More... | |
Protected Member Functions inherited from MeshedSurface< Face > | |
| void | transcribe (MeshedSurface< face > &surf) |
| Transfer points/zones from 'face' to other other shapes. More... | |
| void | checkZones () |
| Basic sanity check on zones. More... | |
| pointField & | storedPoints () |
| Non-const access to global points. More... | |
| List< Face > & | storedFaces () |
| Non-const access to the faces. More... | |
| labelList & | storedFaceIds () |
| Non-const access to face ids. More... | |
| surfZoneList & | storedZones () |
| Non-const access to the zones. More... | |
| void | sortFacesAndStore (DynamicList< Face > &unsortedFaces, DynamicList< label > &zoneIds, DynamicList< label > &elemIds, bool sorted) |
| Sort faces by zones and store sorted faces. More... | |
| virtual void | remapFaces (const labelUList &faceMapNewToOld) |
| Set new zones from faceMap. More... | |
| template<> | |
| void | transcribe (MeshedSurface< face > &surf) |
| template<> | |
| void | transcribe (MeshedSurface< face > &surf) |
| template<> | |
| void | transcribe (MeshedSurface< face > &surf) |
Protected Member Functions inherited from STLCore | |
| STLCore ()=default | |
| Default construct. More... | |
Static Protected Member Functions inherited from STLCore | |
| static bool | isBinaryName (const fileName &filename, const STLFormat format) |
| Detect 'stlb' extension as binary when format = UNKNOWN. More... | |
| static int | detectBinaryHeader (const fileName &filename) |
| Check contents to detect if the file is a binary STL. More... | |
| static std::unique_ptr< std::istream > | readBinaryHeader (const fileName &filename, label &nTrisEstimated) |
| Read STL binary file header. More... | |
| static void | writeBinaryHeader (ostream &os, uint32_t nTris) |
| Write STL binary file and number of triangles to stream. More... | |
Provide a means of reading/writing STL files (ASCII and BINARY).
Output stream options: ASCII/BINARY, compression for ASCII only
Output dictionary options: ignored
Definition at line 66 of file STLsurfaceFormat.H.
| STLsurfaceFormat | ( | const fileName & | filename | ) |
Construct from file name.
Definition at line 106 of file STLsurfaceFormat.C.
References Foam::blockMeshTools::read().
|
virtualdefault |
Destructor.
|
static |
Write surface mesh components by proxy (as ASCII)
Definition at line 204 of file STLsurfaceFormat.C.
References Foam::endl(), Foam::exit(), f(), Foam::faceMap(), MeshedSurfaceProxy< Face >::faceMap(), Foam::FatalError, FatalErrorInFunction, IOstream::good(), zone::name(), Foam::nl, MeshedSurfaceProxy< Face >::points(), MeshedSurfaceProxy< Face >::surfFaces(), MeshedSurfaceProxy< Face >::surfZones(), and MeshedSurfaceProxy< Face >::useFaceMap().
|
static |
Write surface mesh components by proxy (as BINARY)
Definition at line 252 of file STLsurfaceFormat.C.
References Foam::exit(), f(), Foam::faceMap(), MeshedSurfaceProxy< Face >::faceMap(), Foam::FatalError, FatalErrorInFunction, Foam::nl, MeshedSurfaceProxy< Face >::nTriangles(), MeshedSurfaceProxy< Face >::points(), MeshedSurfaceProxy< Face >::surfFaces(), MeshedSurfaceProxy< Face >::surfZones(), and MeshedSurfaceProxy< Face >::useFaceMap().
|
static |
Write UnsortedMeshedSurface (as ASCII) sorted by zone.
Definition at line 303 of file STLsurfaceFormat.C.
References Foam::exit(), f(), Foam::faceMap(), Foam::FatalError, FatalErrorInFunction, IOstream::good(), Foam::nl, UnsortedMeshedSurface< Face >::sortedZones(), and UnsortedMeshedSurface< Face >::zoneToc().
|
static |
Write UnsortedMeshedSurface (as BINARY) unsorted by zone.
Definition at line 353 of file STLsurfaceFormat.C.
References Foam::exit(), Foam::FatalError, FatalErrorInFunction, forAll, Foam::nl, and UnsortedMeshedSurface< Face >::zoneIds().
|
static |
Write surface mesh components by proxy.
as ASCII or BINARY or dependent on the extension
Definition at line 415 of file STLsurfaceFormat.C.
References format().
Referenced by STLsurfaceFormat< Face >::write().
|
static |
Write UnsortedMeshedSurface.
as ASCII or BINARY or dependent on the extension
Definition at line 460 of file STLsurfaceFormat.C.
References format().
|
static |
Write surface mesh components by proxy.
as ASCII or BINARY, depending on the extension
Definition at line 390 of file STLsurfaceFormat.C.
References IOstreamOption::compression(), and IOstreamOption::format().
|
static |
Write UnsortedMeshedSurface.
as ASCII or BINARY, depending on the extension
Definition at line 435 of file STLsurfaceFormat.C.
References IOstreamOption::compression(), and IOstreamOption::format().
Read from file.
Reimplemented from MeshedSurface< Face >.
Definition at line 118 of file STLsurfaceFormat.C.
References clear(), List< T >::clear(), Foam::faceMap(), forAll, STLReader::mergePointsMap(), STLReader::names(), STLReader::points(), STLReader::sizes(), STLReader::sorted(), Foam::sortedOrder(), and STLReader::zoneIds().
|
inlinevirtual |
Write surface mesh to file.
Reimplemented from MeshedSurface< Face >.
Definition at line 184 of file STLsurfaceFormat.H.
References Foam::name(), and STLsurfaceFormat< Face >::write().