triSurfaceMesh Class Reference

IOoject and searching on triSurface. More...

Inheritance diagram for triSurfaceMesh:
[legend]
Collaboration diagram for triSurfaceMesh:
[legend]

Public Types

enum  readAction { localOnly, localOrGlobal, masterOnly }
 
- Public Types inherited from IOobject
enum  objectState : char { GOOD, BAD }
 Enumeration defining the valid states of an IOobject. More...
 
enum  readOption : char { MUST_READ, MUST_READ_IF_MODIFIED, READ_IF_PRESENT, NO_READ }
 Enumeration defining the read options. More...
 
enum  writeOption : char { AUTO_WRITE = 0, NO_WRITE = 1 }
 Enumeration defining the write options. More...
 
enum  fileCheckTypes : char { timeStamp, timeStampMaster, inotify, inotifyMaster }
 Enumeration defining the file checking options. More...
 
- Public Types inherited from HashTable< regIOobject * >
typedef HashTable< regIOobject *, word, Foam::Hash< word > > this_type
 The template instance used for this HashTable. More...
 
typedef word key_type
 The second template parameter, type of keys used. More...
 
typedef regIOobjectmapped_type
 The first template parameter, type of objects contained. More...
 
typedef regIOobjectvalue_type
 Same as mapped_type for OpenFOAM HashTables. More...
 
typedef Foam::Hash< wordhasher
 The third template parameter, the hash index method. More...
 
typedef regIOobject * * pointer
 Pointer type for storing into value_type objects. More...
 
typedef regIOobject * & reference
 Reference to the stored value_type. More...
 
typedef label difference_type
 The type to represent the difference between two iterators. More...
 
typedef label size_type
 The type that can represent the size of a HashTable. More...
 
using key_iterator = key_iterator_base< iterator >
 Forward iterator returning the key. More...
 
using const_key_iterator = key_iterator_base< const_iterator >
 Forward const iterator returning the key. More...
 
- Public Types inherited from triSurface
typedef bool BoundaryMesh
 Placeholder only, but do not remove - it is needed for GeoMesh. More...
 
typedef labelledTri 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 PrimitivePatch<::Foam::List< labelledTri >, pointField >
enum  surfaceTopo
 Enumeration defining the surface type. Used in check routines. More...
 
typedef std::remove_reference< ::Foam::List< labelledTri > >::type::value_type face_type
 The face type. More...
 
typedef std::remove_reference< pointField >::type::value_type point_type
 The point type. More...
 
typedef ::Foam::List< labelledTriFaceListType
 The face list type. More...
 
typedef pointField PointFieldType
 The point field type. More...
 
typedef face_type FaceType
 Deprecated(2020-03) prefer face_type typedef. More...
 
- Public Types inherited from List< labelledTri >
typedef SubList< labelledTrisubList
 Declare type of subList. More...
 

Public Member Functions

 TypeName ("triSurfaceMesh")
 Runtime type information. More...
 
 triSurfaceMesh (const IOobject &, const triSurface &)
 Construct from triSurface. More...
 
 triSurfaceMesh (const IOobject &io)
 Construct read. More...
 
 triSurfaceMesh (const IOobject &io, const dictionary &dict)
 Construct from IO and dictionary (used by searchableSurface). More...
 
 triSurfaceMesh (const IOobject &io, const readAction r)
 
 triSurfaceMesh (const IOobject &io, const dictionary &dict, const readAction r)
 
virtual ~triSurfaceMesh ()
 Destructor. More...
 
void clearOut ()
 Clear storage. More...
 
virtual void movePoints (const pointField &)
 Move points. More...
 
const indexedOctree< treeDataEdge > & edgeTree () const
 Demand driven construction of octree for boundary edges. More...
 
virtual const wordListregions () const
 Names of regions. More...
 
virtual bool hasVolumeType () const
 Whether supports volume type (below) - i.e. whether is closed. More...
 
virtual volumeType outsideVolumeType () const
 If surface is closed, what is type of points outside bounds. More...
 
virtual label size () const
 Range of local indices that can be returned. More...
 
virtual tmp< pointFieldcoordinates () const
 Get representative set of element coordinates. More...
 
virtual void boundingSpheres (pointField &centres, scalarField &radiusSqr) const
 Get bounding spheres (centre and radius squared). Any point. More...
 
virtual tmp< pointFieldpoints () const
 Get the points that define the surface. More...
 
virtual bool overlaps (const boundBox &bb) const
 Does any part of the surface overlap the supplied bound box? More...
 
virtual void findNearest (const pointField &sample, const scalarField &nearestDistSqr, List< pointIndexHit > &) const
 
virtual void findNearest (const pointField &sample, const scalarField &nearestDistSqr, const labelList &regionIndices, List< pointIndexHit > &) const
 Find the nearest locations for the supplied points to a. More...
 
virtual void findLine (const pointField &start, const pointField &end, List< pointIndexHit > &) const
 Find first intersection on segment from start to end. More...
 
virtual void findLineAny (const pointField &start, const pointField &end, List< pointIndexHit > &) const
 Return any intersection on segment from start to end. More...
 
virtual void findLineAll (const pointField &start, const pointField &end, List< List< pointIndexHit >> &) const
 Get all intersections in order from start to end. More...
 
virtual void getRegion (const List< pointIndexHit > &, labelList &region) const
 From a set of points and indices get the region. More...
 
virtual void getNormal (const List< pointIndexHit > &, vectorField &normal) const
 From a set of points and indices get the normal. More...
 
virtual void getVolumeType (const pointField &points, List< volumeType > &volType) const
 Determine type (inside/outside/mixed) for point. More...
 
virtual void setField (const labelList &values)
 WIP. Store element-wise field. More...
 
virtual void getField (const List< pointIndexHit > &, labelList &) const
 WIP. From a set of hits (points and. More...
 
bool writeData (Ostream &) const
 writeData function required by regIOobject but not used. More...
 
virtual bool writeObject (IOstreamOption streamOpt, const bool valid) const
 Write using stream options. More...
 
virtual bool global () const
 Is object global. More...
 
virtual fileName filePath () const
 Return complete path + object name if the file exists. More...
 
- Public Member Functions inherited from searchableSurface
 TypeName ("searchableSurface")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, searchableSurface, dict,(const IOobject &io, const dictionary &dict),(io, dict))
 
 searchableSurface (const IOobject &io)
 
virtual autoPtr< searchableSurfaceclone () const
 Clone. More...
 
virtual ~searchableSurface ()=default
 Destructor. More...
 
virtual const boundBoxbounds () const
 Return const reference to boundBox. More...
 
virtual boundBoxbounds ()
 Return non-const access to the boundBox to allow it to be set. More...
 
virtual label globalSize () const
 Range of global indices that can be returned. More...
 
virtual void findNearest (const pointField &sample, const scalarField &nearestDistSqr, List< pointIndexHit > &, vectorField &normal, labelList &region) const
 Find nearest, normal and region. Can be overridden with. More...
 
virtual void distribute (const List< treeBoundBox > &, const bool keepNonLocal, autoPtr< mapDistribute > &faceMap, autoPtr< mapDistribute > &pointMap)
 Set bounds of surface. Bounds currently set as list of. More...
 
- Public Member Functions inherited from regIOobject
 TypeName ("regIOobject")
 Runtime type information. More...
 
 regIOobject (const IOobject &io, const bool isTimeObject=false)
 
 regIOobject (const regIOobject &rio)
 Copy construct. More...
 
 regIOobject (const regIOobject &rio, bool registerCopy)
 
 regIOobject (const word &newName, const regIOobject &, bool registerCopy)
 
 regIOobject (const IOobject &io, const regIOobject &rio)
 Copy construct with new IO parameters. More...
 
virtual ~regIOobject ()
 Destructor. More...
 
bool checkIn ()
 Add object to registry, if not already registered. More...
 
bool checkOut ()
 Remove all file watches and remove object from registry. More...
 
virtual void addWatch ()
 Add file watch on object (if registered and READ_IF_MODIFIED) More...
 
bool ownedByRegistry () const
 Is this object owned by the registry? More...
 
bool store ()
 
void release (const bool unregister=false)
 Release ownership of this object from its registry. More...
 
label eventNo () const
 Event number at last update. More...
 
label & eventNo ()
 Event number at last update. More...
 
bool upToDate (const regIOobject &) const
 Return true if up-to-date with respect to given object. More...
 
bool upToDate (const regIOobject &, const regIOobject &) const
 Return true if up-to-date with respect to given objects. More...
 
bool upToDate (const regIOobject &, const regIOobject &, const regIOobject &) const
 Return true if up-to-date with respect to given objects. More...
 
bool upToDate (const regIOobject &, const regIOobject &, const regIOobject &, const regIOobject &) const
 Return true if up-to-date with respect to given objects. More...
 
void setUpToDate ()
 Set as up-to-date. More...
 
const dictionaryfindMetaData () const noexcept
 Return pointer to meta-data or nullptr. More...
 
dictionarygetMetaData () noexcept
 Get or create meta-data. More...
 
void removeMetaData ()
 Remove meta-data. More...
 
virtual void updateMetaData ()
 Update internal meta-data (eg, prior to writing) More...
 
