mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Code clean-up
This commit is contained in:
@ -109,7 +109,6 @@ struct HashTableCore
|
||||
{
|
||||
return iteratorEnd();
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
|
||||
@ -139,6 +138,7 @@ class HashTable
|
||||
//- Construct from key, next pointer and object
|
||||
inline hashedEntry(const Key&, hashedEntry* next, const T&);
|
||||
|
||||
|
||||
private:
|
||||
//- Disallow default bitwise copy construct
|
||||
hashedEntry(const hashedEntry&);
|
||||
@ -209,9 +209,8 @@ public:
|
||||
HashTable(const Xfer<HashTable<T, Key, Hash> >&);
|
||||
|
||||
|
||||
// Destructor
|
||||
|
||||
~HashTable();
|
||||
//- Destructor
|
||||
~HashTable();
|
||||
|
||||
|
||||
// Member Functions
|
||||
@ -247,6 +246,7 @@ public:
|
||||
//- Print information
|
||||
Ostream& printInfo(Ostream&) const;
|
||||
|
||||
|
||||
// Edit
|
||||
|
||||
//- Insert a new hashedEntry
|
||||
@ -291,7 +291,7 @@ public:
|
||||
void transfer(HashTable<T, Key, Hash>&);
|
||||
|
||||
//- Transfer contents to the Xfer container
|
||||
inline Xfer< HashTable<T, Key, Hash> > xfer();
|
||||
inline Xfer<HashTable<T, Key, Hash> > xfer();
|
||||
|
||||
|
||||
// Member Operators
|
||||
@ -356,9 +356,8 @@ public:
|
||||
//- Current hash index
|
||||
label hashIndex_;
|
||||
|
||||
protected:
|
||||
|
||||
// Protected Member Functions
|
||||
protected:
|
||||
|
||||
// Constructors
|
||||
|
||||
@ -380,6 +379,8 @@ public:
|
||||
);
|
||||
|
||||
|
||||
// Protected Member Functions
|
||||
|
||||
//- Increment to the next position
|
||||
inline void increment();
|
||||
|
||||
@ -392,6 +393,7 @@ public:
|
||||
//- Return const access to referenced object
|
||||
inline const T& cobject() const;
|
||||
|
||||
|
||||
public:
|
||||
|
||||
// Member operators
|
||||
@ -434,6 +436,7 @@ public:
|
||||
const label hashIndex
|
||||
);
|
||||
|
||||
|
||||
public:
|
||||
|
||||
// Constructors
|
||||
@ -444,13 +447,12 @@ public:
|
||||
//- Construct end iterator
|
||||
inline iterator(const iteratorEnd& unused);
|
||||
|
||||
|
||||
// Member operators
|
||||
|
||||
//- Conversion to a const_iterator
|
||||
inline operator const_iterator() const;
|
||||
|
||||
// Access
|
||||
|
||||
//- Return referenced hash value
|
||||
inline T& operator*();
|
||||
inline T& operator()();
|
||||
@ -492,6 +494,7 @@ public:
|
||||
const label hashIndex
|
||||
);
|
||||
|
||||
|
||||
public:
|
||||
|
||||
// Constructors
|
||||
@ -502,9 +505,8 @@ public:
|
||||
//- Construct end iterator
|
||||
inline const_iterator(const iteratorEnd& unused);
|
||||
|
||||
// Member operators
|
||||
|
||||
// Access
|
||||
// Member operators
|
||||
|
||||
//- Return referenced hash value
|
||||
inline const T& operator*() const;
|
||||
@ -536,7 +538,6 @@ public:
|
||||
Ostream&,
|
||||
const HashTable<T, Key, Hash>&
|
||||
);
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -97,11 +97,10 @@ Foam::StaticHashTable<T, Key, Hash>::StaticHashTable
|
||||
{}
|
||||
|
||||
|
||||
|
||||
template<class T, class Key, class Hash>
|
||||
Foam::StaticHashTable<T, Key, Hash>::StaticHashTable
|
||||
(
|
||||
const Xfer< StaticHashTable<T, Key, Hash> >& ht
|
||||
const Xfer<StaticHashTable<T, Key, Hash> >& ht
|
||||
)
|
||||
:
|
||||
StaticHashTableCore(),
|
||||
@ -452,7 +451,6 @@ void Foam::StaticHashTable<T, Key, Hash>::clearStorage()
|
||||
}
|
||||
|
||||
|
||||
|
||||
template<class T, class Key, class Hash>
|
||||
void Foam::StaticHashTable<T, Key, Hash>::transfer
|
||||
(
|
||||
|
||||
@ -72,10 +72,6 @@ template<class T, class Key, class Hash> Ostream& operator<<
|
||||
);
|
||||
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class StaticHashTableName Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class StaticHashTableCore Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
@ -100,7 +96,6 @@ struct StaticHashTableCore
|
||||
iteratorEnd()
|
||||
{}
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
|
||||
@ -135,6 +130,7 @@ class StaticHashTable
|
||||
//- Assign a new hashed entry to a possibly already existing key
|
||||
bool set(const Key&, const T& newElmt, bool protect);
|
||||
|
||||
|
||||
public:
|
||||
|
||||
|
||||
@ -183,11 +179,11 @@ public:
|
||||
StaticHashTable(const StaticHashTable<T, Key, Hash>&);
|
||||
|
||||
//- Construct by transferring the parameter contents
|
||||
StaticHashTable(const Xfer< StaticHashTable<T, Key, Hash> >&);
|
||||
StaticHashTable(const Xfer<StaticHashTable<T, Key, Hash> >&);
|
||||
|
||||
// Destructor
|
||||
|
||||
~StaticHashTable();
|
||||
//- Destructor
|
||||
~StaticHashTable();
|
||||
|
||||
|
||||
// Member Functions
|
||||
@ -251,7 +247,7 @@ public:
|
||||
void transfer(StaticHashTable<T, Key, Hash>&);
|
||||
|
||||
//- Transfer contents to the Xfer container
|
||||
inline Xfer< StaticHashTable<T, Key, Hash> > xfer();
|
||||
inline Xfer<StaticHashTable<T, Key, Hash> > xfer();
|
||||
|
||||
|
||||
// Member Operators
|
||||
@ -275,6 +271,7 @@ public:
|
||||
//- The opposite of the equality operation.
|
||||
bool operator!=(const StaticHashTable<T, Key, Hash>&) const;
|
||||
|
||||
|
||||
// STL type definitions
|
||||
|
||||
//- Type of values the StaticHashTable contains.
|
||||
@ -317,6 +314,7 @@ public:
|
||||
//- Index of current element at hashIndex
|
||||
label elemIndex_;
|
||||
|
||||
|
||||
public:
|
||||
|
||||
// Constructors
|
||||
|
||||
@ -79,7 +79,7 @@ inline bool Foam::StaticHashTable<T, Key, Hash>::set
|
||||
|
||||
|
||||
template<class T, class Key, class Hash>
|
||||
inline Foam::Xfer< Foam::StaticHashTable<T, Key, Hash> >
|
||||
inline Foam::Xfer<Foam::StaticHashTable<T, Key, Hash> >
|
||||
Foam::StaticHashTable<T, Key, Hash>::xfer()
|
||||
{
|
||||
return xferMove(*this);
|
||||
@ -417,6 +417,4 @@ Foam::StaticHashTable<T, Key, Hash>::end() const
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -74,7 +74,7 @@ public:
|
||||
(
|
||||
const UList<T>& posList,
|
||||
const UList<T>& negList,
|
||||
const Xfer< List<label> >&
|
||||
const Xfer<List<label> >&
|
||||
);
|
||||
|
||||
|
||||
@ -102,7 +102,7 @@ public:
|
||||
|
||||
//- Reset addressing
|
||||
inline void resetAddressing(const UList<label>&);
|
||||
inline void resetAddressing(const Xfer< List<label> >&);
|
||||
inline void resetAddressing(const Xfer<List<label> >&);
|
||||
|
||||
|
||||
// Member Operators
|
||||
|
||||
@ -45,7 +45,7 @@ inline Foam::BiIndirectList<T>::BiIndirectList
|
||||
(
|
||||
const UList<T>& posList,
|
||||
const UList<T>& negList,
|
||||
const Xfer< List<label> >& addr
|
||||
const Xfer<List<label> >& addr
|
||||
)
|
||||
:
|
||||
posList_(const_cast<UList<T>&>(posList)),
|
||||
@ -105,7 +105,7 @@ inline void Foam::BiIndirectList<T>::resetAddressing
|
||||
template<class T>
|
||||
inline void Foam::BiIndirectList<T>::resetAddressing
|
||||
(
|
||||
const Xfer< List<label> >& addr
|
||||
const Xfer<List<label> >& addr
|
||||
)
|
||||
{
|
||||
addressing_.transfer(addr());
|
||||
|
||||
@ -84,7 +84,6 @@ class DynamicList
|
||||
//- The capacity (allocated size) of the underlying list.
|
||||
label capacity_;
|
||||
|
||||
// Private Member Functions
|
||||
|
||||
public:
|
||||
|
||||
@ -93,6 +92,7 @@ public:
|
||||
//- Declare friendship with the List class
|
||||
friend class List<T>;
|
||||
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct null
|
||||
@ -115,7 +115,7 @@ public:
|
||||
explicit inline DynamicList(const UIndirectList<T>&);
|
||||
|
||||
//- Construct by transferring the parameter contents
|
||||
explicit inline DynamicList(const Xfer< List<T> >&);
|
||||
explicit inline DynamicList(const Xfer<List<T> >&);
|
||||
|
||||
//- Construct from Istream. Size set to size of read list.
|
||||
explicit DynamicList(Istream&);
|
||||
@ -125,103 +125,105 @@ public:
|
||||
|
||||
// Access
|
||||
|
||||
//- Size of the underlying storage.
|
||||
inline label capacity() const;
|
||||
//- Size of the underlying storage.
|
||||
inline label capacity() const;
|
||||
|
||||
// Edit
|
||||
|
||||
//- Alter the size of the underlying storage.
|
||||
// The addressed size will be truncated if needed to fit, but will
|
||||
// remain otherwise untouched.
|
||||
// Use this or reserve() in combination with append().
|
||||
inline void setCapacity(const label);
|
||||
//- Alter the size of the underlying storage.
|
||||
// The addressed size will be truncated if needed to fit, but will
|
||||
// remain otherwise untouched.
|
||||
// Use this or reserve() in combination with append().
|
||||
inline void setCapacity(const label);
|
||||
|
||||
//- Alter the addressed list size.
|
||||
// New space will be allocated if required.
|
||||
// Use this to resize the list prior to using the operator[] for
|
||||
// setting values (as per List usage).
|
||||
inline void setSize(const label);
|
||||
//- Alter the addressed list size.
|
||||
// New space will be allocated if required.
|
||||
// Use this to resize the list prior to using the operator[] for
|
||||
// setting values (as per List usage).
|
||||
inline void setSize(const label);
|
||||
|
||||
//- Alter the addressed list size and fill new space with a constant.
|
||||
inline void setSize(const label, const T&);
|
||||
//- Alter the addressed list size and fill new space with a constant.
|
||||
inline void setSize(const label, const T&);
|
||||
|
||||
//- Alter the addressed list size.
|
||||
// New space will be allocated if required.
|
||||
// Use this to resize the list prior to using the operator[] for
|
||||
// setting values (as per List usage).
|
||||
inline void resize(const label);
|
||||
//- Alter the addressed list size.
|
||||
// New space will be allocated if required.
|
||||
// Use this to resize the list prior to using the operator[] for
|
||||
// setting values (as per List usage).
|
||||
inline void resize(const label);
|
||||
|
||||
//- Alter the addressed list size and fill new space with a constant.
|
||||
inline void resize(const label, const T&);
|
||||
//- Alter the addressed list size and fill new space with a constant.
|
||||
inline void resize(const label, const T&);
|
||||
|
||||
//- Reserve allocation space for at least this size.
|
||||
// Never shrinks the allocated size, use setCapacity() for that.
|
||||
inline void reserve(const label);
|
||||
//- Reserve allocation space for at least this size.
|
||||
// Never shrinks the allocated size, use setCapacity() for that.
|
||||
inline void reserve(const label);
|
||||
|
||||
//- Clear the addressed list, i.e. set the size to zero.
|
||||
// Allocated size does not change
|
||||
inline void clear();
|
||||
//- Clear the addressed list, i.e. set the size to zero.
|
||||
// Allocated size does not change
|
||||
inline void clear();
|
||||
|
||||
//- Clear the list and delete storage.
|
||||
inline void clearStorage();
|
||||
//- Clear the list and delete storage.
|
||||
inline void clearStorage();
|
||||
|
||||
//- Shrink the allocated space to the number of elements used.
|
||||
// Returns a reference to the DynamicList.
|
||||
inline DynamicList<T, SizeInc, SizeMult, SizeDiv>& shrink();
|
||||
//- Shrink the allocated space to the number of elements used.
|
||||
// Returns a reference to the DynamicList.
|
||||
inline DynamicList<T, SizeInc, SizeMult, SizeDiv>& shrink();
|
||||
|
||||
//- Transfer contents of the argument List into this DynamicList
|
||||
inline void transfer(List<T>&);
|
||||
//- Transfer contents of the argument List into this DynamicList
|
||||
inline void transfer(List<T>&);
|
||||
|
||||
//- Transfer contents of the argument DynamicList into this DynamicList
|
||||
inline void transfer(DynamicList<T, SizeInc, SizeMult, SizeDiv>&);
|
||||
//- Transfer contents of the argument DynamicList into this DynamicList
|
||||
inline void transfer(DynamicList<T, SizeInc, SizeMult, SizeDiv>&);
|
||||
|
||||
//- Transfer contents to the Xfer container as a plain List
|
||||
inline Xfer< List<T> > xfer();
|
||||
//- Transfer contents to the Xfer container as a plain List
|
||||
inline Xfer<List<T> > xfer();
|
||||
|
||||
// Member Operators
|
||||
|
||||
//- Append an element at the end of the list
|
||||
inline void append(const T&);
|
||||
// Member Operators
|
||||
|
||||
//- Append a List at the end of this list
|
||||
inline void append(const UList<T>&);
|
||||
//- Append an element at the end of the list
|
||||
inline void append(const T&);
|
||||
|
||||
//- Append a UIndirectList at the end of this list
|
||||
inline void append(const UIndirectList<T>&);
|
||||
//- Append a List at the end of this list
|
||||
inline void append(const UList<T>&);
|
||||
|
||||
//- Remove and return the top element
|
||||
inline T remove();
|
||||
//- Append a UIndirectList at the end of this list
|
||||
inline void append(const UIndirectList<T>&);
|
||||
|
||||
//- Return non-const access to an element, resizing list if necessary
|
||||
inline T& operator()(const label);
|
||||
//- Remove and return the top element
|
||||
inline T remove();
|
||||
|
||||
//- Assignment of all addressed entries to the given value
|
||||
inline void operator=(const T&);
|
||||
//- Return non-const access to an element, resizing list if necessary
|
||||
inline T& operator()(const label);
|
||||
|
||||
//- Assignment from DynamicList
|
||||
inline void operator=
|
||||
(
|
||||
const DynamicList<T, SizeInc, SizeMult, SizeDiv>&
|
||||
);
|
||||
//- Assignment of all addressed entries to the given value
|
||||
inline void operator=(const T&);
|
||||
|
||||
//- Assignment from UList
|
||||
inline void operator=(const UList<T>&);
|
||||
//- Assignment from DynamicList
|
||||
inline void operator=
|
||||
(
|
||||
const DynamicList<T, SizeInc, SizeMult, SizeDiv>&
|
||||
);
|
||||
|
||||
// IOstream operators
|
||||
//- Assignment from UList
|
||||
inline void operator=(const UList<T>&);
|
||||
|
||||
// Write DynamicList to Ostream.
|
||||
friend Ostream& operator<< <T, SizeInc, SizeMult, SizeDiv>
|
||||
(
|
||||
Ostream&,
|
||||
const DynamicList<T, SizeInc, SizeMult, SizeDiv>&
|
||||
);
|
||||
|
||||
//- Read from Istream, discarding contents of existing DynamicList.
|
||||
friend Istream& operator>> <T, SizeInc, SizeMult, SizeDiv>
|
||||
(
|
||||
Istream&,
|
||||
DynamicList<T, SizeInc, SizeMult, SizeDiv>&
|
||||
);
|
||||
// IOstream operators
|
||||
|
||||
// Write DynamicList to Ostream.
|
||||
friend Ostream& operator<< <T, SizeInc, SizeMult, SizeDiv>
|
||||
(
|
||||
Ostream&,
|
||||
const DynamicList<T, SizeInc, SizeMult, SizeDiv>&
|
||||
);
|
||||
|
||||
//- Read from Istream, discarding contents of existing DynamicList.
|
||||
friend Istream& operator>> <T, SizeInc, SizeMult, SizeDiv>
|
||||
(
|
||||
Istream&,
|
||||
DynamicList<T, SizeInc, SizeMult, SizeDiv>&
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -298,7 +298,7 @@ Foam::DynamicList<T, SizeInc, SizeMult, SizeDiv>::transfer
|
||||
|
||||
|
||||
template<class T, unsigned SizeInc, unsigned SizeMult, unsigned SizeDiv>
|
||||
inline Foam::Xfer< Foam::List<T> >
|
||||
inline Foam::Xfer<Foam::List<T> >
|
||||
Foam::DynamicList<T, SizeInc, SizeMult, SizeDiv>::xfer()
|
||||
{
|
||||
return xferMoveTo< List<T> >(*this);
|
||||
|
||||
@ -64,7 +64,8 @@ public:
|
||||
inline IndirectList(const UList<T>&, const UList<label>&);
|
||||
|
||||
//- Construct given the complete list and by transferring addressing
|
||||
inline IndirectList(const UList<T>&, const Xfer< List<label> >&);
|
||||
inline IndirectList(const UList<T>&, const Xfer<List<label> >&);
|
||||
|
||||
|
||||
// Member Functions
|
||||
|
||||
@ -94,11 +95,12 @@ public:
|
||||
//- Return the list addressing
|
||||
inline const List<label>& addressing() const;
|
||||
|
||||
|
||||
// Edit
|
||||
|
||||
//- Reset addressing
|
||||
inline void resetAddressing(const UList<label>&);
|
||||
inline void resetAddressing(const Xfer< List<label> >&);
|
||||
inline void resetAddressing(const Xfer<List<label> >&);
|
||||
|
||||
|
||||
// Member Operators
|
||||
|
||||
@ -42,7 +42,7 @@ template<class T>
|
||||
inline Foam::IndirectList<T>::IndirectList
|
||||
(
|
||||
const UList<T>& completeList,
|
||||
const Xfer< List<label> >& addr
|
||||
const Xfer<List<label> >& addr
|
||||
)
|
||||
:
|
||||
completeList_(const_cast<UList<T>&>(completeList)),
|
||||
@ -121,7 +121,7 @@ inline void Foam::IndirectList<T>::resetAddressing
|
||||
template<class T>
|
||||
inline void Foam::IndirectList<T>::resetAddressing
|
||||
(
|
||||
const Xfer< List<label> >& addr
|
||||
const Xfer<List<label> >& addr
|
||||
)
|
||||
{
|
||||
addressing_.transfer(addr());
|
||||
|
||||
@ -114,7 +114,7 @@ Foam::List<T>::List(const List<T>& a)
|
||||
|
||||
// Construct by transferring the parameter contents
|
||||
template<class T>
|
||||
Foam::List<T>::List(const Xfer< List<T> >& lst)
|
||||
Foam::List<T>::List(const Xfer<List<T> >& lst)
|
||||
{
|
||||
transfer(lst());
|
||||
}
|
||||
|
||||
@ -87,6 +87,7 @@ protected:
|
||||
// Use with care.
|
||||
inline void size(const label);
|
||||
|
||||
|
||||
public:
|
||||
|
||||
// Static Member Functions
|
||||
@ -109,7 +110,7 @@ public:
|
||||
List(const List<T>&);
|
||||
|
||||
//- Construct by transferring the parameter contents
|
||||
List(const Xfer< List<T> >&);
|
||||
List(const Xfer<List<T> >&);
|
||||
|
||||
//- Construct as copy or re-use as specified.
|
||||
List(List<T>&, bool reUse);
|
||||
@ -147,9 +148,8 @@ public:
|
||||
inline autoPtr<List<T> > clone() const;
|
||||
|
||||
|
||||
// Destructor
|
||||
|
||||
~List();
|
||||
//- Destructor
|
||||
~List();
|
||||
|
||||
|
||||
// Related types
|
||||
@ -201,7 +201,7 @@ public:
|
||||
void transfer(SortableList<T>&);
|
||||
|
||||
//- Transfer contents to the Xfer container
|
||||
inline Xfer< List<T> > xfer();
|
||||
inline Xfer<List<T> > xfer();
|
||||
|
||||
//- Return subscript-checked element of UList.
|
||||
inline T& newElmt(const label);
|
||||
|
||||
@ -88,7 +88,7 @@ inline Foam::label Foam::List<T>::size() const
|
||||
|
||||
|
||||
template<class T>
|
||||
inline Foam::Xfer< Foam::List<T> > Foam::List<T>::xfer()
|
||||
inline Foam::Xfer<Foam::List<T> > Foam::List<T>::xfer()
|
||||
{
|
||||
return xferMove(*this);
|
||||
}
|
||||
|
||||
@ -132,6 +132,7 @@ class PackedList
|
||||
//- Calculate the list length when packed
|
||||
inline static label packedLength(const label);
|
||||
|
||||
|
||||
public:
|
||||
|
||||
// Public data
|
||||
@ -150,12 +151,14 @@ public:
|
||||
//- Masking for all bits below the offset
|
||||
inline static unsigned int maskLower(unsigned offset);
|
||||
|
||||
|
||||
// Forward declaration of iterators
|
||||
|
||||
class iteratorBase;
|
||||
class iterator;
|
||||
class const_iterator;
|
||||
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Null constructor
|
||||
@ -171,7 +174,7 @@ public:
|
||||
inline PackedList(const PackedList<nBits>&);
|
||||
|
||||
//- Construct by transferring the parameter contents
|
||||
inline PackedList(const Xfer< PackedList<nBits> >&);
|
||||
inline PackedList(const Xfer<PackedList<nBits> >&);
|
||||
|
||||
//- Construct from a list of labels
|
||||
explicit PackedList(const UList<label>&);
|
||||
@ -179,123 +182,126 @@ public:
|
||||
//- Clone
|
||||
inline autoPtr< PackedList<nBits> > clone() const;
|
||||
|
||||
|
||||
// Member Functions
|
||||
|
||||
// Access
|
||||
|
||||
//- The number of elements that can be stored before reallocating
|
||||
inline label capacity() const;
|
||||
//- The number of elements that can be stored before reallocating
|
||||
inline label capacity() const;
|
||||
|
||||
//- Number of entries.
|
||||
inline label size() const;
|
||||
//- Number of entries.
|
||||
inline label size() const;
|
||||
|
||||
//- Return true if the list is empty (ie, size() is zero).
|
||||
inline bool empty() const;
|
||||
//- Return true if the list is empty (ie, size() is zero).
|
||||
inline bool empty() const;
|
||||
|
||||
//- Get value at index I.
|
||||
// Never auto-vivify entries.
|
||||
inline unsigned int get(const label) const;
|
||||
//- Get value at index I.
|
||||
// Never auto-vivify entries.
|
||||
inline unsigned int get(const label) const;
|
||||
|
||||
//- Set value at index I. Return true if value changed.
|
||||
// Does auto-vivify for non-existent entries.
|
||||
// Default value set is the max_value.
|
||||
inline bool set(const label, const unsigned int val = ~0u);
|
||||
//- Set value at index I. Return true if value changed.
|
||||
// Does auto-vivify for non-existent entries.
|
||||
// Default value set is the max_value.
|
||||
inline bool set(const label, const unsigned int val = ~0u);
|
||||
|
||||
//- Unset the entry at index I. Return true if value changed.
|
||||
// Never auto-vivify entries.
|
||||
inline bool unset(const label);
|
||||
//- Unset the entry at index I. Return true if value changed.
|
||||
// Never auto-vivify entries.
|
||||
inline bool unset(const label);
|
||||
|
||||
//- Return the underlying packed storage
|
||||
inline List<unsigned int>& storage();
|
||||
//- Return the underlying packed storage
|
||||
inline List<unsigned int>& storage();
|
||||
|
||||
//- Return the underlying packed storage
|
||||
inline const List<unsigned int>& storage() const;
|
||||
//- Return the underlying packed storage
|
||||
inline const List<unsigned int>& storage() const;
|
||||
|
||||
//- Count number of bits set, O(log(n))
|
||||
// Uses the Hamming weight (population count) method
|
||||
// http://en.wikipedia.org/wiki/Hamming_weight
|
||||
unsigned int count() const;
|
||||
//- Count number of bits set, O(log(n))
|
||||
// Uses the Hamming weight (population count) method
|
||||
// http://en.wikipedia.org/wiki/Hamming_weight
|
||||
unsigned int count() const;
|
||||
|
||||
//- Return the values as a labelList
|
||||
labelList values() const;
|
||||
//- Return the values as a labelList
|
||||
labelList values() const;
|
||||
|
||||
//- Print values and information
|
||||
Ostream& print(Ostream&) const;
|
||||
//- Print values and information
|
||||
Ostream& print(Ostream&) const;
|
||||
|
||||
// Edit
|
||||
|
||||
//- Trim any trailing zero elements
|
||||
bool trim();
|
||||
//- Trim any trailing zero elements
|
||||
bool trim();
|
||||
|
||||
//- Invert the bits in the addressable region.
|
||||
void flip();
|
||||
//- Invert the bits in the addressable region.
|
||||
void flip();
|
||||
|
||||
//- Alter the size of the underlying storage.
|
||||
// The addressed size will be truncated if needed to fit, but will
|
||||
// remain otherwise untouched.
|
||||
inline void setCapacity(const label);
|
||||
//- Alter the size of the underlying storage.
|
||||
// The addressed size will be truncated if needed to fit, but will
|
||||
// remain otherwise untouched.
|
||||
inline void setCapacity(const label);
|
||||
|
||||
//- Reset addressable list size, does not shrink the allocated size.
|
||||
// Optionally specify a value for new elements.
|
||||
inline void resize(const label, const unsigned int& val = 0);
|
||||
//- Reset addressable list size, does not shrink the allocated size.
|
||||
// Optionally specify a value for new elements.
|
||||
inline void resize(const label, const unsigned int& val = 0);
|
||||
|
||||
//- Alias for resize()
|
||||
inline void setSize(const label, const unsigned int& val = 0);
|
||||
//- Alias for resize()
|
||||
inline void setSize(const label, const unsigned int& val = 0);
|
||||
|
||||
//- Reserve allocation space for at least this size.
|
||||
// Never shrinks the allocated size.
|
||||
// The list size is adjusted as per DynamicList with
|
||||
// SizeInc=0, SizeMult=2, SizeDiv=1
|
||||
inline void reserve(const label);
|
||||
//- Reserve allocation space for at least this size.
|
||||
// Never shrinks the allocated size.
|
||||
// The list size is adjusted as per DynamicList with
|
||||
// SizeInc=0, SizeMult=2, SizeDiv=1
|
||||
inline void reserve(const label);
|
||||
|
||||
//- Clear the list, i.e. set addressable size to zero.
|
||||
// Does not adjust the underlying storage
|
||||
inline void clear();
|
||||
//- Clear the list, i.e. set addressable size to zero.
|
||||
// Does not adjust the underlying storage
|
||||
inline void clear();
|
||||
|
||||
//- Clear the list and delete storage.
|
||||
inline void clearStorage();
|
||||
//- Clear the list and delete storage.
|
||||
inline void clearStorage();
|
||||
|
||||
//- Shrink the allocated space to what is actually used.
|
||||
inline void shrink();
|
||||
//- Shrink the allocated space to what is actually used.
|
||||
inline void shrink();
|
||||
|
||||
//- Transfer the contents of the argument list into this list
|
||||
// and annul the argument list.
|
||||
inline void transfer(PackedList<nBits>&);
|
||||
//- Transfer the contents of the argument list into this list
|
||||
// and annul the argument list.
|
||||
inline void transfer(PackedList<nBits>&);
|
||||
|
||||
//- Transfer contents to the Xfer container
|
||||
inline Xfer< PackedList<nBits> > xfer();
|
||||
//- Transfer contents to the Xfer container
|
||||
inline Xfer<PackedList<nBits> > xfer();
|
||||
|
||||
|
||||
// Member operators
|
||||
|
||||
//- Append a value at the end of the list
|
||||
inline void append(const unsigned int val);
|
||||
//- Append a value at the end of the list
|
||||
inline void append(const unsigned int val);
|
||||
|
||||
//- Remove and return the last element
|
||||
inline unsigned int remove();
|
||||
//- Remove and return the last element
|
||||
inline unsigned int remove();
|
||||
|
||||
//- Get value at index I
|
||||
// Never auto-vivify entries.
|
||||
inline unsigned int operator[](const label) const;
|
||||
//- Get value at index I
|
||||
// Never auto-vivify entries.
|
||||
inline unsigned int operator[](const label) const;
|
||||
|
||||
//- Set value at index I.
|
||||
// Returns iterator to perform the actual operation.
|
||||
// Does not auto-vivify entries, but will when assigned to.
|
||||
inline iteratorBase operator[](const label);
|
||||
//- Set value at index I.
|
||||
// Returns iterator to perform the actual operation.
|
||||
// Does not auto-vivify entries, but will when assigned to.
|
||||
inline iteratorBase operator[](const label);
|
||||
|
||||
//- Assignment of all entries to the given value. Takes linear time.
|
||||
inline void operator=(const unsigned int val);
|
||||
//- Assignment of all entries to the given value. Takes linear time.
|
||||
inline void operator=(const unsigned int val);
|
||||
|
||||
//- Assignment operator. Takes linear time.
|
||||
void operator=(const PackedList<nBits>&);
|
||||
//- Assignment operator. Takes linear time.
|
||||
void operator=(const PackedList<nBits>&);
|
||||
|
||||
//- Assignment operator. Takes linear time.
|
||||
void operator=(const UList<label>&);
|
||||
//- Assignment operator. Takes linear time.
|
||||
void operator=(const UList<label>&);
|
||||
|
||||
// Ostream operator
|
||||
|
||||
// // Write PackedList to Ostream.
|
||||
// friend Ostream& operator<< <nBits> (Ostream&, const PackedList<nBits>&);
|
||||
// Ostream operator
|
||||
|
||||
// // Write PackedList to Ostream.
|
||||
// friend Ostream& operator<< <nBits> (Ostream&, const PackedList<nBits>&);
|
||||
|
||||
|
||||
// Iterators and helpers
|
||||
|
||||
@ -317,6 +323,7 @@ public:
|
||||
//- Element index
|
||||
label index_;
|
||||
|
||||
|
||||
// Protected Member Functions
|
||||
|
||||
//- Get value as unsigned, no range-checking
|
||||
@ -325,6 +332,7 @@ public:
|
||||
//- Set value, returning true if changed, no range-checking
|
||||
inline bool set(unsigned int);
|
||||
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct null
|
||||
@ -333,6 +341,7 @@ public:
|
||||
//- Construct from base list and position index
|
||||
inline iteratorBase(const PackedList*, const label);
|
||||
|
||||
|
||||
public:
|
||||
|
||||
// Member Operators
|
||||
@ -370,6 +379,7 @@ public:
|
||||
//- Disallow assignment from const_iterator - violates const-ness!
|
||||
void operator=(const const_iterator&);
|
||||
|
||||
|
||||
public:
|
||||
|
||||
// Constructors
|
||||
@ -385,6 +395,7 @@ public:
|
||||
//- Construct from base list and position index
|
||||
inline iterator(const PackedList*, const label);
|
||||
|
||||
|
||||
// Member Operators
|
||||
|
||||
//- Compare positions (not values)
|
||||
@ -445,6 +456,7 @@ public:
|
||||
//- Construct from iterator
|
||||
inline const_iterator(const iterator&);
|
||||
|
||||
|
||||
// Member operators
|
||||
|
||||
//- Compare positions (not values)
|
||||
@ -466,7 +478,6 @@ public:
|
||||
|
||||
inline const_iterator& operator--();
|
||||
inline const_iterator operator--(int);
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -334,7 +334,6 @@ inline bool Foam::PackedList<nBits>::iterator::operator!=
|
||||
}
|
||||
|
||||
|
||||
|
||||
template<unsigned nBits>
|
||||
inline bool Foam::PackedList<nBits>::const_iterator::operator==
|
||||
(
|
||||
@ -355,7 +354,6 @@ inline bool Foam::PackedList<nBits>::const_iterator::operator!=
|
||||
}
|
||||
|
||||
|
||||
|
||||
template<unsigned nBits>
|
||||
inline typename Foam::PackedList<nBits>::iterator&
|
||||
Foam::PackedList<nBits>::iterator::operator=(const iteratorBase& iter)
|
||||
@ -712,16 +710,14 @@ inline void Foam::PackedList<nBits>::shrink()
|
||||
}
|
||||
|
||||
template<unsigned nBits>
|
||||
inline Foam::List<unsigned int>&
|
||||
Foam::PackedList<nBits>::storage()
|
||||
inline Foam::List<unsigned int>& Foam::PackedList<nBits>::storage()
|
||||
{
|
||||
return static_cast<StorageList&>(*this);
|
||||
}
|
||||
|
||||
|
||||
template<unsigned nBits>
|
||||
inline const Foam::List<unsigned int>&
|
||||
Foam::PackedList<nBits>::storage() const
|
||||
inline const Foam::List<unsigned int>& Foam::PackedList<nBits>::storage() const
|
||||
{
|
||||
return static_cast<const StorageList&>(*this);
|
||||
}
|
||||
@ -738,8 +734,7 @@ inline void Foam::PackedList<nBits>::transfer(PackedList<nBits>& lst)
|
||||
|
||||
|
||||
template<unsigned nBits>
|
||||
inline Foam::Xfer< Foam::PackedList<nBits> >
|
||||
Foam::PackedList<nBits>::xfer()
|
||||
inline Foam::Xfer<Foam::PackedList<nBits> > Foam::PackedList<nBits>::xfer()
|
||||
{
|
||||
return xferMove(*this);
|
||||
}
|
||||
|
||||
@ -130,7 +130,7 @@ public:
|
||||
PtrList(const PtrList<T>&, const CloneArg&);
|
||||
|
||||
//- Construct by transferring the parameter contents
|
||||
PtrList(const Xfer< PtrList<T> >&);
|
||||
PtrList(const Xfer<PtrList<T> >&);
|
||||
|
||||
//- Construct as copy or re-use as specified.
|
||||
PtrList(PtrList<T>&, bool reUse);
|
||||
@ -146,9 +146,8 @@ public:
|
||||
PtrList(Istream&);
|
||||
|
||||
|
||||
// Destructor
|
||||
|
||||
~PtrList();
|
||||
//- Destructor
|
||||
~PtrList();
|
||||
|
||||
|
||||
// Member functions
|
||||
@ -196,7 +195,7 @@ public:
|
||||
void transfer(PtrList<T>&);
|
||||
|
||||
//- Transfer contents to the Xfer container
|
||||
inline Xfer< PtrList<T> > xfer();
|
||||
inline Xfer<PtrList<T> > xfer();
|
||||
|
||||
//- Is element set
|
||||
inline bool set(const label) const;
|
||||
|
||||
@ -170,30 +170,35 @@ inline Foam::PtrList<T>::iterator::iterator(T** ptr)
|
||||
ptr_(ptr)
|
||||
{}
|
||||
|
||||
|
||||
template<class T>
|
||||
inline bool Foam::PtrList<T>::iterator::operator==(const iterator& iter) const
|
||||
{
|
||||
return ptr_ == iter.ptr_;
|
||||
}
|
||||
|
||||
|
||||
template<class T>
|
||||
inline bool Foam::PtrList<T>::iterator::operator!=(const iterator& iter) const
|
||||
{
|
||||
return ptr_ != iter.ptr_;
|
||||
}
|
||||
|
||||
|
||||
template<class T>
|
||||
inline T& Foam::PtrList<T>::iterator::operator*()
|
||||
{
|
||||
return **ptr_;
|
||||
}
|
||||
|
||||
|
||||
template<class T>
|
||||
inline T& Foam::PtrList<T>::iterator::operator()()
|
||||
{
|
||||
return operator*();
|
||||
}
|
||||
|
||||
|
||||
template<class T>
|
||||
inline typename Foam::PtrList<T>::iterator
|
||||
Foam::PtrList<T>::iterator::operator++()
|
||||
@ -202,6 +207,7 @@ Foam::PtrList<T>::iterator::operator++()
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
template<class T>
|
||||
inline typename Foam::PtrList<T>::iterator
|
||||
Foam::PtrList<T>::iterator::operator++(int)
|
||||
@ -211,6 +217,7 @@ Foam::PtrList<T>::iterator::operator++(int)
|
||||
return tmp;
|
||||
}
|
||||
|
||||
|
||||
template<class T>
|
||||
inline typename Foam::PtrList<T>::iterator
|
||||
Foam::PtrList<T>::iterator::operator--()
|
||||
@ -219,6 +226,7 @@ Foam::PtrList<T>::iterator::operator--()
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
template<class T>
|
||||
inline typename Foam::PtrList<T>::iterator
|
||||
Foam::PtrList<T>::iterator::operator--(int)
|
||||
@ -228,6 +236,7 @@ Foam::PtrList<T>::iterator::operator--(int)
|
||||
return tmp;
|
||||
}
|
||||
|
||||
|
||||
template<class T>
|
||||
inline typename Foam::PtrList<T>::iterator
|
||||
Foam::PtrList<T>::iterator::operator+=(label n)
|
||||
@ -236,6 +245,7 @@ Foam::PtrList<T>::iterator::operator+=(label n)
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
template<class T>
|
||||
inline typename Foam::PtrList<T>::iterator
|
||||
Foam::operator+(const typename PtrList<T>::iterator& iter, label n)
|
||||
@ -244,6 +254,7 @@ Foam::operator+(const typename PtrList<T>::iterator& iter, label n)
|
||||
return tmp += n;
|
||||
}
|
||||
|
||||
|
||||
template<class T>
|
||||
inline typename Foam::PtrList<T>::iterator
|
||||
Foam::operator+(label n, const typename PtrList<T>::iterator& iter)
|
||||
@ -252,6 +263,7 @@ Foam::operator+(label n, const typename PtrList<T>::iterator& iter)
|
||||
return tmp += n;
|
||||
}
|
||||
|
||||
|
||||
template<class T>
|
||||
inline typename Foam::PtrList<T>::iterator
|
||||
Foam::PtrList<T>::iterator::operator-=(label n)
|
||||
@ -260,6 +272,7 @@ Foam::PtrList<T>::iterator::operator-=(label n)
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
template<class T>
|
||||
inline typename Foam::PtrList<T>::iterator
|
||||
Foam::operator-(const typename PtrList<T>::iterator& iter, label n)
|
||||
@ -268,6 +281,7 @@ Foam::operator-(const typename PtrList<T>::iterator& iter, label n)
|
||||
return tmp -= n;
|
||||
}
|
||||
|
||||
|
||||
template<class T>
|
||||
inline Foam::label Foam::operator-
|
||||
(
|
||||
@ -278,46 +292,51 @@ inline Foam::label Foam::operator-
|
||||
return (iter1.ptr_ - iter2.ptr_)/sizeof(T*);
|
||||
}
|
||||
|
||||
|
||||
template<class T>
|
||||
inline T& Foam::PtrList<T>::iterator::operator[](label n)
|
||||
{
|
||||
return *(*this + n);
|
||||
}
|
||||
|
||||
|
||||
template<class T>
|
||||
inline bool Foam::PtrList<T>::iterator::operator<(const iterator& iter) const
|
||||
{
|
||||
return ptr_ < iter.ptr_;
|
||||
}
|
||||
|
||||
|
||||
template<class T>
|
||||
inline bool Foam::PtrList<T>::iterator::operator>(const iterator& iter) const
|
||||
{
|
||||
return ptr_ > iter.ptr_;
|
||||
}
|
||||
|
||||
|
||||
template<class T>
|
||||
inline bool Foam::PtrList<T>::iterator::operator<=(const iterator& iter) const
|
||||
{
|
||||
return ptr_ <= iter.ptr_;
|
||||
}
|
||||
|
||||
|
||||
template<class T>
|
||||
inline bool Foam::PtrList<T>::iterator::operator>=(const iterator& iter) const
|
||||
{
|
||||
return ptr_ >= iter.ptr_;
|
||||
}
|
||||
|
||||
|
||||
template<class T>
|
||||
inline typename Foam::PtrList<T>::iterator
|
||||
Foam::PtrList<T>::begin()
|
||||
inline typename Foam::PtrList<T>::iterator Foam::PtrList<T>::begin()
|
||||
{
|
||||
return ptrs_.begin();
|
||||
}
|
||||
|
||||
|
||||
template<class T>
|
||||
inline typename Foam::PtrList<T>::iterator
|
||||
Foam::PtrList<T>::end()
|
||||
inline typename Foam::PtrList<T>::iterator Foam::PtrList<T>::end()
|
||||
{
|
||||
return ptrs_.end();
|
||||
}
|
||||
|
||||
@ -111,7 +111,7 @@ public:
|
||||
explicit UPtrList(const label);
|
||||
|
||||
//- Construct by transferring the parameter contents
|
||||
UPtrList(const Xfer< UPtrList<T> >&);
|
||||
UPtrList(const Xfer<UPtrList<T> >&);
|
||||
|
||||
//- Construct as copy or re-use as specified.
|
||||
UPtrList(UPtrList<T>&, bool reUse);
|
||||
@ -160,7 +160,7 @@ public:
|
||||
void transfer(UPtrList<T>&);
|
||||
|
||||
//- Transfer contents to the Xfer container
|
||||
inline Xfer< UPtrList<T> > xfer();
|
||||
inline Xfer<UPtrList<T> > xfer();
|
||||
|
||||
//- Is element set
|
||||
inline bool set(const label) const;
|
||||
|
||||
@ -89,7 +89,7 @@ public:
|
||||
ITstream
|
||||
(
|
||||
const string& name,
|
||||
const Xfer< List<token> >& tokens,
|
||||
const Xfer<List<token> >& tokens,
|
||||
streamFormat format=ASCII,
|
||||
versionNumber version=currentVersion
|
||||
)
|
||||
|
||||
@ -107,7 +107,7 @@ Foam::primitiveEntry::primitiveEntry
|
||||
Foam::primitiveEntry::primitiveEntry
|
||||
(
|
||||
const keyType& key,
|
||||
const Xfer< List<token> >& tokens
|
||||
const Xfer<List<token> >& tokens
|
||||
)
|
||||
:
|
||||
entry(key),
|
||||
|
||||
@ -114,7 +114,7 @@ public:
|
||||
primitiveEntry(const keyType&, const UList<token>&);
|
||||
|
||||
//- Construct from keyword and by transferring a list of tokens
|
||||
primitiveEntry(const keyType&, const Xfer< List<token> >&);
|
||||
primitiveEntry(const keyType&, const Xfer<List<token> >&);
|
||||
|
||||
//- Construct from keyword and a T
|
||||
template<class T>
|
||||
|
||||
@ -45,7 +45,7 @@ SourceFiles
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
// Forward declaration of friend functions and operators
|
||||
// Forward declaration of classes
|
||||
|
||||
class IFstream;
|
||||
class Time;
|
||||
@ -61,10 +61,13 @@ class edgeFormatsCore
|
||||
{
|
||||
protected:
|
||||
|
||||
// Protected Member Functions
|
||||
|
||||
//- Read non-comment line
|
||||
static string getLineNoComment(IFstream&);
|
||||
|
||||
public:
|
||||
|
||||
// Static Data
|
||||
|
||||
//- The file extension corresponding to 'native' edge format
|
||||
|
||||
@ -29,7 +29,6 @@ License
|
||||
#include "IFstream.H"
|
||||
#include "clock.H"
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::fileFormats::EMESHedgeFormat::EMESHedgeFormat
|
||||
@ -119,8 +118,7 @@ bool Foam::fileFormats::EMESHedgeFormat::read
|
||||
}
|
||||
|
||||
|
||||
Foam::Ostream&
|
||||
Foam::fileFormats::EMESHedgeFormat::write
|
||||
Foam::Ostream& Foam::fileFormats::EMESHedgeFormat::write
|
||||
(
|
||||
Ostream& os,
|
||||
const pointField& pointLst,
|
||||
|
||||
@ -79,6 +79,7 @@ protected:
|
||||
const edgeList&
|
||||
);
|
||||
|
||||
|
||||
public:
|
||||
|
||||
// Constructors
|
||||
|
||||
@ -64,7 +64,7 @@ bool Foam::fileFormats::OBJedgeFormat::read
|
||||
}
|
||||
|
||||
DynamicList<point> dynPoints;
|
||||
DynamicList<edge> dynEdges;
|
||||
DynamicList<edge> dynEdges;
|
||||
DynamicList<label> dynUsedPoints;
|
||||
|
||||
while (is.good())
|
||||
@ -195,7 +195,7 @@ void Foam::fileFormats::OBJedgeFormat::write
|
||||
)
|
||||
{
|
||||
const pointField& pointLst = mesh.points();
|
||||
const edgeList& edgeLst = mesh.edges();
|
||||
const edgeList& edgeLst = mesh.edges();
|
||||
|
||||
OFstream os(filename);
|
||||
if (!os.good())
|
||||
|
||||
@ -160,7 +160,6 @@ bool Foam::fileFormats::STARCDedgeFormat::readPoints
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Foam::fileFormats::STARCDedgeFormat::writePoints
|
||||
(
|
||||
Ostream& os,
|
||||
@ -177,8 +176,7 @@ void Foam::fileFormats::STARCDedgeFormat::writePoints
|
||||
|
||||
forAll(pointLst, ptI)
|
||||
{
|
||||
os
|
||||
<< ptI + 1 << " "
|
||||
os << ptI + 1 << " "
|
||||
<< pointLst[ptI].x() << " "
|
||||
<< pointLst[ptI].y() << " "
|
||||
<< pointLst[ptI].z() << nl;
|
||||
@ -367,7 +365,7 @@ void Foam::fileFormats::STARCDedgeFormat::write
|
||||
)
|
||||
{
|
||||
const pointField& pointLst = mesh.points();
|
||||
const edgeList& edgeLst = mesh.edges();
|
||||
const edgeList& edgeLst = mesh.edges();
|
||||
|
||||
fileName baseName = filename.lessExt();
|
||||
|
||||
|
||||
@ -90,20 +90,21 @@ protected:
|
||||
|
||||
// Protected Member Functions
|
||||
|
||||
static bool readHeader(IFstream&, const word&);
|
||||
static bool readHeader(IFstream&, const word&);
|
||||
|
||||
static void writeHeader(Ostream&, const char* filetype);
|
||||
static void writeHeader(Ostream&, const char* filetype);
|
||||
|
||||
static bool readPoints(IFstream&, pointField&, labelList& ids);
|
||||
static bool readPoints(IFstream&, pointField&, labelList& ids);
|
||||
|
||||
static void writePoints(Ostream&, const pointField&);
|
||||
static void writePoints(Ostream&, const pointField&);
|
||||
|
||||
static void writeCase
|
||||
(
|
||||
Ostream&,
|
||||
const pointField&,
|
||||
const label nEdges
|
||||
);
|
||||
|
||||
static void writeCase
|
||||
(
|
||||
Ostream&,
|
||||
const pointField&,
|
||||
const label nEdges
|
||||
);
|
||||
|
||||
public:
|
||||
|
||||
|
||||
@ -60,8 +60,7 @@ void Foam::fileFormats::VTKedgeFormat::writeEdges
|
||||
const UList<edge>& edgeLst
|
||||
)
|
||||
{
|
||||
os << "LINES " << edgeLst.size() << ' '
|
||||
<< 3*edgeLst.size() << nl;
|
||||
os << "LINES " << edgeLst.size() << ' ' << 3*edgeLst.size() << nl;
|
||||
|
||||
forAll(edgeLst, edgeI)
|
||||
{
|
||||
@ -72,8 +71,6 @@ void Foam::fileFormats::VTKedgeFormat::writeEdges
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::fileFormats::VTKedgeFormat::VTKedgeFormat()
|
||||
@ -104,4 +101,5 @@ void Foam::fileFormats::VTKedgeFormat::write
|
||||
writeEdges(os, eMesh.edges());
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -76,6 +76,7 @@ protected:
|
||||
//- Write edges
|
||||
static void writeEdges(Ostream&, const UList<edge>&);
|
||||
|
||||
|
||||
public:
|
||||
|
||||
// Constructors
|
||||
|
||||
@ -38,11 +38,13 @@ namespace Foam
|
||||
defineMemberFunctionSelectionTable(edgeMesh,write,fileExtension);
|
||||
}
|
||||
|
||||
|
||||
Foam::wordHashSet Foam::edgeMesh::readTypes()
|
||||
{
|
||||
return wordHashSet(*fileExtensionConstructorTablePtr_);
|
||||
}
|
||||
|
||||
|
||||
Foam::wordHashSet Foam::edgeMesh::writeTypes()
|
||||
{
|
||||
return wordHashSet(*writefileExtensionMemberFunctionTablePtr_);
|
||||
@ -66,6 +68,7 @@ bool Foam::edgeMesh::canReadType
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
bool Foam::edgeMesh::canWriteType
|
||||
(
|
||||
const word& ext,
|
||||
@ -197,8 +200,8 @@ void Foam::edgeMesh::clear()
|
||||
|
||||
void Foam::edgeMesh::reset
|
||||
(
|
||||
const Xfer< pointField >& pointLst,
|
||||
const Xfer< edgeList >& edgeLst
|
||||
const Xfer<pointField>& pointLst,
|
||||
const Xfer<edgeList>& edgeLst
|
||||
)
|
||||
{
|
||||
// Take over new primitive data.
|
||||
@ -215,7 +218,6 @@ void Foam::edgeMesh::reset
|
||||
// connectivity likely changed
|
||||
pointEdgesPtr_.clear();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -227,8 +229,7 @@ void Foam::edgeMesh::transfer(edgeMesh& mesh)
|
||||
}
|
||||
|
||||
|
||||
Foam::Xfer< Foam::edgeMesh >
|
||||
Foam::edgeMesh::xfer()
|
||||
Foam::Xfer<Foam::edgeMesh> Foam::edgeMesh::xfer()
|
||||
{
|
||||
return xferMove(*this);
|
||||
}
|
||||
|
||||
@ -101,6 +101,7 @@ public:
|
||||
//- Runtime type information
|
||||
TypeName("edgeMesh");
|
||||
|
||||
|
||||
// Static
|
||||
|
||||
//- Can we read this file format?
|
||||
@ -115,6 +116,7 @@ public:
|
||||
static wordHashSet readTypes();
|
||||
static wordHashSet writeTypes();
|
||||
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct null
|
||||
@ -126,8 +128,8 @@ public:
|
||||
//- Construct by transferring components (points, edges).
|
||||
edgeMesh
|
||||
(
|
||||
const Xfer< pointField >&,
|
||||
const Xfer< edgeList >&
|
||||
const Xfer<pointField>&,
|
||||
const Xfer<edgeList>&
|
||||
);
|
||||
|
||||
//- Construct as copy
|
||||
@ -142,6 +144,7 @@ public:
|
||||
//- Construct from Istream
|
||||
edgeMesh(Istream&);
|
||||
|
||||
|
||||
// Declare run-time constructor selection table
|
||||
|
||||
declareRunTimeSelectionTable
|
||||
@ -155,6 +158,7 @@ public:
|
||||
(name)
|
||||
);
|
||||
|
||||
|
||||
// Selectors
|
||||
|
||||
//- Select constructed from filename (explicit extension)
|
||||
@ -197,7 +201,7 @@ public:
|
||||
void transfer(edgeMesh&);
|
||||
|
||||
//- Transfer contents to the Xfer container
|
||||
Xfer< edgeMesh > xfer();
|
||||
Xfer<edgeMesh > xfer();
|
||||
|
||||
// Read
|
||||
|
||||
@ -233,8 +237,8 @@ public:
|
||||
// Note, optimized to avoid overwriting data (with Xfer::null)
|
||||
virtual void reset
|
||||
(
|
||||
const Xfer< pointField >& points,
|
||||
const Xfer< edgeList >& edges
|
||||
const Xfer<pointField>& points,
|
||||
const Xfer<edgeList>& edges
|
||||
);
|
||||
|
||||
//- Scale points. A non-positive factor is ignored
|
||||
@ -248,8 +252,6 @@ public:
|
||||
|
||||
void writeStats(Ostream&) const;
|
||||
|
||||
// Write
|
||||
|
||||
//- Generic write routine. Chooses writer based on extension.
|
||||
virtual void write(const fileName& name) const
|
||||
{
|
||||
@ -261,10 +263,10 @@ public:
|
||||
|
||||
inline void operator=(const edgeMesh&);
|
||||
|
||||
// Ostream Operator
|
||||
// Ostream Operator
|
||||
|
||||
friend Ostream& operator<<(Ostream&, const edgeMesh&);
|
||||
friend Istream& operator>>(Istream&, edgeMesh&);
|
||||
friend Ostream& operator<<(Ostream&, const edgeMesh&);
|
||||
friend Istream& operator>>(Istream&, edgeMesh&);
|
||||
|
||||
};
|
||||
|
||||
|
||||
@ -28,7 +28,6 @@ License
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
|
||||
Foam::autoPtr< Foam::edgeMesh >
|
||||
Foam::edgeMesh::New(const fileName& name, const word& ext)
|
||||
{
|
||||
@ -62,4 +61,5 @@ Foam::edgeMesh::New(const fileName& name)
|
||||
return New(name, ext);
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -73,8 +73,8 @@ Foam::featureEdgeMesh::featureEdgeMesh
|
||||
Foam::featureEdgeMesh::featureEdgeMesh
|
||||
(
|
||||
const IOobject& io,
|
||||
const Xfer< pointField >& pointLst,
|
||||
const Xfer< edgeList >& edgeLst
|
||||
const Xfer<pointField>& pointLst,
|
||||
const Xfer<edgeList>& edgeLst
|
||||
)
|
||||
:
|
||||
regIOobject(io),
|
||||
|
||||
@ -171,9 +171,9 @@ Foam::MeshedSurface<Face>::MeshedSurface()
|
||||
template<class Face>
|
||||
Foam::MeshedSurface<Face>::MeshedSurface
|
||||
(
|
||||
const Xfer< pointField >& pointLst,
|
||||
const Xfer< List<Face> >& faceLst,
|
||||
const Xfer< surfZoneList >& zoneLst
|
||||
const Xfer<pointField>& pointLst,
|
||||
const Xfer<List<Face> >& faceLst,
|
||||
const Xfer<surfZoneList>& zoneLst
|
||||
)
|
||||
:
|
||||
ParentType(List<Face>(), pointField()),
|
||||
@ -186,8 +186,8 @@ Foam::MeshedSurface<Face>::MeshedSurface
|
||||
template<class Face>
|
||||
Foam::MeshedSurface<Face>::MeshedSurface
|
||||
(
|
||||
const Xfer< pointField >& pointLst,
|
||||
const Xfer< List<Face> >& faceLst,
|
||||
const Xfer<pointField>& pointLst,
|
||||
const Xfer<List<Face> >& faceLst,
|
||||
const UList<label>& zoneSizes,
|
||||
const UList<word>& zoneNames
|
||||
)
|
||||
@ -397,7 +397,7 @@ Foam::MeshedSurface<Face>::MeshedSurface
|
||||
template<class Face>
|
||||
Foam::MeshedSurface<Face>::MeshedSurface
|
||||
(
|
||||
const Xfer< UnsortedMeshedSurface<Face> >& surf
|
||||
const Xfer<UnsortedMeshedSurface<Face> >& surf
|
||||
)
|
||||
:
|
||||
ParentType(List<Face>(), pointField())
|
||||
@ -409,7 +409,7 @@ Foam::MeshedSurface<Face>::MeshedSurface
|
||||
template<class Face>
|
||||
Foam::MeshedSurface<Face>::MeshedSurface
|
||||
(
|
||||
const Xfer< MeshedSurface<Face> >& surf
|
||||
const Xfer<MeshedSurface<Face> >& surf
|
||||
)
|
||||
:
|
||||
ParentType(List<Face>(), pointField())
|
||||
@ -426,9 +426,6 @@ Foam::MeshedSurface<Face>::~MeshedSurface()
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
||||
|
||||
|
||||
// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
|
||||
|
||||
template<class Face>
|
||||
@ -526,9 +523,9 @@ void Foam::MeshedSurface<Face>::scalePoints(const scalar scaleFactor)
|
||||
template<class Face>
|
||||
void Foam::MeshedSurface<Face>::reset
|
||||
(
|
||||
const Xfer< pointField >& pointLst,
|
||||
const Xfer< List<Face> >& faceLst,
|
||||
const Xfer< surfZoneList >& zoneLst
|
||||
const Xfer<pointField>& pointLst,
|
||||
const Xfer<List<Face> >& faceLst,
|
||||
const Xfer<surfZoneList>& zoneLst
|
||||
)
|
||||
{
|
||||
ParentType::clearOut();
|
||||
@ -555,9 +552,9 @@ void Foam::MeshedSurface<Face>::reset
|
||||
template<class Face>
|
||||
void Foam::MeshedSurface<Face>::reset
|
||||
(
|
||||
const Xfer< List<point> >& pointLst,
|
||||
const Xfer< List<Face> >& faceLst,
|
||||
const Xfer< surfZoneList >& zoneLst
|
||||
const Xfer<List<point> >& pointLst,
|
||||
const Xfer<List<Face> >& faceLst,
|
||||
const Xfer<surfZoneList>& zoneLst
|
||||
)
|
||||
{
|
||||
ParentType::clearOut();
|
||||
@ -1038,8 +1035,7 @@ Foam::MeshedSurface<Face> Foam::MeshedSurface<Face>::subsetMesh
|
||||
|
||||
|
||||
template<class Face>
|
||||
Foam::MeshedSurface<Face>
|
||||
Foam::MeshedSurface<Face>::subsetMesh
|
||||
Foam::MeshedSurface<Face> Foam::MeshedSurface<Face>::subsetMesh
|
||||
(
|
||||
const labelHashSet& include
|
||||
) const
|
||||
@ -1109,8 +1105,7 @@ void Foam::MeshedSurface<Face>::transfer
|
||||
|
||||
|
||||
template<class Face>
|
||||
Foam::Xfer< Foam::MeshedSurface<Face> >
|
||||
Foam::MeshedSurface<Face>::xfer()
|
||||
Foam::Xfer<Foam::MeshedSurface<Face> > Foam::MeshedSurface<Face>::xfer()
|
||||
{
|
||||
return xferMove(*this);
|
||||
}
|
||||
@ -1159,6 +1154,7 @@ void Foam::MeshedSurface<Face>::write
|
||||
MeshedSurfaceProxy<Face>(*this).write(t, surfName);
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * //
|
||||
|
||||
template<class Face>
|
||||
@ -1173,8 +1169,7 @@ void Foam::MeshedSurface<Face>::operator=(const MeshedSurface& surf)
|
||||
|
||||
|
||||
template<class Face>
|
||||
Foam::MeshedSurface<Face>::operator
|
||||
Foam::MeshedSurfaceProxy<Face>() const
|
||||
Foam::MeshedSurface<Face>::operator Foam::MeshedSurfaceProxy<Face>() const
|
||||
{
|
||||
return MeshedSurfaceProxy<Face>
|
||||
(
|
||||
@ -1184,9 +1179,6 @@ Foam::MeshedSurfaceProxy<Face>() const
|
||||
);
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * Friend Functions * * * * * * * * * * * * * //
|
||||
|
||||
// * * * * * * * * * * * * * * * IOstream Operators * * * * * * * * * * * * //
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
|
||||
@ -90,9 +90,10 @@ class MeshedSurface
|
||||
template<class Face2> friend class UnsortedMeshedSurface;
|
||||
friend class surfMesh;
|
||||
|
||||
|
||||
private:
|
||||
|
||||
//- Private typedefs for convenience
|
||||
// Private typedefs for convenience
|
||||
|
||||
typedef PrimitivePatch
|
||||
<
|
||||
@ -106,6 +107,7 @@ private:
|
||||
typedef UnsortedMeshedSurface<Face> FriendType;
|
||||
typedef MeshedSurfaceProxy<Face> ProxyType;
|
||||
|
||||
|
||||
// Private Member Data
|
||||
|
||||
//- Zone information
|
||||
@ -113,8 +115,6 @@ private:
|
||||
List<surfZone> zones_;
|
||||
|
||||
|
||||
// Private member functions
|
||||
|
||||
protected:
|
||||
|
||||
// Protected Member functions
|
||||
@ -146,19 +146,21 @@ protected:
|
||||
//- sort faces by zones and store sorted faces
|
||||
void sortFacesAndStore
|
||||
(
|
||||
const Xfer< List<Face> >& unsortedFaces,
|
||||
const Xfer< List<label> >& zoneIds,
|
||||
const Xfer<List<Face> >& unsortedFaces,
|
||||
const Xfer<List<label> >& zoneIds,
|
||||
const bool sorted
|
||||
);
|
||||
|
||||
//- Set new zones from faceMap
|
||||
virtual void remapFaces(const UList<label>& faceMap);
|
||||
|
||||
|
||||
public:
|
||||
|
||||
//- Runtime type information
|
||||
ClassName("MeshedSurface");
|
||||
|
||||
|
||||
// Static
|
||||
|
||||
//- Face storage only handles triangulated faces
|
||||
@ -176,6 +178,7 @@ public:
|
||||
static wordHashSet readTypes();
|
||||
static wordHashSet writeTypes();
|
||||
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct null
|
||||
@ -184,17 +187,17 @@ public:
|
||||
//- Construct by transferring components (points, faces, zones).
|
||||
MeshedSurface
|
||||
(
|
||||
const Xfer< pointField >&,
|
||||
const Xfer< List<Face> >&,
|
||||
const Xfer< surfZoneList >&
|
||||
const Xfer<pointField>&,
|
||||
const Xfer<List<Face> >&,
|
||||
const Xfer<surfZoneList>&
|
||||
);
|
||||
|
||||
//- Construct by transferring components (points, faces).
|
||||
// Use zone information if available
|
||||
MeshedSurface
|
||||
(
|
||||
const Xfer< pointField >&,
|
||||
const Xfer< List<Face> >&,
|
||||
const Xfer<pointField>&,
|
||||
const Xfer<List<Face> >&,
|
||||
const UList<label>& zoneSizes = UList<label>(),
|
||||
const UList<word>& zoneNames = UList<word>()
|
||||
);
|
||||
@ -230,6 +233,7 @@ public:
|
||||
//- Construct from database
|
||||
MeshedSurface(const Time&, const word& surfName="");
|
||||
|
||||
|
||||
// Declare run-time constructor selection table
|
||||
|
||||
declareRunTimeSelectionTable
|
||||
@ -243,6 +247,7 @@ public:
|
||||
(name)
|
||||
);
|
||||
|
||||
|
||||
// Selectors
|
||||
|
||||
//- Select constructed from filename (explicit extension)
|
||||
@ -255,6 +260,7 @@ public:
|
||||
//- Select constructed from filename (implicit extension)
|
||||
static autoPtr<MeshedSurface> New(const fileName&);
|
||||
|
||||
|
||||
// Destructor
|
||||
|
||||
virtual ~MeshedSurface();
|
||||
@ -281,151 +287,152 @@ public:
|
||||
|
||||
// Member Functions
|
||||
|
||||
// Access
|
||||
// Access
|
||||
|
||||
//- The surface size is the number of faces
|
||||
label size() const
|
||||
{
|
||||
return ParentType::size();
|
||||
}
|
||||
//- The surface size is the number of faces
|
||||
label size() const
|
||||
{
|
||||
return ParentType::size();
|
||||
}
|
||||
|
||||
//- Return const access to the faces
|
||||
inline const List<Face>& faces() const
|
||||
{
|
||||
return static_cast<const List<Face> &>(*this);
|
||||
}
|
||||
//- Return const access to the faces
|
||||
inline const List<Face>& faces() const
|
||||
{
|
||||
return static_cast<const List<Face> &>(*this);
|
||||
}
|
||||
|
||||
//- Const access to the surface zones.
|
||||
// If zones are defined, they must be contiguous and cover the entire
|
||||
// surface.
|
||||
const List<surfZone>& surfZones() const
|
||||
{
|
||||
return zones_;
|
||||
}
|
||||
//- Const access to the surface zones.
|
||||
// If zones are defined, they must be contiguous and cover the
|
||||
// entire surface
|
||||
const List<surfZone>& surfZones() const
|
||||
{
|
||||
return zones_;
|
||||
}
|
||||
|
||||
//- Add surface zones
|
||||
virtual void addZones
|
||||
(
|
||||
const UList<surfZone>&,
|
||||
const bool cullEmpty=false
|
||||
);
|
||||
//- Add surface zones
|
||||
virtual void addZones
|
||||
(
|
||||
const UList<surfZone>&,
|
||||
const bool cullEmpty=false
|
||||
);
|
||||
|
||||
//- Add surface zones
|
||||
virtual void addZones
|
||||
(
|
||||
const UList<label>& sizes,
|
||||
const UList<word>& names,
|
||||
const bool cullEmpty=false
|
||||
);
|
||||
//- Add surface zones
|
||||
virtual void addZones
|
||||
(
|
||||
const UList<label>& sizes,
|
||||
const UList<word>& names,
|
||||
const bool cullEmpty=false
|
||||
);
|
||||
|
||||
//- Add surface zones
|
||||
virtual void addZones
|
||||
(
|
||||
const UList<label>& sizes,
|
||||
const bool cullEmpty=false
|
||||
);
|
||||
//- Add surface zones
|
||||
virtual void addZones
|
||||
(
|
||||
const UList<label>& sizes,
|
||||
const bool cullEmpty=false
|
||||
);
|
||||
|
||||
//- Remove surface zones
|
||||
virtual void removeZones();
|
||||
//- Remove surface zones
|
||||
virtual void removeZones();
|
||||
|
||||
|
||||
// Edit
|
||||
// Edit
|
||||
|
||||
//- Clear all storage
|
||||
virtual void clear();
|
||||
//- Clear all storage
|
||||
virtual void clear();
|
||||
|
||||
//- Move points
|
||||
virtual void movePoints(const pointField&);
|
||||
//- Move points
|
||||
virtual void movePoints(const pointField&);
|
||||
|
||||
//- Scale points. A non-positive factor is ignored
|
||||
virtual void scalePoints(const scalar);
|
||||
//- Scale points. A non-positive factor is ignored
|
||||
virtual void scalePoints(const scalar);
|
||||
|
||||
//- Reset primitive data (points, faces and zones)
|
||||
// Note, optimized to avoid overwriting data (with Xfer::null)
|
||||
virtual void reset
|
||||
(
|
||||
const Xfer< pointField >& points,
|
||||
const Xfer< List<Face> >& faces,
|
||||
const Xfer< surfZoneList >& zones
|
||||
);
|
||||
//- Reset primitive data (points, faces and zones)
|
||||
// Note, optimized to avoid overwriting data (with Xfer::null)
|
||||
virtual void reset
|
||||
(
|
||||
const Xfer<pointField >& points,
|
||||
const Xfer<List<Face> >& faces,
|
||||
const Xfer<surfZoneList>& zones
|
||||
);
|
||||
|
||||
//- Reset primitive data (points, faces and zones)
|
||||
// Note, optimized to avoid overwriting data (with Xfer::null)
|
||||
virtual void reset
|
||||
(
|
||||
const Xfer< List<point> >& points,
|
||||
const Xfer< List<Face> >& faces,
|
||||
const Xfer< surfZoneList >& zones
|
||||
);
|
||||
//- Reset primitive data (points, faces and zones)
|
||||
// Note, optimized to avoid overwriting data (with Xfer::null)
|
||||
virtual void reset
|
||||
(
|
||||
const Xfer<List<point> >& points,
|
||||
const Xfer<List<Face> >& faces,
|
||||
const Xfer<surfZoneList >& zones
|
||||
);
|
||||
|
||||
//- Remove invalid faces
|
||||
virtual void cleanup(const bool verbose);
|
||||
//- Remove invalid faces
|
||||
virtual void cleanup(const bool verbose);
|
||||
|
||||
virtual bool stitchFaces
|
||||
(
|
||||
const scalar tol=SMALL,
|
||||
const bool verbose=false
|
||||
);
|
||||
virtual bool stitchFaces
|
||||
(
|
||||
const scalar tol=SMALL,
|
||||
const bool verbose=false
|
||||
);
|
||||
|
||||
virtual bool checkFaces
|
||||
(
|
||||
const bool verbose=false
|
||||
);
|
||||
virtual bool checkFaces
|
||||
(
|
||||
const bool verbose=false
|
||||
);
|
||||
|
||||
//- Triangulate in-place, returning the number of triangles added
|
||||
virtual label triangulate();
|
||||
//- Triangulate in-place, returning the number of triangles added
|
||||
virtual label triangulate();
|
||||
|
||||
//- Triangulate in-place, returning the number of triangles added
|
||||
// and setting a map of original face Ids.
|
||||
// The faceMap is zero-sized when no triangulation was done.
|
||||
virtual label triangulate(List<label>& faceMap);
|
||||
//- Triangulate in-place, returning the number of triangles added
|
||||
// and setting a map of original face Ids.
|
||||
// The faceMap is zero-sized when no triangulation was done.
|
||||
virtual label triangulate(List<label>& faceMap);
|
||||
|
||||
|
||||
//- Return new surface.
|
||||
// Returns return pointMap, faceMap from subsetMeshMap
|
||||
MeshedSurface subsetMesh
|
||||
(
|
||||
const labelHashSet& include,
|
||||
labelList& pointMap,
|
||||
labelList& faceMap
|
||||
) const;
|
||||
//- Return new surface.
|
||||
// Returns return pointMap, faceMap from subsetMeshMap
|
||||
MeshedSurface subsetMesh
|
||||
(
|
||||
const labelHashSet& include,
|
||||
labelList& pointMap,
|
||||
labelList& faceMap
|
||||
) const;
|
||||
|
||||
//- Return new surface.
|
||||
MeshedSurface subsetMesh
|
||||
(
|
||||
const labelHashSet& include
|
||||
) const;
|
||||
//- Return new surface.
|
||||
MeshedSurface subsetMesh
|
||||
(
|
||||
const labelHashSet& include
|
||||
) const;
|
||||
|
||||
//- Transfer the contents of the argument and annul the argument
|
||||
void transfer(MeshedSurface<Face>&);
|
||||
//- Transfer the contents of the argument and annul the argument
|
||||
void transfer(MeshedSurface<Face>&);
|
||||
|
||||
//- Transfer the contents of the argument and annul the argument
|
||||
void transfer(UnsortedMeshedSurface<Face>&);
|
||||
//- Transfer the contents of the argument and annul the argument
|
||||
void transfer(UnsortedMeshedSurface<Face>&);
|
||||
|
||||
//- Transfer contents to the Xfer container
|
||||
Xfer< MeshedSurface<Face> > xfer();
|
||||
|
||||
// Read
|
||||
|
||||
//- Read from file. Chooses reader based on explicit extension
|
||||
bool read(const fileName&, const word& ext);
|
||||
|
||||
//- Read from file. Chooses reader based on detected extension
|
||||
virtual bool read(const fileName&);
|
||||
//- Transfer contents to the Xfer container
|
||||
Xfer<MeshedSurface<Face> > xfer();
|
||||
|
||||
|
||||
// Write
|
||||
// Read
|
||||
|
||||
void writeStats(Ostream& os) const;
|
||||
//- Read from file. Chooses reader based on explicit extension
|
||||
bool read(const fileName&, const word& ext);
|
||||
|
||||
//- Generic write routine. Chooses writer based on extension.
|
||||
virtual void write(const fileName& name) const
|
||||
{
|
||||
write(name, *this);
|
||||
}
|
||||
//- Read from file. Chooses reader based on detected extension
|
||||
virtual bool read(const fileName&);
|
||||
|
||||
//- Write to database
|
||||
void write(const Time&, const word& surfName="") const;
|
||||
|
||||
// Write
|
||||
|
||||
void writeStats(Ostream& os) const;
|
||||
|
||||
//- Generic write routine. Chooses writer based on extension.
|
||||
virtual void write(const fileName& name) const
|
||||
{
|
||||
write(name, *this);
|
||||
}
|
||||
|
||||
//- Write to database
|
||||
void write(const Time&, const word& surfName="") const;
|
||||
|
||||
|
||||
// Member operators
|
||||
@ -434,7 +441,6 @@ public:
|
||||
|
||||
//- Conversion operator to MeshedSurfaceProxy
|
||||
operator MeshedSurfaceProxy<Face>() const;
|
||||
|
||||
};
|
||||
|
||||
|
||||
@ -447,6 +453,7 @@ inline bool MeshedSurface<triFace>::isTri()
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
//- Specialization for holding triangulated information
|
||||
template<>
|
||||
inline label MeshedSurface<triFace>::triangulate()
|
||||
@ -454,6 +461,7 @@ inline label MeshedSurface<triFace>::triangulate()
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
//- Specialization for holding triangulated information
|
||||
template<>
|
||||
inline label MeshedSurface<triFace>::triangulate(List<label>& faceMap)
|
||||
@ -466,6 +474,7 @@ inline label MeshedSurface<triFace>::triangulate(List<label>& faceMap)
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
} // End namespace Foam
|
||||
|
||||
@ -71,8 +71,8 @@ void Foam::MeshedSurface<Face>::checkZones()
|
||||
template<class Face>
|
||||
void Foam::MeshedSurface<Face>::sortFacesAndStore
|
||||
(
|
||||
const Xfer< List<Face> >& unsortedFaces,
|
||||
const Xfer< List<label> >& zoneIds,
|
||||
const Xfer<List<Face> >& unsortedFaces,
|
||||
const Xfer<List<label> >& zoneIds,
|
||||
const bool sorted
|
||||
)
|
||||
{
|
||||
|
||||
@ -26,7 +26,6 @@ License
|
||||
|
||||
#include "MeshedSurfaceIOAllocator.H"
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::MeshedSurfaceIOAllocator::MeshedSurfaceIOAllocator
|
||||
@ -61,11 +60,11 @@ Foam::MeshedSurfaceIOAllocator::MeshedSurfaceIOAllocator
|
||||
Foam::MeshedSurfaceIOAllocator::MeshedSurfaceIOAllocator
|
||||
(
|
||||
const IOobject& ioPoints,
|
||||
const Xfer< pointField >& points,
|
||||
const Xfer<pointField>& points,
|
||||
const IOobject& ioFaces,
|
||||
const Xfer< faceList >& faces,
|
||||
const Xfer<faceList>& faces,
|
||||
const IOobject& ioZones,
|
||||
const Xfer< surfZoneList >& zones
|
||||
const Xfer<surfZoneList>& zones
|
||||
)
|
||||
:
|
||||
points_(ioPoints, points),
|
||||
@ -74,8 +73,6 @@ Foam::MeshedSurfaceIOAllocator::MeshedSurfaceIOAllocator
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
void Foam::MeshedSurfaceIOAllocator::clear()
|
||||
@ -88,8 +85,8 @@ void Foam::MeshedSurfaceIOAllocator::clear()
|
||||
|
||||
void Foam::MeshedSurfaceIOAllocator::resetFaces
|
||||
(
|
||||
const Xfer< List<face> >& faces,
|
||||
const Xfer< surfZoneList >& zones
|
||||
const Xfer<List<face> >& faces,
|
||||
const Xfer<surfZoneList>& zones
|
||||
)
|
||||
{
|
||||
if (&faces)
|
||||
@ -106,9 +103,9 @@ void Foam::MeshedSurfaceIOAllocator::resetFaces
|
||||
|
||||
void Foam::MeshedSurfaceIOAllocator::reset
|
||||
(
|
||||
const Xfer< pointField >& points,
|
||||
const Xfer< faceList >& faces,
|
||||
const Xfer< surfZoneList >& zones
|
||||
const Xfer<pointField>& points,
|
||||
const Xfer<faceList>& faces,
|
||||
const Xfer<surfZoneList>& zones
|
||||
)
|
||||
{
|
||||
// Take over new primitive data.
|
||||
@ -124,9 +121,9 @@ void Foam::MeshedSurfaceIOAllocator::reset
|
||||
|
||||
void Foam::MeshedSurfaceIOAllocator::reset
|
||||
(
|
||||
const Xfer< List<point> >& points,
|
||||
const Xfer< faceList >& faces,
|
||||
const Xfer< surfZoneList >& zones
|
||||
const Xfer<List<point> >& points,
|
||||
const Xfer<faceList>& faces,
|
||||
const Xfer<surfZoneList>& zones
|
||||
)
|
||||
{
|
||||
// Take over new primitive data.
|
||||
|
||||
@ -49,16 +49,15 @@ namespace Foam
|
||||
Class MeshedSurfaceIOAllocator Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
//- A helper class for storing points, faces and zones
|
||||
class MeshedSurfaceIOAllocator
|
||||
{
|
||||
// Private data
|
||||
|
||||
//- Points
|
||||
pointIOField points_;
|
||||
pointIOField points_;
|
||||
|
||||
//- Faces
|
||||
faceIOList faces_;
|
||||
faceIOList faces_;
|
||||
|
||||
//- Surface zones
|
||||
surfZoneIOList zones_;
|
||||
@ -100,15 +99,13 @@ public:
|
||||
MeshedSurfaceIOAllocator
|
||||
(
|
||||
const IOobject& ioPoints,
|
||||
const Xfer< pointField >& points,
|
||||
const Xfer<pointField>& points,
|
||||
const IOobject& ioFaces,
|
||||
const Xfer< faceList >& faces,
|
||||
const Xfer<faceList>& faces,
|
||||
const IOobject& ioZones,
|
||||
const Xfer< surfZoneList >& zones
|
||||
const Xfer<surfZoneList>& zones
|
||||
);
|
||||
|
||||
// Destructor
|
||||
|
||||
|
||||
// Member Functions
|
||||
|
||||
@ -160,26 +157,26 @@ public:
|
||||
// Note, optimized to avoid overwriting data (with Xfer::null)
|
||||
void resetFaces
|
||||
(
|
||||
const Xfer< faceList >& faces,
|
||||
const Xfer< surfZoneList >& zones
|
||||
const Xfer<faceList>& faces,
|
||||
const Xfer<surfZoneList>& zones
|
||||
);
|
||||
|
||||
//- Reset primitive data (points, faces and zones)
|
||||
// Note, optimized to avoid overwriting data (with Xfer::null)
|
||||
void reset
|
||||
(
|
||||
const Xfer< pointField >& points,
|
||||
const Xfer< faceList >& faces,
|
||||
const Xfer< surfZoneList >& zones
|
||||
const Xfer<pointField>& points,
|
||||
const Xfer<faceList>& faces,
|
||||
const Xfer<surfZoneList>& zones
|
||||
);
|
||||
|
||||
//- Reset primitive data (points, faces and zones)
|
||||
// Note, optimized to avoid overwriting data (with Xfer::null)
|
||||
void reset
|
||||
(
|
||||
const Xfer< List<point> >& points,
|
||||
const Xfer< faceList >& faces,
|
||||
const Xfer< surfZoneList >& zones
|
||||
const Xfer<List<point> >& points,
|
||||
const Xfer<faceList>& faces,
|
||||
const Xfer<surfZoneList>& zones
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
@ -159,10 +159,10 @@ Foam::UnsortedMeshedSurface<Face>::UnsortedMeshedSurface()
|
||||
template<class Face>
|
||||
Foam::UnsortedMeshedSurface<Face>::UnsortedMeshedSurface
|
||||
(
|
||||
const Xfer< pointField >& pointLst,
|
||||
const Xfer< List<Face> >& faceLst,
|
||||
const Xfer< List<label> >& zoneIds,
|
||||
const Xfer< surfZoneIdentifierList >& zoneTofc
|
||||
const Xfer<pointField>& pointLst,
|
||||
const Xfer<List<Face> >& faceLst,
|
||||
const Xfer<List<label> >& zoneIds,
|
||||
const Xfer<surfZoneIdentifierList>& zoneTofc
|
||||
)
|
||||
:
|
||||
ParentType(pointLst, faceLst),
|
||||
@ -174,8 +174,8 @@ Foam::UnsortedMeshedSurface<Face>::UnsortedMeshedSurface
|
||||
template<class Face>
|
||||
Foam::UnsortedMeshedSurface<Face>::UnsortedMeshedSurface
|
||||
(
|
||||
const Xfer< pointField >& pointLst,
|
||||
const Xfer< List<Face> >& faceLst,
|
||||
const Xfer<pointField>& pointLst,
|
||||
const Xfer<List<Face> >& faceLst,
|
||||
const UList<label>& zoneSizes,
|
||||
const UList<word>& zoneNames
|
||||
)
|
||||
@ -235,7 +235,7 @@ Foam::UnsortedMeshedSurface<Face>::UnsortedMeshedSurface
|
||||
template<class Face>
|
||||
Foam::UnsortedMeshedSurface<Face>::UnsortedMeshedSurface
|
||||
(
|
||||
const Xfer< UnsortedMeshedSurface<Face> >& surf
|
||||
const Xfer<UnsortedMeshedSurface<Face> >& surf
|
||||
)
|
||||
:
|
||||
ParentType()
|
||||
@ -247,7 +247,7 @@ Foam::UnsortedMeshedSurface<Face>::UnsortedMeshedSurface
|
||||
template<class Face>
|
||||
Foam::UnsortedMeshedSurface<Face>::UnsortedMeshedSurface
|
||||
(
|
||||
const Xfer< MeshedSurface<Face> >& surf
|
||||
const Xfer<MeshedSurface<Face> >& surf
|
||||
)
|
||||
:
|
||||
ParentType()
|
||||
@ -601,9 +601,9 @@ Foam::UnsortedMeshedSurface<Face> Foam::UnsortedMeshedSurface<Face>::subsetMesh
|
||||
template<class Face>
|
||||
void Foam::UnsortedMeshedSurface<Face>::reset
|
||||
(
|
||||
const Xfer< pointField >& pointLst,
|
||||
const Xfer< List<Face> >& faceLst,
|
||||
const Xfer< List<label> >& zoneIds
|
||||
const Xfer<pointField>& pointLst,
|
||||
const Xfer<List<Face> >& faceLst,
|
||||
const Xfer<List<label> >& zoneIds
|
||||
)
|
||||
{
|
||||
ParentType::reset
|
||||
@ -623,9 +623,9 @@ void Foam::UnsortedMeshedSurface<Face>::reset
|
||||
template<class Face>
|
||||
void Foam::UnsortedMeshedSurface<Face>::reset
|
||||
(
|
||||
const Xfer< List<point> >& pointLst,
|
||||
const Xfer< List<Face> >& faceLst,
|
||||
const Xfer< List<label> >& zoneIds
|
||||
const Xfer<List<point> >& pointLst,
|
||||
const Xfer<List<Face> >& faceLst,
|
||||
const Xfer<List<label> >& zoneIds
|
||||
)
|
||||
{
|
||||
ParentType::reset
|
||||
@ -681,7 +681,7 @@ void Foam::UnsortedMeshedSurface<Face>::transfer
|
||||
|
||||
|
||||
template<class Face>
|
||||
Foam::Xfer< Foam::UnsortedMeshedSurface<Face> >
|
||||
Foam::Xfer<Foam::UnsortedMeshedSurface<Face> >
|
||||
Foam::UnsortedMeshedSurface<Face>::xfer()
|
||||
{
|
||||
return xferMove(*this);
|
||||
|
||||
@ -85,7 +85,7 @@ class UnsortedMeshedSurface
|
||||
|
||||
private:
|
||||
|
||||
//- Private typedefs for convenience
|
||||
// Private typedefs for convenience
|
||||
|
||||
typedef MeshedSurface<Face> ParentType;
|
||||
typedef MeshedSurface<Face> FriendType;
|
||||
@ -161,10 +161,10 @@ public:
|
||||
// (points, faces, zone ids, zone info).
|
||||
UnsortedMeshedSurface
|
||||
(
|
||||
const Xfer< pointField >&,
|
||||
const Xfer< List<Face> >&,
|
||||
const Xfer< List<label> >& zoneIds,
|
||||
const Xfer< surfZoneIdentifierList >&
|
||||
const Xfer<pointField>&,
|
||||
const Xfer<List<Face> >&,
|
||||
const Xfer<List<label> >& zoneIds,
|
||||
const Xfer<surfZoneIdentifierList>&
|
||||
);
|
||||
|
||||
//- Construct by transferring points, faces.
|
||||
@ -226,9 +226,8 @@ public:
|
||||
static autoPtr<UnsortedMeshedSurface> New(const fileName&);
|
||||
|
||||
|
||||
// Destructor
|
||||
|
||||
virtual ~UnsortedMeshedSurface();
|
||||
//- Destructor
|
||||
virtual ~UnsortedMeshedSurface();
|
||||
|
||||
|
||||
// Member Function Selectors
|
||||
@ -315,17 +314,17 @@ public:
|
||||
//- Transfer components (points, faces, zone ids).
|
||||
virtual void reset
|
||||
(
|
||||
const Xfer< pointField >&,
|
||||
const Xfer< List<Face> >&,
|
||||
const Xfer< List<label> >& zoneIds
|
||||
const Xfer<pointField>&,
|
||||
const Xfer<List<Face> >&,
|
||||
const Xfer<List<label> >& zoneIds
|
||||
);
|
||||
|
||||
//- Transfer components (points, faces, zone ids).
|
||||
virtual void reset
|
||||
(
|
||||
const Xfer< List<point> >&,
|
||||
const Xfer< List<Face> >&,
|
||||
const Xfer< List<label> >& zoneIds
|
||||
const Xfer<List<point> >&,
|
||||
const Xfer<List<Face> >&,
|
||||
const Xfer<List<label> >& zoneIds
|
||||
);
|
||||
|
||||
//- Transfer the contents of the argument and annul the argument
|
||||
@ -335,7 +334,7 @@ public:
|
||||
void transfer(MeshedSurface<Face>&);
|
||||
|
||||
//- Transfer contents to the Xfer container
|
||||
Xfer< UnsortedMeshedSurface<Face> > xfer();
|
||||
Xfer<UnsortedMeshedSurface<Face> > xfer();
|
||||
|
||||
|
||||
// Read
|
||||
|
||||
@ -110,8 +110,8 @@ Foam::surfMesh::surfMesh(const IOobject& io, const word& surfName)
|
||||
Foam::surfMesh::surfMesh
|
||||
(
|
||||
const IOobject& io,
|
||||
const Xfer< pointField >& pointLst,
|
||||
const Xfer< faceList >& faceLst,
|
||||
const Xfer<pointField>& pointLst,
|
||||
const Xfer<faceList>& faceLst,
|
||||
const word& surfName
|
||||
)
|
||||
:
|
||||
@ -156,7 +156,7 @@ Foam::surfMesh::surfMesh
|
||||
Foam::surfMesh::surfMesh
|
||||
(
|
||||
const IOobject& io,
|
||||
const Xfer< MeshedSurface<face> >& surf,
|
||||
const Xfer<MeshedSurface<face> >& surf,
|
||||
const word& surfName
|
||||
)
|
||||
:
|
||||
@ -252,9 +252,9 @@ void Foam::surfMesh::updateRefs()
|
||||
|
||||
void Foam::surfMesh::resetPrimitives
|
||||
(
|
||||
const Xfer< pointField >& points,
|
||||
const Xfer< faceList >& faces,
|
||||
const Xfer< surfZoneList >& zones,
|
||||
const Xfer<pointField>& points,
|
||||
const Xfer<faceList>& faces,
|
||||
const Xfer<surfZoneList>& zones,
|
||||
const bool validate
|
||||
)
|
||||
{
|
||||
@ -287,10 +287,9 @@ void Foam::surfMesh::transfer
|
||||
}
|
||||
|
||||
|
||||
Foam::Xfer< Foam::MeshedSurface<Foam::face> >
|
||||
Foam::surfMesh::xfer()
|
||||
Foam::Xfer<Foam::MeshedSurface<Foam::face> > Foam::surfMesh::xfer()
|
||||
{
|
||||
Xfer< MeshedSurface<face> > xf;
|
||||
Xfer<MeshedSurface<face> > xf;
|
||||
|
||||
xf().storedPoints().transfer(this->storedPoints());
|
||||
xf().storedFaces().transfer(this->storedFaces());
|
||||
|
||||
@ -172,7 +172,7 @@ public:
|
||||
surfMesh
|
||||
(
|
||||
const IOobject&,
|
||||
const Xfer< MeshedSurface<face> >& surf,
|
||||
const Xfer<MeshedSurface<face> >& surf,
|
||||
const word& surfName=""
|
||||
);
|
||||
|
||||
@ -250,9 +250,9 @@ public:
|
||||
//- Reset mesh primitive data.
|
||||
void resetPrimitives
|
||||
(
|
||||
const Xfer< pointField >& points,
|
||||
const Xfer< faceList >& faces,
|
||||
const Xfer< surfZoneList >& zones,
|
||||
const Xfer<pointField>& points,
|
||||
const Xfer<faceList>& faces,
|
||||
const Xfer<surfZoneList>& zones,
|
||||
const bool validate = true
|
||||
);
|
||||
|
||||
@ -273,7 +273,7 @@ public:
|
||||
// Storage management
|
||||
|
||||
//- Transfer contents to the Xfer container as a MeshedSurface
|
||||
Xfer< MeshedSurface<face> > xfer();
|
||||
Xfer<MeshedSurface<face> > xfer();
|
||||
|
||||
//- Clear geometry
|
||||
void clearGeom();
|
||||
|
||||
Reference in New Issue
Block a user