bool headerOk ()
 Read and check header info. More...
 
IstreamreadStream (const word &, const bool valid=true)
 Return Istream and check object type against that given. More...
 
void close ()
 Close Istream. More...
 
virtual bool readData (Istream &)
 Virtual readData function. More...
 
virtual bool read ()
 Read object. More...
 
virtual label addWatch (const fileName &)
 Add file watch for fileName on object if not yet watched. More...
 
const labelListwatchIndices () const
 Return file-monitoring handles. More...
 
labelListwatchIndices ()
 Return file-monitoring handles. More...
 
virtual bool write (const bool valid=true) const
 Write using setting from DB. More...
 
void operator= (const IOobject &io)
 Copy assignment. More...
 
virtual bool writeObject (IOstreamOption::streamFormat fmt, IOstreamOption::versionNumber ver, IOstreamOption::compressionType comp, const bool valid) const
 Write using given format, version and compression. More...
 
- Public Member Functions inherited from IOobject
 TypeName ("IOobject")
 Declare type-name, virtual type (with debug switch) More...
 
 IOobject (const IOobject &)=default
 Copy construct. More...
 
virtual ~IOobject ()=default
 Destructor. More...
 
 IOobject (const word &name, const fileName &instance, const objectRegistry &registry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true, bool globalObject=false)
 Construct from name, instance, registry, io options. More...
 
 IOobject (const word &name, const fileName &instance, const fileName &local, const objectRegistry &registry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true, bool globalObject=false)
 Construct from name, instance, local, registry, io options. More...
 
 IOobject (const fileName &path, const objectRegistry &registry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true, bool globalObject=false)
 Construct from path, registry, io options. More...
 
 IOobject (const IOobject &io, const objectRegistry &registry)
 Copy construct, resetting registry. More...
 
 IOobject (const IOobject &io, const word &name)
 Copy construct, resetting name. More...
 
 IOobject (const IOobject &io, readOption, writeOption)
 Copy construct, resetting io options. More...
 
autoPtr< IOobjectclone () const
 Clone. More...
 
autoPtr< IOobjectclone (const objectRegistry &registry) const
 Clone resetting registry. More...
 
const objectRegistrydb () const noexcept
 Return the local objectRegistry. More...
 
const Timetime () const
 Return Time associated with the objectRegistry. More...
 
const wordname () const noexcept
 Return name. More...
 
const wordheaderClassName () const noexcept
 Return name of the class name read from header. More...
 
wordheaderClassName () noexcept
 Return non-constant access to the class name read from header. More...
 
const stringnote () const noexcept
 Return the optional note. More...
 
stringnote () noexcept
 Return non-constant access to the optional note. More...
 
bool registerObject () const noexcept
 Should object created with this IOobject be registered? More...
 
bool registerObject (bool on) noexcept
 Change registration preference, return previous value. More...
 
bool globalObject () const noexcept
 Is object same for all processors? More...
 
bool globalObject (bool on) noexcept
 Change global-object status, return previous value. More...
 
unsigned labelByteSize () const noexcept
 The sizeof (label) in bytes, possibly read from the header. More...
 
unsigned scalarByteSize () const noexcept
 The sizeof (scalar) in bytes, possibly read from the header. More...
 
bool isHeaderClassName (const word &clsName) const
 Test if headerClassName() equals the given class name. More...
 
template<class Type >
bool isHeaderClassName () const
 Test if headerClassName() equals Type::typeName. More...
 
readOption readOpt () const noexcept
 The read option. More...
 
readOption readOpt (readOption opt) noexcept
 Change the read option, return previous value. More...
 
writeOption writeOpt () const noexcept
 The write option. More...
 
writeOption writeOpt (writeOption opt) noexcept
 Change the write option, return previous value. More...
 
word group () const
 Return group (extension part of name) More...
 
word member () const
 Return member (name without the extension) More...
 
const fileNamerootPath () const
 
const fileNamecaseName () const
 
const fileNameinstance () const noexcept
 
fileNameinstance () noexcept
 
const fileNamelocal () const noexcept
 
fileName path () const
 The complete path. More...
 
fileName path (const word &instance, const fileName &local=fileName::null) const
 The complete path with alternative instance and local. More...
 
fileName objectPath () const
 The complete path + object name. More...
 
fileName objectRelPath () const
 The object path relative to the root. More...
 
fileName localFilePath (const word &typeName, const bool search=true) const
 Helper for filePath that searches locally. More...
 
fileName globalFilePath (const word &typeName, const bool search=true) const
 Helper for filePath that searches up if in parallel. More...
 
IOstreamOption parseHeader (const dictionary &headerDict)
 
bool readHeader (Istream &is)
 
bool readHeader (dictionary &headerDict, Istream &is)
 
template<class Type >
bool typeHeaderOk (const bool checkType=true, const bool search=true, const bool verbose=true)
 Read header (uses typeFilePath to find file) and check its info. More...
 
template<class Type >
void warnNoRereading () const
 Helper: warn that type does not support re-reading. More...
 
bool writeHeader (Ostream &os) const
 Write header with current type() More...
 
bool writeHeader (Ostream &os, const word &objectType) const
 Write header with override of type. More...
 
void writeHeader (dictionary &dict, IOstreamOption streamOpt) const
 
void writeHeader (dictionary &dict, const word &objectType, IOstreamOption streamOpt) const
 
bool good () const noexcept
 
bool bad () const noexcept
 
InfoProxy< IOobjectinfo () const
 Return info proxy. More...
 
void operator= (const IOobject &io)
 
readOptionreadOpt () noexcept
 Access to the read option. More...
 
writeOptionwriteOpt () noexcept
 Access to the write option. More...
 
boolregisterObject () noexcept
 Access to the register object option. More...
 
boolglobalObject () noexcept
 Access to the global object option. More...
 
template<>
bool isHeaderClassName () const
 Specialization for void always returns true (no headerClassName check). More...
 
template<class StringType >
Foam::word groupName (StringType base, const word &group)
 
- Public Member Functions inherited from objectRegistry
 TypeName ("objectRegistry")
 Declare type name for this IOobject. More...
 
 objectRegistry (const Time &db, const label nObjects=128)
 
 objectRegistry (const IOobject &io, const label nObjects=128)
 
virtual ~objectRegistry ()
 Destructor, with checkOut() for all objects that are ownedByRegistry. More...
 
const objectRegistrythisDb () const noexcept
 Return the object registry. More...
 
const objectRegistryparent () const noexcept
 Return the parent objectRegistry. More...
 
const Timetime () const noexcept
 Return time registry. More...
 
bool isTimeDb () const noexcept
 True if the registry is Time. More...
 
virtual const fileNamedbDir () const
 Local directory path of this objectRegistry relative to the time. More...
 
HashTable< wordHashSetclasses () const
 A summary hash of classes used and their associated object names. More...
 
template<class MatchPredicate >
HashTable< wordHashSetclasses (const MatchPredicate &matchName) const
 
label count (const char *clsName) const
 The number of objects of the given class name. More...
 
template<class MatchPredicate >
label count (const MatchPredicate &matchClass) const
 The number of objects of the given class name. More...
 
template<class MatchPredicate1 , class MatchPredicate2 >
label count (const MatchPredicate1 &matchClass, const MatchPredicate2 &matchName) const
 The number of objects of the given class name. More...
 
template<class Type >
label count (const bool strict=false) const
 The names of objects with a class satisfying isA<Type> More...
 
template<class Type , class MatchPredicate >
label count (const MatchPredicate &matchName) const
 
wordList names () const
 The names of all objects. More...
 
wordList names (const char *clsName) const
 The names of objects with the given class name. More...
 
template<class MatchPredicate >
wordList names (const MatchPredicate &matchClass) const
 The names of objects with a matching class name. More...
 
template<class MatchPredicate1 , class MatchPredicate2 >
wordList names (const MatchPredicate1 &matchClass, const MatchPredicate2 &matchName) const
 
template<class Type >
wordList names () const
 The names of objects with a class satisfying isA<Type>. More...
 
template<class Type , class MatchPredicate >
wordList names (const MatchPredicate &matchName) const
 
wordList sortedNames () const
 The sorted names of all objects. More...
 
wordList sortedNames (const char *clsName) const
 The sorted names of objects with the given class name. More...
 
template<class MatchPredicate >
wordList sortedNames (const MatchPredicate &matchClass) const
 The sorted names objects with a matching class name. More...
 
template<class MatchPredicate1 , class MatchPredicate2 >
wordList sortedNames (const MatchPredicate1 &matchClass, const MatchPredicate2 &matchName) const
 
template<class Type >
wordList sortedNames () const
 The sorted names of objects with a class satisfying isA<Type> More...
 
template<class Type , class MatchPredicate >
wordList sortedNames (const MatchPredicate &matchName) const
 
const objectRegistrysubRegistry (const word &name, const bool forceCreate=false, const bool recursive=false) const
 Lookup and return a const sub-objectRegistry. More...
 
template<class Type >
HashTable< const Type * > lookupClass (const bool strict=false) const
 Return all objects with a class satisfying isA<Type> More...
 
template<class Type >
HashTable< Type * > lookupClass (const bool strict=false)
 Return all objects with a class satisfying isA<Type> More...
 
const regIOobjectcfindIOobject (const word &name, const bool recursive=false) const
 Return const pointer to the regIOobject. More...
 
bool found (const word &name, const bool recursive=false) const
 Can the regIOobject object be found (by name). More...
 
template<class Type >
bool foundObject (const word &name, const bool recursive=false) const
 Is the named Type found? More...
 
template<class Type >
const Type * cfindObject (const word &name, const bool recursive=false) const
 Return const pointer to the object of the given Type. More...
 
template<class Type >
const Type * findObject (const word &name, const bool recursive=false) const
 Return const pointer to the object of the given Type. More...
 
template<class Type >
Type * findObject (const word &name, const bool recursive=false)
 Return non-const pointer to the object of the given Type. More...
 
template<class Type >
Type * getObjectPtr (const word &name, const bool recursive=false) const
 
template<class Type >
const Type & lookupObject (const word &name, const bool recursive=false) const
 
template<class Type >
Type & lookupObjectRef (const word &name, const bool recursive=false) const
 
label getEvent () const
 Return new event number. More...
 
bool checkIn (regIOobject *io) const
 Add a regIOobject to registry. A nullptr is ignored. More...
 
bool checkIn (regIOobject &io) const
 Add a regIOobject to registry. More...
 
bool checkOut (regIOobject *io) const
 
bool checkOut (regIOobject &io) const
 
bool checkOut (const word &key) const
 
void clear ()
 Clear all entries from the registry. More...
 
void clearStorage ()
 Clear all entries from the registry and the table itself. More...
 
bool erase (const iterator &iter)
 Erase an entry specified by the given iterator. More...
 
bool erase (const word &key)
 Erase an entry specified by the given key. More...
 
label erase (std::initializer_list< word > keys)
 Remove entries given by the listed keys. More...
 
label erase (const UList< word > &keys)
 Remove entries given by the listed keys. More...
 
virtual void rename (const word &newName)
 Rename. More...
 
virtual bool modified () const
 Return true if any of the object's files have been modified. More...
 
void readModifiedObjects ()
 Read the objects that have been modified. More...
 
virtual bool readIfModified ()
 Read object if modified. More...
 
template<class Type >
const Type * lookupObjectPtr (const word &name, bool recursive=false) const
 Deprecated(2018-10) find object. More...
 
template<class Type >
Type * lookupObjectRefPtr (const word &name, bool recursive=false) const
 Deprecated(2018-10) get object pointer, ignoring constness. More...
 
template<class MatchPredicate >
Foam::HashTable< Foam::wordHashSetclassesImpl (const objectRegistry &list, const MatchPredicate &matchName)
 
template<class MatchPredicate1 , class MatchPredicate2 >
Foam::label countImpl (const objectRegistry &list, const MatchPredicate1 &matchClass, const MatchPredicate2 &matchName)
 
template<class Type , class MatchPredicate >
Foam::label countTypeImpl (const objectRegistry &list, const MatchPredicate &matchName)
 
template<class MatchPredicate1 , class MatchPredicate2 >
Foam::wordList namesImpl (const objectRegistry &list, const MatchPredicate1 &matchClass, const MatchPredicate2 &matchName, const bool doSort)
 
template<class Type , class MatchPredicate >
Foam::wordList namesTypeImpl (const objectRegistry &list, const MatchPredicate &matchName, const bool doSort)
 
template<class MatchPredicate >
Foam::HashTable< Foam::wordHashSetclasses (const MatchPredicate &matchName) const
 
template<class MatchPredicate >
Foam::label count (const MatchPredicate &matchClass) const
 
template<class MatchPredicate1 , class MatchPredicate2 >
Foam::label count (const MatchPredicate1 &matchClass, const MatchPredicate2 &matchName) const
 
template<class Type , class MatchPredicate >
Foam::label count (const MatchPredicate &matchName) const
 
template<class Type >
Foam::label count (const bool strict) const
 
template<class MatchPredicate >
Foam::wordList names (const MatchPredicate &matchClass) const
 
template<class MatchPredicate1 , class MatchPredicate2 >
Foam::wordList names (const MatchPredicate1 &matchClass, const MatchPredicate2 &matchName) const
 
template<class Type >
Foam::wordList names () const
 
template<class Type , class MatchPredicate >
Foam::wordList names (const MatchPredicate &matchName) const
 
template<class MatchPredicate >
Foam::wordList sortedNames (const MatchPredicate &matchClass) const
 
template<class MatchPredicate1 , class MatchPredicate2 >
Foam::wordList sortedNames (const MatchPredicate1 &matchClass, const MatchPredicate2 &matchName) const
 
template<class Type >
Foam::wordList sortedNames () const
 
template<class Type , class MatchPredicate >
Foam::wordList sortedNames (const MatchPredicate &matchName) const
 
template<class Type >
Foam::HashTable< const Type * > lookupClass (const bool strict) const
 
template<class Type >
Foam::HashTable< Type * > lookupClass (const bool strict)
 
- Public Member Functions inherited from HashTable< regIOobject * >
 HashTable ()
 Default construct with default (128) table capacity. More...
 
 HashTable (const label size)
 Construct given initial table capacity. More...
 
 HashTable (Istream &is, const label size=128)
 Construct from Istream with default table capacity. More...
 
 HashTable (const this_type &ht)
 Copy construct. More...
 
 HashTable (this_type &&rhs)
 Move construct. More...
 
 HashTable (std::initializer_list< std::pair< word, regIOobject * >> list)
 Construct from an initializer list. More...
 
 ~HashTable ()
 Destructor. More...
 
label capacity () const noexcept
 The size of the underlying table. More...
 
label size () const noexcept
 The number of elements in table. More...
 
bool empty () const noexcept
 True if the hash table is empty. More...
 
regIOobject * & at (const word &key)
 Find and return a hashed entry. FatalError if it does not exist. More...
 
const regIOobject * & at (const word &key) const
 Find and return a hashed entry. FatalError if it does not exist. More...
 
bool found (const word &key) const
 Return true if hashed entry is found in table. More...
 
iterator find (const word &key)
 Find and return an iterator set at the hashed entry. More...
 
const_iterator find (const word &key) const
 Find and return an const_iterator set at the hashed entry. More...
 
const_iterator cfind (const word &key) const
 Find and return an const_iterator set at the hashed entry. More...
 
const regIOobject * & lookup (const word &key, const regIOobject * &deflt) const
 Return hashed entry if it exists, or return the given default. More...
 
List< wordtoc () const
 The table of contents (the keys) in unsorted order. More...
 
List< wordsortedToc () const
 The table of contents (the keys) in sorted order. More...
 
List< wordsortedToc (const Compare &comp) const
 
Foam::List< wordsortedToc (const Compare &comp) const
 
List< wordtocKeys (const UnaryPredicate &pred, const bool invert=false) const
 
Foam::List< wordtocKeys (const UnaryPredicate &pred, const bool invert) const
 
List< wordtocValues (const UnaryPredicate &pred, const bool invert=false) const
 
Foam::List< wordtocValues (const UnaryPredicate &pred, const bool invert) const
 
List< wordtocEntries (const BinaryPredicate &pred, const bool invert=false) const
 
Foam::List< wordtocEntries (const BinaryPredicate &pred, const bool invert) const
 
label countKeys (const UnaryPredicate &pred, const bool invert=false) const
 Count the number of keys that satisfy the unary predicate. More...
 
Foam::label countKeys (const UnaryPredicate &pred, const bool invert) const
 
label countValues (const UnaryPredicate &pred, const bool invert=false) const
 Count the number of values that satisfy the unary predicate. More...
 
Foam::label countValues (const UnaryPredicate &pred, const bool invert) const
 
label countEntries (const BinaryPredicate &pred, const bool invert=false) const
 Count the number of entries that satisfy the binary predicate. More...
 
Foam::label countEntries (const BinaryPredicate &pred, const bool invert) const
 
bool emplace (const word &key, Args &&... args)
 Emplace insert a new entry, not overwriting existing entries. More...
 
bool emplace_set (const word &key, Args &&... args)
 Emplace set an entry, overwriting any existing entries. More...
 
bool insert (const word &key, const regIOobject * &obj)
 Copy insert a new entry, not overwriting existing entries. More...
 
bool insert (const word &key, regIOobject * &&obj)
 Move insert a new entry, not overwriting existing entries. More...
 
bool set (const word &key, const regIOobject * &obj)
 Copy assign a new entry, overwriting existing entries. More...
 
bool set (const word &key, regIOobject * &&obj)
 Move assign a new entry, overwriting existing entries. More...
 
bool erase (const iterator &iter)
 Erase an entry specified by given iterator. More...
 
bool erase (const word &key)
 Erase an entry specified by the given key. More...
 
label erase (const HashTable< AnyType, word, AnyHash > &other)
 Remove table entries given by keys of the other hash-table. More...
 
label erase (std::initializer_list< word > keys)
 Remove table entries given by the listed keys. More...
 
label erase (InputIter first, InputIter last)
 Remove multiple entries using an iterator range of keys. More...
 
label erase (const FixedList< word, N > &keys)
 Remove table entries given by the listed keys. More...
 
label erase (const UList< word > &keys)
 Remove table entries given by the listed keys. More...
 
Foam::label erase (InputIter first, InputIter last)
 
Foam::label erase (const FixedList< word, N > &keys)
 
Foam::label erase (const HashTable< AnyType, word, AnyHash > &other)
 
label retain (const HashTable< AnyType, word, AnyHash > &other)
 Retain table entries given by keys of the other hash-table. More...
 
Foam::label retain (const HashTable< AnyType, word, AnyHash > &other)
 
label filterKeys (const UnaryPredicate &pred, const bool pruning=false)
 Generalized means to filter table entries based on their keys. More...
 
Foam::label filterKeys (const UnaryPredicate &pred, const bool pruning)
 
label filterValues (const UnaryPredicate &pred, const bool pruning=false)
 Generalized means to filter table entries based on their values. More...
 
Foam::label filterValues (const UnaryPredicate &pred, const bool pruning)
 
label filterEntries (const BinaryPredicate &pred, const bool pruning=false)
 Generalized means to filter table entries based on their key/value. More...
 
Foam::label filterEntries (const BinaryPredicate &pred, const bool pruning)
 
void resize (const label sz)
 Resize the hash table for efficiency. More...
 
void clear ()
 Clear all entries from table. More...
 
void clearStorage ()
 Clear the table entries and the table itself. More...
 
void swap (HashTable< regIOobject *, word, Foam::Hash< word > > &rhs)
 Swap contents into this table. More...
 
void transfer (HashTable< regIOobject *, word, Foam::Hash< word > > &rhs)
 Transfer contents into this table. More...
 
regIOobject * & operator[] (const word &key)
 Find and return a hashed entry. FatalError if it does not exist. More...
 
const regIOobject * & operator[] (const word &key) const
 Find and return a hashed entry. FatalError if it does not exist. More...
 
regIOobject * & operator() (const word &key)
 Return existing entry or create a new entry. More...
 
regIOobject * & operator() (const word &key, const regIOobject * &deflt)
 Return existing entry or insert a new entry. More...
 
void operator= (const this_type &rhs)
 Copy assign. More...
 
void operator= (std::initializer_list< std::pair< word, regIOobject * >> rhs)
 Copy assign from an initializer list. More...
 
void operator= (this_type &&rhs)
 Move assign. More...
 
bool operator== (const this_type &rhs) const
 
bool operator!= (const this_type &rhs) const
 The opposite of the equality operation. More...
 
this_typeoperator+= (const this_type &rhs)
 Add entries into this HashTable. More...
 
const_iterator_pair< const_key_iterator, this_typekeys () const
 A const iterator begin/end pair for iterating over keys. More...
 
iterator begin ()
 iterator set to the beginning of the HashTable More...
 
const_iterator begin () const
 const_iterator set to the beginning of the HashTable More...
 
const_iterator cbegin () const
 const_iterator set to the beginning of the HashTable More...
 
iterator end () noexcept
 iterator to signal the end (for any HashTable) More...
 
const_iterator end () const noexcept
 const_iterator to signal the end (for any HashTable) More...
 
constexpr const_iterator cend () const noexcept
 const_iterator to signal the end (for any HashTable) More...
 
OstreamprintInfo (Ostream &os) const
 Print information. More...
 
OstreamwriteKeys (Ostream &os, const label shortLen=0) const
 
- Public Member Functions inherited from triSurface
 ClassName ("triSurface")
 Runtime type information. More...
 
 triSurface ()
 Default construct. More...
 
 triSurface (const triSurface &surf)
 Copy construct. More...
 
 triSurface (triSurface &&surf)
 Move construct. More...
 
 triSurface (const List< labelledTri > &triangles, const geometricSurfacePatchList &patches, const pointField &pts)
 Construct from triangles, patches, points. More...
 
 triSurface (List< labelledTri > &triangles, const geometricSurfacePatchList &patches, pointField &pts, const bool reuse)
 Construct from triangles, patches, points. Reuse storage. More...
 
 triSurface (const List< labelledTri > &triangles, const pointField &pts)
 
 triSurface (const triFaceList &triangles, const pointField &pts)
 
 triSurface (const fileName &name, const scalar scaleFactor=-1)
 Construct from file name (uses extension to determine type). More...
 
 triSurface (const fileName &name, const word &fileType, const scalar scaleFactor=-1)
 Construct from file name with given format type. More...
 
 triSurface (Istream &is)
 Construct from Istream. More...
 
 triSurface (const Time &d)
 Construct from objectRegistry by reading an ".ftr" file. More...
 
 triSurface (const IOobject &io, const dictionary &dict, const bool isGlobal=true)
 Read construct using IO to find the file location. More...
 
virtual ~triSurface ()
 Destructor. More...
 
void clearOut ()
 
void clearTopology ()
 
void clearPatchMeshAddr ()
 
void swap (triSurface &surf)
 
const geometricSurfacePatchListpatches () const noexcept
 
geometricSurfacePatchListpatches () noexcept
 
const List< labelledTri > & surfFaces () const noexcept
 Return const access to the faces. More...
 
const labelListListsortedEdgeFaces () const
 Return edge-face addressing sorted (for edges with more than. More...
 
const labelListedgeOwner () const
 If 2 face neighbours: label of face where ordering of edge. More...
 
const vectorFieldSf () const
 Face area vectors (normals) More...
 
const scalarFieldmagSf () const
 Face area magnitudes. More...
 
const vectorFieldCf () const
 Face centres. More...
 
List< surfZonesortedZones (labelList &faceMap) const
 Sort faces according to zoneIds. More...
 
void triFaceFaces (List< face > &plainFaceList) const
 Create a list of faces from the triFaces. More...
 
virtual void swapPoints (pointField &pts)
 Swap points. Similar to movePoints, but returns the old points. More...
 
virtual void scalePoints (const scalar scaleFactor)
 Scale points. A non-positive factor is ignored. More...
 
void checkTriangles (const bool verbose)
 Check/remove duplicate/degenerate triangles. More...
 
void checkEdges (const bool verbose)
 Check triply (or more) connected edges. More...
 
void cleanup (const bool verbose)
 Remove non-valid triangles. More...
 
void compactPoints (labelList &pointMap=const_cast< labelList & >(labelList::null()))
 Remove unused points and renumber faces in local visit order. More...
 
void markZone (const boolList &borderEdge, const label facei, const label currentZone, labelList &faceZone) const
 Fill faceZone with currentZone for every face reachable. More...
 
label markZones (const boolList &borderEdge, labelList &faceZone) const
 (size and) fills faceZone with zone of face. Zone is area More...
 
template<class BoolListType >
void subsetMeshMap (const BoolListType &include, labelList &pointMap, labelList &faceMap) const
 Create mappings for a sub-surface. More...
 
triSurface subsetMesh (const UList< bool > &include, labelList &pointMap, labelList &faceMap) const
 Return a new surface subsetted on the selected faces. More...
 
triSurface subsetMesh (const bitSet &include, labelList &pointMap, labelList &faceMap) const
 Return a new surface subsetted on the selected faces. More...
 
triSurface subsetMesh (const UList< bool > &include) const
 Return a new surface subsetted on the selected faces. More...
 
triSurface subsetMesh (const bitSet &include) const
 Return a new surface subsetted on the selected faces. More...
 
triSurface subsetMesh (const wordRes &includeNames, const wordRes &excludeNames=wordRes()) const
 Return a new surface subsetted on the selected patch names. More...
 
void swapFaces (List< labelledTri > &faceLst)
 Swap the list of faces being addressed. More...
 
void transfer (triSurface &surf)
 Alter contents by transferring (triangles, points) components. More...
 
void transfer (MeshedSurface< labelledTri > &surf)
 Alter contents by transferring (triangles, points) components. More...
 
void write (Ostream &os) const
 Write to Ostream in simple OpenFOAM format. More...
 
void write (const fileName &, const bool sortByRegion=false) const
 Generic write routine (uses extension to determine type). More...
 
void write (const fileName &filename, const word &fileType, const bool sortByRegion=false) const
 Generic write routine for given format type. More...
 
void write (const Time &d) const
 Write to database. More...
 
void writeStats (Ostream &os) const
 Write some statistics. More...
 
void operator= (const triSurface &surf)
 Copy assignment. More...
 
void operator= (triSurface &&surf)
 Move assignment. More...
 
void operator= (MeshedSurface< labelledTri > &&surf)
 Move assignment. More...
 
- Public Member Functions inherited from PrimitivePatch<::Foam::List< labelledTri >, pointField >
 PrimitivePatch (const ::Foam::List< labelledTri > &faces, const pointField &points)
 Construct from components. More...
 
 PrimitivePatch (::Foam::List< labelledTri > &&faces, const pointField &points)
 Construct from components, transferring faces. More...
 
 PrimitivePatch (::Foam::List< labelledTri > &faces, pointField &points, const bool reuse)
 Construct from components, reuse storage. More...
 
 PrimitivePatch (const PrimitivePatch< ::Foam::List< labelledTri >, pointField > &pp)
 Copy construct. More...
 
virtual ~PrimitivePatch ()
 Destructor. More...
 
void clearOut ()
 
void clearGeom ()
 
void clearTopology ()
 
void clearPatchMeshAddr ()
 
void swap (PrimitivePatch &)=delete
 Suppress direct swapping, since storage containers may be const. More...
 
const Field< point_type > & points () const noexcept
 Return reference to global points. More...
 
label nFaces () const noexcept
 Number of faces in the patch. More...
 
label nPoints () const
 Number of points supporting patch faces. More...
 
label nEdges () const
 Number of edges in patch. More...
 
const edgeListedges () const
 Return list of edges, address into LOCAL point list. More...
 
const edgeList::subList internalEdges () const
 Return sub-list of internal edges, address into LOCAL point list. More...
 
const edgeList::subList boundaryEdges () const
 Return sub-list of boundary edges, address into LOCAL point list. More...
 
label nInternalEdges () const
 Number of internal edges. More...
 
label nBoundaryEdges () const
 Number of boundary edges == (nEdges() - nInternalEdges()) More...
 
bool isInternalEdge (const label edgei) const
 Is internal edge? More...
 
const labelListboundaryPoints () const
 Return list of boundary points, address into LOCAL point list. More...
 
const labelListListfaceFaces () const
 Return face-face addressing. More...
 
const labelListListedgeFaces () const
 Return edge-face addressing. More...
 
const labelListListfaceEdges () const
 Return face-edge addressing. More...
 
const labelListListpointEdges () const
 Return point-edge addressing. More...
 
const labelListListpointFaces () const
 Return point-face addressing. More...
 
const List< face_type > & localFaces () const
 Return patch faces addressing into local point list. More...
 
labelList boundaryFaces () const
 
labelList uniqBoundaryFaces () const
 
const labelListmeshPoints () const
 Return labelList of mesh points in patch. More...
 
const Map< label > & meshPointMap () const
 Mesh point map. More...
 
const Field< point_type > & localPoints () const
 Return pointField of points in patch. More...
 
const labelListlocalPointOrder () const
 Return orders the local points for most efficient search. More...
 
label whichPoint (const label gp) const
 Given a global point index, return the local point index. More...
 
edge meshEdge (const label edgei) const
 From patch edge to global edge using meshPoints. More...
 
edge meshEdge (const edge &e) const
 From patch edge to global edge using meshPoints. More...
 
label meshEdge (const label edgei, const edgeList &allEdges, const labelListList &pointEdges) const
 
label findEdge (const edge &e) const
 
labelList meshEdges (const edgeList &allEdges, const labelListList &cellEdges, const labelList &faceCells) const
 
labelList meshEdges (const edgeList &allEdges, const labelListList &pointEdges) const
 
labelList meshEdges (const labelUList &edgeLabels, const edgeList &allEdges, const labelListList &pointEdges) const
 
const Field< point_type > & faceCentres () const
 Return face centres for patch. More...
 
const Field< point_type > & faceAreas () const
 Return face area vectors for patch. More...
 
const Field< scalar > & magFaceAreas () const
 Return face area magnitudes for patch. More...
 
const Field< point_type > & faceNormals () const
 Return face unit normals for patch. More...
 
const Field< point_type > & pointNormals () const
 Return point normals for patch. More...
 
bool hasFaceAreas () const
 
bool hasFaceCentres () const
 
bool hasFaceNormals () const
 
bool hasPointNormals () const
 
bool hasBoundaryPoints () const
 
bool hasFaceFaces () const
 
bool hasEdgeFaces () const
 
bool hasFaceEdges () const
 
bool hasPointEdges () const
 
bool hasPointFaces () const
 
bool hasMeshPointMap () const
 
List< objectHitprojectPoints (const ToPatch &targetPatch, const Field< point_type > &projectionDirection, const intersection::algorithm=intersection::FULL_RAY, const intersection::direction=intersection::VECTOR) const
 Project vertices of patch onto another patch. More...
 
Foam::List< Foam::objectHitprojectPoints (const ToPatch &targetPatch, const Field< typename Foam::PrimitivePatch< ::Foam::List< labelledTri >, pointField >::point_type > &projectionDirection, const intersection::algorithm alg, const intersection::direction dir) const
 
List< objectHitprojectFaceCentres (const ToPatch &targetPatch, const Field< point_type > &projectionDirection, const intersection::algorithm=intersection::FULL_RAY, const intersection::direction=intersection::VECTOR) const
 Project vertices of patch onto another patch. More...
 
Foam::List< Foam::objectHitprojectFaceCentres (const ToPatch &targetPatch, const Field< typename Foam::PrimitivePatch< ::Foam::List< labelledTri >, pointField >::point_type > &projectionDirection, const intersection::algorithm alg, const intersection::direction dir) const
 
const labelListListedgeLoops () const
 Return list of closed loops of boundary vertices. More...
 
surfaceTopo surfaceType () const
 Calculate surface type formed by patch. More...
 
bool checkTopology (const bool report=false, labelHashSet *setPtr=nullptr) const
 Check surface formed by patch for manifoldness (see above). More...
 
bool checkPointManifold (const bool report=false, labelHashSet *setPtr=nullptr) const
 Checks primitivePatch for faces sharing point but not edge. More...
 
virtual void movePoints (const Field< point_type > &)
 Correct patch after moving points. More...
 
void operator= (const PrimitivePatch< ::Foam::List< labelledTri >, pointField > &rhs)
 Copy assign faces. Leave points alone (could be a reference). More...
 
void operator= (PrimitivePatch< ::Foam::List< labelledTri >, pointField > &&rhs)
 Move assign faces. Leave points alone (could be a reference). More...
 
label whichEdge (const edge &e) const
 Identical to findEdge. More...
 
- Public Member Functions inherited from PrimitivePatchBase
 ClassName ("PrimitivePatch")
 Runtime type information. More...
 
 PrimitivePatchBase ()=default
 Default construct. More...
 
- Public Member Functions inherited from List< labelledTri >
constexpr List () noexcept
 Default construct. More...
 
 List (const label len)
 Construct with given size. More...
 
 List (const label len, const labelledTri &val)
 Construct with given size and value for all elements. More...
 
 List (const label len, const Foam::zero)
 Construct with given size initializing all elements to zero. More...
 
 List (const Foam::one, const labelledTri &val)
 Construct with length=1, copying the value as the only content. More...
 
 List (const Foam::one, labelledTri &&val)
 Construct with length=1, moving the value as the only content. More...
 
 List (const Foam::one, const Foam::zero)
 Construct with length=1, initializing content to zero. More...
 
 List (const List< labelledTri > &a)
 Copy construct from list. More...
 
 List (const UList< labelledTri > &a)
 Copy construct contents from list. More...
 
 List (List< labelledTri > &a, bool reuse)
 Construct as copy or re-use as specified. More...
 
 List (const UList< labelledTri > &list, const labelUList &indices)
 Copy construct subset of list. More...
 
 List (const UList< labelledTri > &list, const FixedList< label, N > &indices)
 Copy construct subset of list. More...
 
 List (const FixedList< labelledTri, N > &list)
 Construct as copy of FixedList<T, N> More...
 
 List (const PtrList< labelledTri > &list)
 Construct as copy of PtrList<T> More...
 
 List (const SLList< labelledTri > &list)
 Construct as copy of SLList<T> More...
 
 List (const IndirectListBase< labelledTri, Addr > &list)
 Construct as copy of IndirectList contents. More...
 
 List (std::initializer_list< labelledTri > list)
 Construct from an initializer list. More...
 
 List (List< labelledTri > &&list)
 Move construct from List. More...
 
 List (DynamicList< labelledTri, SizeMin > &&list)
 Move construct from DynamicList. More...
 
 List (SortableList< labelledTri > &&list)
 Move construct from SortableList. More...
 
 List (SLList< labelledTri > &&list)
 Move construct from SLList. More...
 
 List (Istream &is)
 Construct from Istream. More...
 
autoPtr< List< labelledTri > > clone () const
 Clone. More...
 
 ~List ()
 Destructor. More...
 
void clear ()
 Clear the list, i.e. set size to zero. More...
 
void resize (const label len)
 Adjust allocated size of list. More...
 
void resize (const label len, const labelledTri &val)
 Adjust allocated size of list and set val for new elements. More...
 
void resize (const label newLen)
 
void resize_nocopy (const label len)
 Adjust allocated size of list without necessarily. More...
 
void setSize (const label n)
 Alias for resize() More...
 
void setSize (const label n, const labelledTri &val)
 Alias for resize() More...
 
void append (const labelledTri &val)
 Append an element at the end of the list. More...
 
void append (labelledTri &&val)
 Move append an element at the end of the list. More...
 
void append (const UList< labelledTri > &list)
 Append a List to the end of this list. More...
 
void append (const IndirectListBase< labelledTri, Addr > &list)
 Append IndirectList contents at the end of this list. More...
 
label appendUniq (const labelledTri &val)
 Append an element if not already in the list. More...
 
void transfer (List< labelledTri > &list)
 
void transfer (DynamicList< labelledTri, SizeMin > &list)
 
void transfer (SortableList< labelledTri > &list)
 
labelledTrinewElmt (const label i)
 
void operator= (const UList< labelledTri > &a)
 Assignment to UList operator. Takes linear time. More...
 
void operator= (const List< labelledTri > &list)
 Assignment operator. Takes linear time. More...
 
void operator= (const SLList< labelledTri > &list)
 Assignment to SLList operator. Takes linear time. More...
 
void operator= (const IndirectListBase< labelledTri, Addr > &list)
 Assignment from IndirectList. Takes linear time. More...
 
void operator= (const FixedList< labelledTri, N > &list)
 Copy assignment from FixedList. More...
 
void operator= (std::initializer_list< labelledTri > list)
 Assignment to an initializer list. More...
 
void operator= (const labelledTri &val)
 Assignment of all entries to the given value. More...
 
void operator= (const Foam::zero)
 Assignment of all entries to zero. More...
 
void operator= (List< labelledTri > &&list)
 Move assignment. Takes constant time. More...
 
void operator= (DynamicList< labelledTri, SizeMin > &&list)
 Move assignment. Takes constant time. More...
 
void operator= (SortableList< labelledTri > &&list)
 Move assignment. Takes constant time. More...
 
void operator= (SLList< labelledTri > &&list)
 Move assignment. Takes constant time. More...
 
IstreamreadList (Istream &is)
 Read List from Istream, discarding contents of existing List. More...
 
IstreamreadList (Istream &is)
 
IstreamreadList (Istream &is)
 
void shallowCopy (const UList< labelledTri > &)=delete
 No shallowCopy permitted. More...
 
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type set (const label i, bool val=true)
 A bitSet::set() method for a list of bool. More...
 
- Public Member Functions inherited from triSurfaceRegionSearch
 triSurfaceRegionSearch (const triSurface &)
 Construct from surface. Holds reference to surface! More...
 
 triSurfaceRegionSearch (const triSurface &, const dictionary &dict)
 Construct from surface and dictionary. Holds reference to surface! More...
 
 ~triSurfaceRegionSearch ()
 Destructor. More...
 
void clearOut ()
 Clear storage. More...
 
const PtrList< treeType > & treeByRegion () const
 Demand driven construction of octree for each region. More...
 
void findNearest (const pointField &samples, const scalarField &nearestDistSqr, const labelList &regionIndices, List< pointIndexHit > &info) const
 Find the nearest point on the surface out of the regions. More...
 
- Public Member Functions inherited from triSurfaceSearch
 triSurfaceSearch (const triSurface &surface)
 Construct from surface. Holds reference to surface! More...
 
 triSurfaceSearch (const triSurface &surface, const dictionary &dict)
 Construct from surface and dictionary. More...
 
 triSurfaceSearch (const triSurface &surface, const scalar tolerance, const label maxTreeDepth=10)
 Construct from components. More...
 
 ~triSurfaceSearch ()
 Destructor. More...
 
void clearOut ()
 Clear storage. More...
 
const indexedOctree< treeDataTriSurface > & tree () const
 Demand driven construction of the octree. More...
 
const triSurfacesurface () const
 Return reference to the surface. More...
 
scalar tolerance () const
 Return tolerance to use in searches. More...
 
label maxTreeDepth () const
 Return max tree depth of octree. More...
 
boolList calcInside (const pointField &searchPoints) const
 Calculate for each searchPoint inside/outside status. More...
 
void findNearest (const pointField &samples, const scalarField &nearestDistSqr, List< pointIndexHit > &info) const
 
pointIndexHit nearest (const point &pt, const vector &span) const
 Calculate nearest point on surface for single searchPoint. Returns. More...
 
void findLine (const pointField &start, const pointField &end, List< pointIndexHit > &info) const
 
void findLineAny (const pointField &start, const pointField &end, List< pointIndexHit > &info) const
 
void findLineAll (const pointField &start, const pointField &end, List< List< pointIndexHit >> &info) const
 Calculate all intersections from start to end. More...
 

Static Public Attributes

static word meshSubDir = "triSurface"
 Return the mesh sub-directory name (usually "triSurface") More...
 
- Static Public Attributes inherited from IOobject
static const Enum< fileCheckTypesfileCheckTypesNames
 Names for the fileCheckTypes. More...
 
static char scopeSeparator
 Character for scoping object names (':' or '_') More...
 
static fileCheckTypes fileModificationChecking
 Type of file modification checking. More...
 
static float fileModificationSkew
 Time skew (seconds) for file modification checks. More...
 
static int maxFileModificationPolls
 Max number of times to poll for file modification changes. More...
 

Protected Member Functions

bool isSurfaceClosed () const
 Check whether surface is closed without calculating any permanent. More...
 
 triSurfaceMesh (const triSurfaceMesh &)=delete
 No copy construct. More...
 
void operator= (const triSurfaceMesh &)=delete
 No copy assignment. More...
 
- Protected Member Functions inherited from regIOobject
bool readHeaderOk (const IOstreamOption::streamFormat fmt, const word &typeName)
 Helper: check readOpt flags and read if necessary. More...
 
- Protected Member Functions inherited from IOobject
void setBad (const string &s)
 Set the object state to bad. More...
 
- Protected Member Functions inherited from HashTable< regIOobject * >
bool iterator_erase (node_type *&entry, label &index)
 Low-level entry erasure using iterator internals. More...
 
- Protected Member Functions inherited from triSurface
pointFieldstoredPoints ()
 Non-const access to global points. More...
 
List< labelledTri > & storedFaces ()
 Non-const access to the faces. More...
 

Static Protected Member Functions

static bool addFaceToEdge (const edge &, EdgeMap< label > &)
 Helper function for isSurfaceClosed. More...
 
static void getNextIntersections (const indexedOctree< treeDataTriSurface > &octree, const point &start, const point &end, const vector &smallVec, DynamicList< pointIndexHit > &hits)
 Steps to next intersection. Adds smallVec and starts tracking. More...
 
- Static Protected Member Functions inherited from IOobject
static void writeHeaderContent (Ostream &os, const IOobject &io, const word &objectType, const dictionary *metaDataDict=nullptr)
 
static void writeHeaderContent (dictionary &dict, const IOobject &io, const word &objectType, IOstreamOption streamOpt, const dictionary *metaDataDict=nullptr)
 

Protected Attributes

fileName fName_
 Supplied fileName override. More...
 
scalar minQuality_
 Optional min triangle quality. Triangles below this get. More...
 
autoPtr< indexedOctree< treeDataEdge > > edgeTree_
 Search tree for boundary edges. More...
 
wordList regions_
 Names of regions. More...
 
label surfaceClosed_
 Is surface closed. More...
 
volumeType outsideVolType_
 If surface is closed, what is type of outside points. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from searchableSurface
static autoPtr< searchableSurfaceNew (const word &surfaceType, const IOobject &io, const dictionary &dict)
 Return a reference to the selected searchableSurface. More...
 
- Static Public Member Functions inherited from regIOobject
template<class Type >
static Type & store (Type *p)
 Transfer pointer ownership to its registry. More...
 
template<class Type >
static Type & store (autoPtr< Type > &ptr)
 Transfer pointer ownership to its registry. More...
 
template<class Type >
static Type & store (autoPtr< Type > &&ptr)
 Transfer pointer ownership to its registry. More...
 
template<class Type >
static Type & store (refPtr< Type > &ptr)
 Transfer pointer ownership to its registry. More...
 
template<class Type >
static Type & store (refPtr< Type > &&ptr)
 Transfer pointer ownership to its registry. More...
 
template<class Type >
static Type & store (tmp< Type > &ptr)
 Transfer pointer ownership to its registry. More...
 
template<class Type >
static Type & store (tmp< Type > &&ptr)
 Transfer pointer ownership to its registry. More...
 
- Static Public Member Functions inherited from IOobject
static bool bannerEnabled () noexcept
 Status of output file banner. More...
 
static bool bannerEnabled (bool on) noexcept
 Enable/disable an output file banner. More...
 
static bool fileNameComponents (const fileName &path, fileName &instance, fileName &local, word &name)
 Split path into instance, local, name components. More...
 
template<class StringType >
static word groupName (StringType base, const word &group)
 Create dot-delimited name.group string. More...
 
static word group (const word &name)
 Return group (extension part of name) More...
 
static word member (const word &name)
 Return member (name without the extension) More...
 
static word scopedName (const std::string &scope, const word &name)
 Create scope:name or scope_name string. More...
 
static IOobject selectIO (const IOobject &io, const fileName &altFile, const word &ioName="")
 Return the IOobject, but also consider an alternative file name. More...
 
static OstreamwriteBanner (Ostream &os, const bool noSyntaxHint=false)
 Write the standard OpenFOAM file/dictionary banner. More...
 
static OstreamwriteDivider (Ostream &os)
 Write the standard file section divider. More...
 
static OstreamwriteEndDivider (Ostream &os)
 Write the standard end file divider. More...
 
- Static Public Member Functions inherited from triSurface
static fileName triSurfInstance (const Time &)
 Name of triSurface directory to use. More...
 
static wordHashSet readTypes ()
 Known readable file-types, including via friends or proxies. More...
 
static wordHashSet writeTypes ()
 Known writable file-types, including via friends or proxies. More...
 
static bool canReadType (const word &fileType, bool verbose=false)
 Can we read this file format? More...
 
static bool canWriteType (const word &fileType, bool verbose=false)
 Can we write this file format? More...
 
static bool canRead (const fileName &name, bool verbose=false)
 Can we read this file format? More...
 
static fileName relativeFilePath (const IOobject &io, const fileName &f, const bool isGlobal=true)
 Return fileName. More...
 
static fileName checkFile (const IOobject &io, const bool isGlobal=true)
 Return fileName to load IOobject from. More...
 
static fileName checkFile (const IOobject &io, const dictionary &dict, const bool isGlobal=true)
 Return fileName to load IOobject from. More...
 
static fileName findFile (const IOobject &io, const bool isGlobal=true)
 
static fileName findFile (const IOobject &io, const dictionary &dict, const bool isGlobal=true)
 
static autoPtr< triSurfaceNew (const fileName &name, const word &fileType)
 Read construct from filename with given file type. More...
 
static autoPtr< triSurfaceNew (const fileName &name)
 Read construct from filename (file type implicit from extension) More...
 
- Static Public Member Functions inherited from List< labelledTri >
static const List< labelledTri > & null ()
 Return a null List. More...
 
- Public Attributes inherited from HashTable< regIOobject * >
const typedef regIOobject * * const_pointer
 Const pointer type for the stored value_type. More...
 
const typedef regIOobject * & const_reference
 Const reference to the stored value_type. More...
 
- Static Protected Attributes inherited from regIOobject
static bool masterOnlyReading = false
 To flag master-only reading of objects. More...
 

Detailed Description

IOoject and searching on triSurface.

Note: when constructing from dictionary has the following parameters:

  • scale : scaling factor.
  • tolerance : relative tolerance for doing intersections (see triangle::intersection)
  • minQuality: discard triangles with low quality when getting normal


Dictionary parameters

Property Description Required Default
type triSurfaceMesh selector
file File name to locate the surface no
fileType The surface format (Eg, nastran) no
scale Scaling factor no 0
minQuality Quality criterion no -1
Source files

Definition at line 106 of file triSurfaceMesh.H.

Member Enumeration Documentation

◆ readAction

enum readAction
Enumerator
localOnly 
localOrGlobal 
masterOnly 

Definition at line 197 of file triSurfaceMesh.H.

Constructor & Destructor Documentation

◆ triSurfaceMesh() [1/6]

triSurfaceMesh ( const triSurfaceMesh )
protecteddelete

No copy construct.

◆ triSurfaceMesh() [2/6]

triSurfaceMesh ( const IOobject io,
const triSurface s 
)

Construct from triSurface.

Definition at line 174 of file triSurfaceMesh.C.

References searchableSurface::bounds(), and PrimitivePatch<::Foam::List< labelledTri >, pointField >::points().

Here is the call graph for this function:

◆ triSurfaceMesh() [3/6]

triSurfaceMesh ( const IOobject io)

Construct read.

Definition at line 202 of file triSurfaceMesh.C.

References searchableSurface::bounds(), and PrimitivePatch<::Foam::List< labelledTri >, pointField >::points().

Here is the call graph for this function:

◆ triSurfaceMesh() [4/6]

triSurfaceMesh ( const IOobject io,
const dictionary dict 
)

Construct from IO and dictionary (used by searchableSurface).

Dictionary may contain a 'scale' entry (eg, 0.001: mm -> m)

Definition at line 233 of file triSurfaceMesh.C.

References dict, Foam::endl(), dictionary::getOrDefault(), Foam::Info, keyType::LITERAL, IOobject::name(), PrimitivePatch<::Foam::List< labelledTri >, pointField >::points(), dictionary::readIfPresent(), and triSurface::relativeFilePath().

Here is the call graph for this function:

◆ triSurfaceMesh() [5/6]

◆ triSurfaceMesh() [6/6]

◆ ~triSurfaceMesh()

~triSurfaceMesh ( )
virtual

Destructor.

Definition at line 524 of file triSurfaceMesh.C.

Member Function Documentation

◆ addFaceToEdge()

bool addFaceToEdge ( const edge e,
EdgeMap< label > &  facesPerEdge 
)
staticprotected

Helper function for isSurfaceClosed.

Definition at line 51 of file triSurfaceMesh.C.

References Foam::BitOps::count(), and Foam::constant::electromagnetic::e.

Referenced by triSurfaceMesh::isSurfaceClosed().

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

◆ isSurfaceClosed()

bool isSurfaceClosed ( ) const
protected

Check whether surface is closed without calculating any permanent.

addressing.

Definition at line 67 of file triSurfaceMesh.C.

References triSurfaceMesh::addFaceToEdge(), List< T >::clear(), Foam::expressions::patchExpr::debug, Foam::endl(), f(), forAll, forAllConstIters(), Foam::invertManyToMany(), pFaces, PrimitivePatch<::Foam::List< labelledTri >, pointField >::pointFaces(), PrimitivePatch<::Foam::List< labelledTri >, pointField >::points(), and Foam::Pout.

Here is the call graph for this function:

◆ getNextIntersections()

static void getNextIntersections ( const indexedOctree< treeDataTriSurface > &  octree,
const point start,
const point end,
const vector smallVec,
DynamicList< pointIndexHit > &  hits 
)
staticprotected

Steps to next intersection. Adds smallVec and starts tracking.

from there.

◆ operator=()

void operator= ( const triSurfaceMesh )
protecteddelete

No copy assignment.

◆ TypeName()

TypeName ( "triSurfaceMesh"  )

Runtime type information.

◆ clearOut()

void clearOut ( )

Clear storage.

Definition at line 530 of file triSurfaceMesh.C.

References triSurfaceRegionSearch::clearOut(), and triSurface::clearOut().

Referenced by distributedTriSurfaceMesh::clearOut().

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

◆ movePoints()

void movePoints ( const pointField newPoints)
virtual

Move points.

Reimplemented from triSurface.

Definition at line 612 of file triSurfaceMesh.C.

References triSurfaceRegionSearch::clearOut(), Foam::expressions::patchExpr::debug, Foam::endl(), regIOobject::eventNo(), IOobject::instance(), triSurface::movePoints(), PrimitivePatch<::Foam::List< labelledTri >, pointField >::points(), Foam::Pout, objectRegistry::time(), and Time::timeName().

Here is the call graph for this function:

◆ edgeTree()

const Foam::indexedOctree< Foam::treeDataEdge > & edgeTree ( ) const

Demand driven construction of octree for boundary edges.

Definition at line 645 of file triSurfaceMesh.C.

References PatchTools::calcBounds(), Foam::expressions::patchExpr::debug, Foam::constant::electromagnetic::e, Foam::endl(), treeBoundBox::extend(), Foam::identity(), boundBox::max(), boundBox::min(), nPoints, indexedOctree< Type >::perturbTol(), Foam::Pout, rndGen, VectorSpace< Vector< Cmpt >, Cmpt, 3 >::uniform(), and Foam::Zero.

Here is the call graph for this function:

◆ regions()

const Foam::wordList & regions ( ) const
virtual

Names of regions.

Implements searchableSurface.

Definition at line 728 of file triSurfaceMesh.C.

References forAll, IOobject::name(), patches, and List< T >::setSize().

Here is the call graph for this function:

◆ hasVolumeType()

bool hasVolumeType ( ) const
virtual

Whether supports volume type (below) - i.e. whether is closed.

Reimplemented from searchableSurface.

Reimplemented in closedTriSurfaceMesh.

Definition at line 742 of file triSurfaceMesh.C.

◆ outsideVolumeType()

Foam::volumeType outsideVolumeType ( ) const
virtual

If surface is closed, what is type of points outside bounds.

Implements searchableSurface.

Definition at line 760 of file triSurfaceMesh.C.

References Foam::expressions::patchExpr::debug, Foam::endl(), Foam::max(), volumeType::names, Foam::Pout, and volumeType::UNKNOWN.

Here is the call graph for this function:

◆ size()

virtual label size ( ) const
inlinevirtual

Range of local indices that can be returned.

Implements searchableSurface.

Definition at line 243 of file triSurfaceMesh.H.

◆ coordinates()

Foam::tmp< Foam::pointField > coordinates ( ) const
virtual

Get representative set of element coordinates.

Usually the element centres (should be of length size()).

Implements searchableSurface.

Definition at line 541 of file triSurfaceMesh.C.

References PrimitivePatch<::Foam::List< labelledTri >, pointField >::faceCentres(), PrimitivePatch< FaceList, PointField >::faceCentres(), PrimitivePatch<::Foam::List< labelledTri >, pointField >::hasFaceCentres(), tmp< T >::New(), and PrimitivePatch<::Foam::List< labelledTri >, pointField >::points().

Here is the call graph for this function:

◆ boundingSpheres()

void boundingSpheres ( pointField centres,
scalarField radiusSqr 
) const
virtual

Get bounding spheres (centre and radius squared). Any point.

on surface is guaranteed to be inside.

Implements searchableSurface.

Definition at line 569 of file triSurfaceMesh.C.

References coordinates(), f(), forAll, Foam::magSqr(), Foam::max(), PrimitivePatch<::Foam::List< labelledTri >, pointField >::points(), and Foam::sqr().

Here is the call graph for this function:

◆ points()

Foam::tmp< Foam::pointField > points ( ) const
virtual

Get the points that define the surface.

Implements searchableSurface.

Definition at line 596 of file triSurfaceMesh.C.

References PrimitivePatch<::Foam::List< labelledTri >, pointField >::points().

Referenced by powerLawLopesdaCostaZone::powerLawLopesdaCostaZone(), triSurfaceMeshPointSet::triSurfaceMeshPointSet(), and searchableSurfaces::writeStats().

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

◆ overlaps()

bool overlaps ( const boundBox bb) const
virtual

Does any part of the surface overlap the supplied bound box?

Implements searchableSurface.

Definition at line 602 of file triSurfaceMesh.C.

◆ findNearest() [1/2]

void findNearest ( const pointField sample,
const scalarField nearestDistSqr,
List< pointIndexHit > &  info 
) const
virtual

Implements searchableSurface.

Reimplemented in distributedTriSurfaceMesh.

Definition at line 795 of file triSurfaceMesh.C.

References Foam::expressions::patchExpr::debug, Foam::endl(), triSurfaceSearch::findNearest(), Foam::max(), Foam::Pout, samples(), Foam::sqrt(), and Foam::Zero.

Referenced by distributedTriSurfaceMesh::findNearest().

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

◆ findNearest() [2/2]

void findNearest ( const pointField samples,
const scalarField nearestDistSqr,
const labelList regionIndices,
List< pointIndexHit > &  info 
) const
virtual

Find the nearest locations for the supplied points to a.

particular region in the searchable surface.

Reimplemented from searchableSurface.

Reimplemented in distributedTriSurfaceMesh.

Definition at line 820 of file triSurfaceMesh.C.

References Foam::expressions::patchExpr::debug, Foam::endl(), triSurfaceRegionSearch::findNearest(), Foam::max(), Foam::Pout, samples(), Foam::sqrt(), and Foam::Zero.

Here is the call graph for this function:

◆ findLine()

void findLine ( const pointField start,
const pointField end,
List< pointIndexHit > &   
) const
virtual

Find first intersection on segment from start to end.

Note: searchableSurfacesQueries expects no intersection to be found if start==end. Is problem?

Implements searchableSurface.

Reimplemented in distributedTriSurfaceMesh.

Definition at line 852 of file triSurfaceMesh.C.

References Foam::expressions::patchExpr::debug, stdFoam::end(), Foam::endl(), triSurfaceSearch::findLine(), and Foam::Pout.

Referenced by distributedTriSurfaceMesh::findLine(), and powerLawLopesdaCostaZone::powerLawLopesdaCostaZone().

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

◆ findLineAny()

void findLineAny ( const pointField start,
const pointField end,
List< pointIndexHit > &   
) const
virtual

Return any intersection on segment from start to end.

Implements searchableSurface.

Reimplemented in distributedTriSurfaceMesh.

Definition at line 875 of file triSurfaceMesh.C.

References Foam::expressions::patchExpr::debug, stdFoam::end(), Foam::endl(), triSurfaceSearch::findLineAny(), and Foam::Pout.

Referenced by distributedTriSurfaceMesh::findLineAny().

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

◆ findLineAll()

void findLineAll ( const pointField start,
const pointField end,
List< List< pointIndexHit >> &  info 
) const
virtual

Get all intersections in order from start to end.

Implements searchableSurface.

Reimplemented in distributedTriSurfaceMesh.

Definition at line 898 of file triSurfaceMesh.C.

References Foam::expressions::patchExpr::debug, stdFoam::end(), Foam::endl(), triSurfaceSearch::findLineAll(), and Foam::Pout.

Referenced by distributedTriSurfaceMesh::findLineAll(), and triSurfaceTools::writeCloseness().

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

◆ getRegion()

void getRegion ( const List< pointIndexHit > &  info,
labelList region 
) const
virtual

From a set of points and indices get the region.

Implements searchableSurface.

Reimplemented in distributedTriSurfaceMesh.

Definition at line 921 of file triSurfaceMesh.C.

References Foam::expressions::patchExpr::debug, Foam::endl(), forAll, Foam::Pout, and List< T >::setSize().

Here is the call graph for this function:

◆ getNormal()

void getNormal ( const List< pointIndexHit > &  info,
vectorField normal 
) const
virtual

From a set of points and indices get the normal.

Implements searchableSurface.

Reimplemented in distributedTriSurfaceMesh.

Definition at line 954 of file triSurfaceMesh.C.

References Foam::expressions::patchExpr::debug, Foam::endl(), forAll, Foam::Pout, s, and Foam::Zero.

Referenced by distributedTriSurfaceMesh::getNormal().

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

◆ getVolumeType()

void getVolumeType ( const pointField points,
List< volumeType > &  volType 
) const
virtual

Determine type (inside/outside/mixed) for point.

Unknown if cannot be determined (e.g. non-manifold surface)

Implements searchableSurface.

Reimplemented in distributedTriSurfaceMesh.

Definition at line 1107 of file triSurfaceMesh.C.

References Foam::expressions::patchExpr::debug, Foam::endl(), forAll, indexedOctree< Type >::perturbTol(), points, Foam::Pout, List< T >::setSize(), and volumeType::UNKNOWN.

Referenced by distributedTriSurfaceMesh::getVolumeType().

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

◆ setField()

void setField ( const labelList values)
virtual

WIP. Store element-wise field.

Reimplemented from searchableSurface.

Definition at line 1037 of file triSurfaceMesh.C.

References IOobject::AUTO_WRITE, Foam::expressions::patchExpr::debug, Foam::dimless, Foam::endl(), IOobject::NO_READ, Foam::Pout, objectRegistry::time(), timeName, and Foam::HashTableOps::values().

Here is the call graph for this function:

◆ getField()

void getField ( const List< pointIndexHit > &  info,
labelList values 
) const
virtual

WIP. From a set of hits (points and.

indices) get the specified field. Misses do not get set.

Reimplemented from searchableSurface.

Reimplemented in distributedTriSurfaceMesh.

Definition at line 1076 of file triSurfaceMesh.C.

References Foam::expressions::patchExpr::debug, Foam::endl(), fld, forAll, Foam::Pout, and Foam::HashTableOps::values().

Referenced by distributedTriSurfaceMesh::getField().

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

◆ writeData()

bool writeData ( Ostream ) const
inlinevirtual

writeData function required by regIOobject but not used.

For this class, write is used instead

Reimplemented from objectRegistry.

Definition at line 338 of file triSurfaceMesh.H.

References NotImplemented.

◆ writeObject()

bool writeObject ( IOstreamOption  streamOpt,
const bool  valid 
) const
virtual

Write using stream options.

Reimplemented from objectRegistry.

Reimplemented in distributedTriSurfaceMesh.

Definition at line 1160 of file triSurfaceMesh.C.

References TimePaths::caseConstant(), TimePaths::caseSystem(), TimePaths::constant(), string::expand(), IOobject::instance(), fileName::isAbsolute(), Foam::isFile(), Foam::mkDir(), IOobject::objectPath(), fileName::path(), runTime, TimePaths::system(), IOobject::time(), Time::timeName(), and triSurface::write().

Here is the call graph for this function:

◆ global()

virtual bool global ( ) const
inlinevirtual

Is object global.

Reimplemented from searchableSurface.

Reimplemented in distributedTriSurfaceMesh.

Definition at line 352 of file triSurfaceMesh.H.

◆ filePath()

virtual fileName filePath ( ) const
inlinevirtual

Return complete path + object name if the file exists.

either in the case/processor or case otherwise null

Reimplemented from searchableSurface.

Reimplemented in distributedTriSurfaceMesh.

Definition at line 359 of file triSurfaceMesh.H.

Member Data Documentation

◆ fName_

fileName fName_
protected

Supplied fileName override.

Definition at line 118 of file triSurfaceMesh.H.

◆ minQuality_

scalar minQuality_
protected

Optional min triangle quality. Triangles below this get.

ignored for normal calculation

Definition at line 122 of file triSurfaceMesh.H.

◆ edgeTree_

autoPtr<indexedOctree<treeDataEdge> > edgeTree_
mutableprotected

Search tree for boundary edges.

Definition at line 125 of file triSurfaceMesh.H.

◆ regions_

wordList regions_
mutableprotected

Names of regions.

Definition at line 128 of file triSurfaceMesh.H.

◆ surfaceClosed_

label surfaceClosed_
mutableprotected

Is surface closed.

Definition at line 131 of file triSurfaceMesh.H.

◆ outsideVolType_

volumeType outsideVolType_
mutableprotected

If surface is closed, what is type of outside points.

Definition at line 134 of file triSurfaceMesh.H.

◆ meshSubDir

Foam::word meshSubDir = "triSurface"
static

Return the mesh sub-directory name (usually "triSurface")

Definition at line 174 of file triSurfaceMesh.H.


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