Code clean-up

This commit is contained in:
andy
2010-01-15 15:57:44 +00:00
parent e2eab734f8
commit cdb8880cb3
42 changed files with 506 additions and 487 deletions

View File

@ -109,7 +109,6 @@ struct HashTableCore
{ {
return iteratorEnd(); return iteratorEnd();
} }
}; };
@ -139,6 +138,7 @@ class HashTable
//- Construct from key, next pointer and object //- Construct from key, next pointer and object
inline hashedEntry(const Key&, hashedEntry* next, const T&); inline hashedEntry(const Key&, hashedEntry* next, const T&);
private: private:
//- Disallow default bitwise copy construct //- Disallow default bitwise copy construct
hashedEntry(const hashedEntry&); hashedEntry(const hashedEntry&);
@ -209,9 +209,8 @@ public:
HashTable(const Xfer<HashTable<T, Key, Hash> >&); HashTable(const Xfer<HashTable<T, Key, Hash> >&);
// Destructor //- Destructor
~HashTable();
~HashTable();
// Member Functions // Member Functions
@ -247,6 +246,7 @@ public:
//- Print information //- Print information
Ostream& printInfo(Ostream&) const; Ostream& printInfo(Ostream&) const;
// Edit // Edit
//- Insert a new hashedEntry //- Insert a new hashedEntry
@ -291,7 +291,7 @@ public:
void transfer(HashTable<T, Key, Hash>&); void transfer(HashTable<T, Key, Hash>&);
//- Transfer contents to the Xfer container //- Transfer contents to the Xfer container
inline Xfer< HashTable<T, Key, Hash> > xfer(); inline Xfer<HashTable<T, Key, Hash> > xfer();
// Member Operators // Member Operators
@ -356,9 +356,8 @@ public:
//- Current hash index //- Current hash index
label hashIndex_; label hashIndex_;
protected:
// Protected Member Functions protected:
// Constructors // Constructors
@ -380,6 +379,8 @@ public:
); );
// Protected Member Functions
//- Increment to the next position //- Increment to the next position
inline void increment(); inline void increment();
@ -392,6 +393,7 @@ public:
//- Return const access to referenced object //- Return const access to referenced object
inline const T& cobject() const; inline const T& cobject() const;
public: public:
// Member operators // Member operators
@ -434,6 +436,7 @@ public:
const label hashIndex const label hashIndex
); );
public: public:
// Constructors // Constructors
@ -444,13 +447,12 @@ public:
//- Construct end iterator //- Construct end iterator
inline iterator(const iteratorEnd& unused); inline iterator(const iteratorEnd& unused);
// Member operators // Member operators
//- Conversion to a const_iterator //- Conversion to a const_iterator
inline operator const_iterator() const; inline operator const_iterator() const;
// Access
//- Return referenced hash value //- Return referenced hash value
inline T& operator*(); inline T& operator*();
inline T& operator()(); inline T& operator()();
@ -492,6 +494,7 @@ public:
const label hashIndex const label hashIndex
); );
public: public:
// Constructors // Constructors
@ -502,9 +505,8 @@ public:
//- Construct end iterator //- Construct end iterator
inline const_iterator(const iteratorEnd& unused); inline const_iterator(const iteratorEnd& unused);
// Member operators
// Access // Member operators
//- Return referenced hash value //- Return referenced hash value
inline const T& operator*() const; inline const T& operator*() const;
@ -536,7 +538,6 @@ public:
Ostream&, Ostream&,
const HashTable<T, Key, Hash>& const HashTable<T, Key, Hash>&
); );
}; };

View File

@ -97,11 +97,10 @@ Foam::StaticHashTable<T, Key, Hash>::StaticHashTable
{} {}
template<class T, class Key, class Hash> template<class T, class Key, class Hash>
Foam::StaticHashTable<T, Key, Hash>::StaticHashTable Foam::StaticHashTable<T, Key, Hash>::StaticHashTable
( (
const Xfer< StaticHashTable<T, Key, Hash> >& ht const Xfer<StaticHashTable<T, Key, Hash> >& ht
) )
: :
StaticHashTableCore(), StaticHashTableCore(),
@ -452,7 +451,6 @@ void Foam::StaticHashTable<T, Key, Hash>::clearStorage()
} }
template<class T, class Key, class Hash> template<class T, class Key, class Hash>
void Foam::StaticHashTable<T, Key, Hash>::transfer void Foam::StaticHashTable<T, Key, Hash>::transfer
( (

View File

@ -72,10 +72,6 @@ template<class T, class Key, class Hash> Ostream& operator<<
); );
/*---------------------------------------------------------------------------*\
Class StaticHashTableName Declaration
\*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\
Class StaticHashTableCore Declaration Class StaticHashTableCore Declaration
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
@ -100,7 +96,6 @@ struct StaticHashTableCore
iteratorEnd() iteratorEnd()
{} {}
}; };
}; };
@ -135,6 +130,7 @@ class StaticHashTable
//- Assign a new hashed entry to a possibly already existing key //- Assign a new hashed entry to a possibly already existing key
bool set(const Key&, const T& newElmt, bool protect); bool set(const Key&, const T& newElmt, bool protect);
public: public:
@ -183,11 +179,11 @@ public:
StaticHashTable(const StaticHashTable<T, Key, Hash>&); StaticHashTable(const StaticHashTable<T, Key, Hash>&);
//- Construct by transferring the parameter contents //- 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 // Member Functions
@ -251,7 +247,7 @@ public:
void transfer(StaticHashTable<T, Key, Hash>&); void transfer(StaticHashTable<T, Key, Hash>&);
//- Transfer contents to the Xfer container //- Transfer contents to the Xfer container
inline Xfer< StaticHashTable<T, Key, Hash> > xfer(); inline Xfer<StaticHashTable<T, Key, Hash> > xfer();
// Member Operators // Member Operators
@ -275,6 +271,7 @@ public:
//- The opposite of the equality operation. //- The opposite of the equality operation.
bool operator!=(const StaticHashTable<T, Key, Hash>&) const; bool operator!=(const StaticHashTable<T, Key, Hash>&) const;
// STL type definitions // STL type definitions
//- Type of values the StaticHashTable contains. //- Type of values the StaticHashTable contains.
@ -317,6 +314,7 @@ public:
//- Index of current element at hashIndex //- Index of current element at hashIndex
label elemIndex_; label elemIndex_;
public: public:
// Constructors // Constructors

View File

@ -79,7 +79,7 @@ inline bool Foam::StaticHashTable<T, Key, Hash>::set
template<class T, class Key, class Hash> 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() Foam::StaticHashTable<T, Key, Hash>::xfer()
{ {
return xferMove(*this); return xferMove(*this);
@ -417,6 +417,4 @@ Foam::StaticHashTable<T, Key, Hash>::end() const
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// ************************************************************************* // // ************************************************************************* //

View File

@ -74,7 +74,7 @@ public:
( (
const UList<T>& posList, const UList<T>& posList,
const UList<T>& negList, const UList<T>& negList,
const Xfer< List<label> >& const Xfer<List<label> >&
); );
@ -102,7 +102,7 @@ public:
//- Reset addressing //- Reset addressing
inline void resetAddressing(const UList<label>&); inline void resetAddressing(const UList<label>&);
inline void resetAddressing(const Xfer< List<label> >&); inline void resetAddressing(const Xfer<List<label> >&);
// Member Operators // Member Operators

View File

@ -45,7 +45,7 @@ inline Foam::BiIndirectList<T>::BiIndirectList
( (
const UList<T>& posList, const UList<T>& posList,
const UList<T>& negList, const UList<T>& negList,
const Xfer< List<label> >& addr const Xfer<List<label> >& addr
) )
: :
posList_(const_cast<UList<T>&>(posList)), posList_(const_cast<UList<T>&>(posList)),
@ -105,7 +105,7 @@ inline void Foam::BiIndirectList<T>::resetAddressing
template<class T> template<class T>
inline void Foam::BiIndirectList<T>::resetAddressing inline void Foam::BiIndirectList<T>::resetAddressing
( (
const Xfer< List<label> >& addr const Xfer<List<label> >& addr
) )
{ {
addressing_.transfer(addr()); addressing_.transfer(addr());

View File

@ -84,7 +84,6 @@ class DynamicList
//- The capacity (allocated size) of the underlying list. //- The capacity (allocated size) of the underlying list.
label capacity_; label capacity_;
// Private Member Functions
public: public:
@ -93,6 +92,7 @@ public:
//- Declare friendship with the List class //- Declare friendship with the List class
friend class List<T>; friend class List<T>;
// Constructors // Constructors
//- Construct null //- Construct null
@ -115,7 +115,7 @@ public:
explicit inline DynamicList(const UIndirectList<T>&); explicit inline DynamicList(const UIndirectList<T>&);
//- Construct by transferring the parameter contents //- 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. //- Construct from Istream. Size set to size of read list.
explicit DynamicList(Istream&); explicit DynamicList(Istream&);
@ -125,103 +125,105 @@ public:
// Access // Access
//- Size of the underlying storage. //- Size of the underlying storage.
inline label capacity() const; inline label capacity() const;
// Edit // Edit
//- Alter the size of the underlying storage. //- Alter the size of the underlying storage.
// The addressed size will be truncated if needed to fit, but will // The addressed size will be truncated if needed to fit, but will
// remain otherwise untouched. // remain otherwise untouched.
// Use this or reserve() in combination with append(). // Use this or reserve() in combination with append().
inline void setCapacity(const label); inline void setCapacity(const label);
//- Alter the addressed list size. //- Alter the addressed list size.
// New space will be allocated if required. // New space will be allocated if required.
// Use this to resize the list prior to using the operator[] for // Use this to resize the list prior to using the operator[] for
// setting values (as per List usage). // setting values (as per List usage).
inline void setSize(const label); inline void setSize(const label);
//- Alter the addressed list size and fill new space with a constant. //- Alter the addressed list size and fill new space with a constant.
inline void setSize(const label, const T&); inline void setSize(const label, const T&);
//- Alter the addressed list size. //- Alter the addressed list size.
// New space will be allocated if required. // New space will be allocated if required.
// Use this to resize the list prior to using the operator[] for // Use this to resize the list prior to using the operator[] for
// setting values (as per List usage). // setting values (as per List usage).
inline void resize(const label); inline void resize(const label);
//- Alter the addressed list size and fill new space with a constant. //- Alter the addressed list size and fill new space with a constant.
inline void resize(const label, const T&); inline void resize(const label, const T&);
//- Reserve allocation space for at least this size. //- Reserve allocation space for at least this size.
// Never shrinks the allocated size, use setCapacity() for that. // Never shrinks the allocated size, use setCapacity() for that.
inline void reserve(const label); inline void reserve(const label);
//- Clear the addressed list, i.e. set the size to zero. //- Clear the addressed list, i.e. set the size to zero.
// Allocated size does not change // Allocated size does not change
inline void clear(); inline void clear();
//- Clear the list and delete storage. //- Clear the list and delete storage.
inline void clearStorage(); inline void clearStorage();
//- Shrink the allocated space to the number of elements used. //- Shrink the allocated space to the number of elements used.
// Returns a reference to the DynamicList. // Returns a reference to the DynamicList.
inline DynamicList<T, SizeInc, SizeMult, SizeDiv>& shrink(); inline DynamicList<T, SizeInc, SizeMult, SizeDiv>& shrink();
//- Transfer contents of the argument List into this DynamicList //- Transfer contents of the argument List into this DynamicList
inline void transfer(List<T>&); inline void transfer(List<T>&);
//- Transfer contents of the argument DynamicList into this DynamicList //- Transfer contents of the argument DynamicList into this DynamicList
inline void transfer(DynamicList<T, SizeInc, SizeMult, SizeDiv>&); inline void transfer(DynamicList<T, SizeInc, SizeMult, SizeDiv>&);
//- Transfer contents to the Xfer container as a plain List //- Transfer contents to the Xfer container as a plain List
inline Xfer< List<T> > xfer(); inline Xfer<List<T> > xfer();
// Member Operators
//- Append an element at the end of the list // Member Operators
inline void append(const T&);
//- Append a List at the end of this list //- Append an element at the end of the list
inline void append(const UList<T>&); inline void append(const T&);
//- Append a UIndirectList at the end of this list //- Append a List at the end of this list
inline void append(const UIndirectList<T>&); inline void append(const UList<T>&);
//- Remove and return the top element //- Append a UIndirectList at the end of this list
inline T remove(); inline void append(const UIndirectList<T>&);
//- Return non-const access to an element, resizing list if necessary //- Remove and return the top element
inline T& operator()(const label); inline T remove();
//- Assignment of all addressed entries to the given value //- Return non-const access to an element, resizing list if necessary
inline void operator=(const T&); inline T& operator()(const label);
//- Assignment from DynamicList //- Assignment of all addressed entries to the given value
inline void operator= inline void operator=(const T&);
(
const DynamicList<T, SizeInc, SizeMult, SizeDiv>&
);
//- Assignment from UList //- Assignment from DynamicList
inline void operator=(const UList<T>&); 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. // IOstream operators
friend Istream& operator>> <T, SizeInc, SizeMult, SizeDiv>
( // Write DynamicList to Ostream.
Istream&, friend Ostream& operator<< <T, SizeInc, SizeMult, SizeDiv>
DynamicList<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>&
);
}; };

View File

@ -298,7 +298,7 @@ Foam::DynamicList<T, SizeInc, SizeMult, SizeDiv>::transfer
template<class T, unsigned SizeInc, unsigned SizeMult, unsigned SizeDiv> 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() Foam::DynamicList<T, SizeInc, SizeMult, SizeDiv>::xfer()
{ {
return xferMoveTo< List<T> >(*this); return xferMoveTo< List<T> >(*this);

View File

@ -64,7 +64,8 @@ public:
inline IndirectList(const UList<T>&, const UList<label>&); inline IndirectList(const UList<T>&, const UList<label>&);
//- Construct given the complete list and by transferring addressing //- 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 // Member Functions
@ -94,11 +95,12 @@ public:
//- Return the list addressing //- Return the list addressing
inline const List<label>& addressing() const; inline const List<label>& addressing() const;
// Edit // Edit
//- Reset addressing //- Reset addressing
inline void resetAddressing(const UList<label>&); inline void resetAddressing(const UList<label>&);
inline void resetAddressing(const Xfer< List<label> >&); inline void resetAddressing(const Xfer<List<label> >&);
// Member Operators // Member Operators

View File

@ -42,7 +42,7 @@ template<class T>
inline Foam::IndirectList<T>::IndirectList inline Foam::IndirectList<T>::IndirectList
( (
const UList<T>& completeList, const UList<T>& completeList,
const Xfer< List<label> >& addr const Xfer<List<label> >& addr
) )
: :
completeList_(const_cast<UList<T>&>(completeList)), completeList_(const_cast<UList<T>&>(completeList)),
@ -121,7 +121,7 @@ inline void Foam::IndirectList<T>::resetAddressing
template<class T> template<class T>
inline void Foam::IndirectList<T>::resetAddressing inline void Foam::IndirectList<T>::resetAddressing
( (
const Xfer< List<label> >& addr const Xfer<List<label> >& addr
) )
{ {
addressing_.transfer(addr()); addressing_.transfer(addr());

View File

@ -114,7 +114,7 @@ Foam::List<T>::List(const List<T>& a)
// Construct by transferring the parameter contents // Construct by transferring the parameter contents
template<class T> template<class T>
Foam::List<T>::List(const Xfer< List<T> >& lst) Foam::List<T>::List(const Xfer<List<T> >& lst)
{ {
transfer(lst()); transfer(lst());
} }

View File

@ -87,6 +87,7 @@ protected:
// Use with care. // Use with care.
inline void size(const label); inline void size(const label);
public: public:
// Static Member Functions // Static Member Functions
@ -109,7 +110,7 @@ public:
List(const List<T>&); List(const List<T>&);
//- Construct by transferring the parameter contents //- Construct by transferring the parameter contents
List(const Xfer< List<T> >&); List(const Xfer<List<T> >&);
//- Construct as copy or re-use as specified. //- Construct as copy or re-use as specified.
List(List<T>&, bool reUse); List(List<T>&, bool reUse);
@ -147,9 +148,8 @@ public:
inline autoPtr<List<T> > clone() const; inline autoPtr<List<T> > clone() const;
// Destructor //- Destructor
~List();
~List();
// Related types // Related types
@ -201,7 +201,7 @@ public:
void transfer(SortableList<T>&); void transfer(SortableList<T>&);
//- Transfer contents to the Xfer container //- Transfer contents to the Xfer container
inline Xfer< List<T> > xfer(); inline Xfer<List<T> > xfer();
//- Return subscript-checked element of UList. //- Return subscript-checked element of UList.
inline T& newElmt(const label); inline T& newElmt(const label);

View File

@ -88,7 +88,7 @@ inline Foam::label Foam::List<T>::size() const
template<class T> 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); return xferMove(*this);
} }

View File

@ -132,6 +132,7 @@ class PackedList
//- Calculate the list length when packed //- Calculate the list length when packed
inline static label packedLength(const label); inline static label packedLength(const label);
public: public:
// Public data // Public data
@ -150,12 +151,14 @@ public:
//- Masking for all bits below the offset //- Masking for all bits below the offset
inline static unsigned int maskLower(unsigned offset); inline static unsigned int maskLower(unsigned offset);
// Forward declaration of iterators // Forward declaration of iterators
class iteratorBase; class iteratorBase;
class iterator; class iterator;
class const_iterator; class const_iterator;
// Constructors // Constructors
//- Null constructor //- Null constructor
@ -171,7 +174,7 @@ public:
inline PackedList(const PackedList<nBits>&); inline PackedList(const PackedList<nBits>&);
//- Construct by transferring the parameter contents //- Construct by transferring the parameter contents
inline PackedList(const Xfer< PackedList<nBits> >&); inline PackedList(const Xfer<PackedList<nBits> >&);
//- Construct from a list of labels //- Construct from a list of labels
explicit PackedList(const UList<label>&); explicit PackedList(const UList<label>&);
@ -179,123 +182,126 @@ public:
//- Clone //- Clone
inline autoPtr< PackedList<nBits> > clone() const; inline autoPtr< PackedList<nBits> > clone() const;
// Member Functions // Member Functions
// Access // Access
//- The number of elements that can be stored before reallocating //- The number of elements that can be stored before reallocating
inline label capacity() const; inline label capacity() const;
//- Number of entries. //- Number of entries.
inline label size() const; inline label size() const;
//- Return true if the list is empty (ie, size() is zero). //- Return true if the list is empty (ie, size() is zero).
inline bool empty() const; inline bool empty() const;
//- Get value at index I. //- Get value at index I.
// Never auto-vivify entries. // Never auto-vivify entries.
inline unsigned int get(const label) const; inline unsigned int get(const label) const;
//- Set value at index I. Return true if value changed. //- Set value at index I. Return true if value changed.
// Does auto-vivify for non-existent entries. // Does auto-vivify for non-existent entries.
// Default value set is the max_value. // Default value set is the max_value.
inline bool set(const label, const unsigned int val = ~0u); inline bool set(const label, const unsigned int val = ~0u);
//- Unset the entry at index I. Return true if value changed. //- Unset the entry at index I. Return true if value changed.
// Never auto-vivify entries. // Never auto-vivify entries.
inline bool unset(const label); inline bool unset(const label);
//- Return the underlying packed storage //- Return the underlying packed storage
inline List<unsigned int>& storage(); inline List<unsigned int>& storage();
//- Return the underlying packed storage //- Return the underlying packed storage
inline const List<unsigned int>& storage() const; inline const List<unsigned int>& storage() const;
//- Count number of bits set, O(log(n)) //- Count number of bits set, O(log(n))
// Uses the Hamming weight (population count) method // Uses the Hamming weight (population count) method
// http://en.wikipedia.org/wiki/Hamming_weight // http://en.wikipedia.org/wiki/Hamming_weight
unsigned int count() const; unsigned int count() const;
//- Return the values as a labelList //- Return the values as a labelList
labelList values() const; labelList values() const;
//- Print values and information //- Print values and information
Ostream& print(Ostream&) const; Ostream& print(Ostream&) const;
// Edit // Edit
//- Trim any trailing zero elements //- Trim any trailing zero elements
bool trim(); bool trim();
//- Invert the bits in the addressable region. //- Invert the bits in the addressable region.
void flip(); void flip();
//- Alter the size of the underlying storage. //- Alter the size of the underlying storage.
// The addressed size will be truncated if needed to fit, but will // The addressed size will be truncated if needed to fit, but will
// remain otherwise untouched. // remain otherwise untouched.
inline void setCapacity(const label); inline void setCapacity(const label);
//- Reset addressable list size, does not shrink the allocated size. //- Reset addressable list size, does not shrink the allocated size.
// Optionally specify a value for new elements. // Optionally specify a value for new elements.
inline void resize(const label, const unsigned int& val = 0); inline void resize(const label, const unsigned int& val = 0);
//- Alias for resize() //- Alias for resize()
inline void setSize(const label, const unsigned int& val = 0); inline void setSize(const label, const unsigned int& val = 0);
//- Reserve allocation space for at least this size. //- Reserve allocation space for at least this size.
// Never shrinks the allocated size. // Never shrinks the allocated size.
// The list size is adjusted as per DynamicList with // The list size is adjusted as per DynamicList with
// SizeInc=0, SizeMult=2, SizeDiv=1 // SizeInc=0, SizeMult=2, SizeDiv=1
inline void reserve(const label); inline void reserve(const label);
//- Clear the list, i.e. set addressable size to zero. //- Clear the list, i.e. set addressable size to zero.
// Does not adjust the underlying storage // Does not adjust the underlying storage
inline void clear(); inline void clear();
//- Clear the list and delete storage. //- Clear the list and delete storage.
inline void clearStorage(); inline void clearStorage();
//- Shrink the allocated space to what is actually used. //- Shrink the allocated space to what is actually used.
inline void shrink(); inline void shrink();
//- Transfer the contents of the argument list into this list //- Transfer the contents of the argument list into this list
// and annul the argument list. // and annul the argument list.
inline void transfer(PackedList<nBits>&); inline void transfer(PackedList<nBits>&);
//- Transfer contents to the Xfer container //- Transfer contents to the Xfer container
inline Xfer< PackedList<nBits> > xfer(); inline Xfer<PackedList<nBits> > xfer();
// Member operators // Member operators
//- Append a value at the end of the list //- Append a value at the end of the list
inline void append(const unsigned int val); inline void append(const unsigned int val);
//- Remove and return the last element //- Remove and return the last element
inline unsigned int remove(); inline unsigned int remove();
//- Get value at index I //- Get value at index I
// Never auto-vivify entries. // Never auto-vivify entries.
inline unsigned int operator[](const label) const; inline unsigned int operator[](const label) const;
//- Set value at index I. //- Set value at index I.
// Returns iterator to perform the actual operation. // Returns iterator to perform the actual operation.
// Does not auto-vivify entries, but will when assigned to. // Does not auto-vivify entries, but will when assigned to.
inline iteratorBase operator[](const label); inline iteratorBase operator[](const label);
//- Assignment of all entries to the given value. Takes linear time. //- Assignment of all entries to the given value. Takes linear time.
inline void operator=(const unsigned int val); inline void operator=(const unsigned int val);
//- Assignment operator. Takes linear time. //- Assignment operator. Takes linear time.
void operator=(const PackedList<nBits>&); void operator=(const PackedList<nBits>&);
//- Assignment operator. Takes linear time. //- Assignment operator. Takes linear time.
void operator=(const UList<label>&); void operator=(const UList<label>&);
// Ostream operator
// // Write PackedList to Ostream. // Ostream operator
// friend Ostream& operator<< <nBits> (Ostream&, const PackedList<nBits>&);
// // Write PackedList to Ostream.
// friend Ostream& operator<< <nBits> (Ostream&, const PackedList<nBits>&);
// Iterators and helpers // Iterators and helpers
@ -317,6 +323,7 @@ public:
//- Element index //- Element index
label index_; label index_;
// Protected Member Functions // Protected Member Functions
//- Get value as unsigned, no range-checking //- Get value as unsigned, no range-checking
@ -325,6 +332,7 @@ public:
//- Set value, returning true if changed, no range-checking //- Set value, returning true if changed, no range-checking
inline bool set(unsigned int); inline bool set(unsigned int);
// Constructors // Constructors
//- Construct null //- Construct null
@ -333,6 +341,7 @@ public:
//- Construct from base list and position index //- Construct from base list and position index
inline iteratorBase(const PackedList*, const label); inline iteratorBase(const PackedList*, const label);
public: public:
// Member Operators // Member Operators
@ -370,6 +379,7 @@ public:
//- Disallow assignment from const_iterator - violates const-ness! //- Disallow assignment from const_iterator - violates const-ness!
void operator=(const const_iterator&); void operator=(const const_iterator&);
public: public:
// Constructors // Constructors
@ -385,6 +395,7 @@ public:
//- Construct from base list and position index //- Construct from base list and position index
inline iterator(const PackedList*, const label); inline iterator(const PackedList*, const label);
// Member Operators // Member Operators
//- Compare positions (not values) //- Compare positions (not values)
@ -445,6 +456,7 @@ public:
//- Construct from iterator //- Construct from iterator
inline const_iterator(const iterator&); inline const_iterator(const iterator&);
// Member operators // Member operators
//- Compare positions (not values) //- Compare positions (not values)
@ -466,7 +478,6 @@ public:
inline const_iterator& operator--(); inline const_iterator& operator--();
inline const_iterator operator--(int); inline const_iterator operator--(int);
}; };

View File

@ -334,7 +334,6 @@ inline bool Foam::PackedList<nBits>::iterator::operator!=
} }
template<unsigned nBits> template<unsigned nBits>
inline bool Foam::PackedList<nBits>::const_iterator::operator== inline bool Foam::PackedList<nBits>::const_iterator::operator==
( (
@ -355,7 +354,6 @@ inline bool Foam::PackedList<nBits>::const_iterator::operator!=
} }
template<unsigned nBits> template<unsigned nBits>
inline typename Foam::PackedList<nBits>::iterator& inline typename Foam::PackedList<nBits>::iterator&
Foam::PackedList<nBits>::iterator::operator=(const iteratorBase& iter) Foam::PackedList<nBits>::iterator::operator=(const iteratorBase& iter)
@ -712,16 +710,14 @@ inline void Foam::PackedList<nBits>::shrink()
} }
template<unsigned nBits> template<unsigned nBits>
inline Foam::List<unsigned int>& inline Foam::List<unsigned int>& Foam::PackedList<nBits>::storage()
Foam::PackedList<nBits>::storage()
{ {
return static_cast<StorageList&>(*this); return static_cast<StorageList&>(*this);
} }
template<unsigned nBits> template<unsigned nBits>
inline const Foam::List<unsigned int>& inline const Foam::List<unsigned int>& Foam::PackedList<nBits>::storage() const
Foam::PackedList<nBits>::storage() const
{ {
return static_cast<const StorageList&>(*this); return static_cast<const StorageList&>(*this);
} }
@ -738,8 +734,7 @@ inline void Foam::PackedList<nBits>::transfer(PackedList<nBits>& lst)
template<unsigned nBits> template<unsigned nBits>
inline Foam::Xfer< Foam::PackedList<nBits> > inline Foam::Xfer<Foam::PackedList<nBits> > Foam::PackedList<nBits>::xfer()
Foam::PackedList<nBits>::xfer()
{ {
return xferMove(*this); return xferMove(*this);
} }

View File

@ -130,7 +130,7 @@ public:
PtrList(const PtrList<T>&, const CloneArg&); PtrList(const PtrList<T>&, const CloneArg&);
//- Construct by transferring the parameter contents //- Construct by transferring the parameter contents
PtrList(const Xfer< PtrList<T> >&); PtrList(const Xfer<PtrList<T> >&);
//- Construct as copy or re-use as specified. //- Construct as copy or re-use as specified.
PtrList(PtrList<T>&, bool reUse); PtrList(PtrList<T>&, bool reUse);
@ -146,9 +146,8 @@ public:
PtrList(Istream&); PtrList(Istream&);
// Destructor //- Destructor
~PtrList();
~PtrList();
// Member functions // Member functions
@ -196,7 +195,7 @@ public:
void transfer(PtrList<T>&); void transfer(PtrList<T>&);
//- Transfer contents to the Xfer container //- Transfer contents to the Xfer container
inline Xfer< PtrList<T> > xfer(); inline Xfer<PtrList<T> > xfer();
//- Is element set //- Is element set
inline bool set(const label) const; inline bool set(const label) const;

View File

@ -170,30 +170,35 @@ inline Foam::PtrList<T>::iterator::iterator(T** ptr)
ptr_(ptr) ptr_(ptr)
{} {}
template<class T> template<class T>
inline bool Foam::PtrList<T>::iterator::operator==(const iterator& iter) const inline bool Foam::PtrList<T>::iterator::operator==(const iterator& iter) const
{ {
return ptr_ == iter.ptr_; return ptr_ == iter.ptr_;
} }
template<class T> template<class T>
inline bool Foam::PtrList<T>::iterator::operator!=(const iterator& iter) const inline bool Foam::PtrList<T>::iterator::operator!=(const iterator& iter) const
{ {
return ptr_ != iter.ptr_; return ptr_ != iter.ptr_;
} }
template<class T> template<class T>
inline T& Foam::PtrList<T>::iterator::operator*() inline T& Foam::PtrList<T>::iterator::operator*()
{ {
return **ptr_; return **ptr_;
} }
template<class T> template<class T>
inline T& Foam::PtrList<T>::iterator::operator()() inline T& Foam::PtrList<T>::iterator::operator()()
{ {
return operator*(); return operator*();
} }
template<class T> template<class T>
inline typename Foam::PtrList<T>::iterator inline typename Foam::PtrList<T>::iterator
Foam::PtrList<T>::iterator::operator++() Foam::PtrList<T>::iterator::operator++()
@ -202,6 +207,7 @@ Foam::PtrList<T>::iterator::operator++()
return *this; return *this;
} }
template<class T> template<class T>
inline typename Foam::PtrList<T>::iterator inline typename Foam::PtrList<T>::iterator
Foam::PtrList<T>::iterator::operator++(int) Foam::PtrList<T>::iterator::operator++(int)
@ -211,6 +217,7 @@ Foam::PtrList<T>::iterator::operator++(int)
return tmp; return tmp;
} }
template<class T> template<class T>
inline typename Foam::PtrList<T>::iterator inline typename Foam::PtrList<T>::iterator
Foam::PtrList<T>::iterator::operator--() Foam::PtrList<T>::iterator::operator--()
@ -219,6 +226,7 @@ Foam::PtrList<T>::iterator::operator--()
return *this; return *this;
} }
template<class T> template<class T>
inline typename Foam::PtrList<T>::iterator inline typename Foam::PtrList<T>::iterator
Foam::PtrList<T>::iterator::operator--(int) Foam::PtrList<T>::iterator::operator--(int)
@ -228,6 +236,7 @@ Foam::PtrList<T>::iterator::operator--(int)
return tmp; return tmp;
} }
template<class T> template<class T>
inline typename Foam::PtrList<T>::iterator inline typename Foam::PtrList<T>::iterator
Foam::PtrList<T>::iterator::operator+=(label n) Foam::PtrList<T>::iterator::operator+=(label n)
@ -236,6 +245,7 @@ Foam::PtrList<T>::iterator::operator+=(label n)
return *this; return *this;
} }
template<class T> template<class T>
inline typename Foam::PtrList<T>::iterator inline typename Foam::PtrList<T>::iterator
Foam::operator+(const typename PtrList<T>::iterator& iter, label n) 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; return tmp += n;
} }
template<class T> template<class T>
inline typename Foam::PtrList<T>::iterator inline typename Foam::PtrList<T>::iterator
Foam::operator+(label n, const typename PtrList<T>::iterator& iter) 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; return tmp += n;
} }
template<class T> template<class T>
inline typename Foam::PtrList<T>::iterator inline typename Foam::PtrList<T>::iterator
Foam::PtrList<T>::iterator::operator-=(label n) Foam::PtrList<T>::iterator::operator-=(label n)
@ -260,6 +272,7 @@ Foam::PtrList<T>::iterator::operator-=(label n)
return *this; return *this;
} }
template<class T> template<class T>
inline typename Foam::PtrList<T>::iterator inline typename Foam::PtrList<T>::iterator
Foam::operator-(const typename PtrList<T>::iterator& iter, label n) 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; return tmp -= n;
} }
template<class T> template<class T>
inline Foam::label Foam::operator- inline Foam::label Foam::operator-
( (
@ -278,46 +292,51 @@ inline Foam::label Foam::operator-
return (iter1.ptr_ - iter2.ptr_)/sizeof(T*); return (iter1.ptr_ - iter2.ptr_)/sizeof(T*);
} }
template<class T> template<class T>
inline T& Foam::PtrList<T>::iterator::operator[](label n) inline T& Foam::PtrList<T>::iterator::operator[](label n)
{ {
return *(*this + n); return *(*this + n);
} }
template<class T> template<class T>
inline bool Foam::PtrList<T>::iterator::operator<(const iterator& iter) const inline bool Foam::PtrList<T>::iterator::operator<(const iterator& iter) const
{ {
return ptr_ < iter.ptr_; return ptr_ < iter.ptr_;
} }
template<class T> template<class T>
inline bool Foam::PtrList<T>::iterator::operator>(const iterator& iter) const inline bool Foam::PtrList<T>::iterator::operator>(const iterator& iter) const
{ {
return ptr_ > iter.ptr_; return ptr_ > iter.ptr_;
} }
template<class T> template<class T>
inline bool Foam::PtrList<T>::iterator::operator<=(const iterator& iter) const inline bool Foam::PtrList<T>::iterator::operator<=(const iterator& iter) const
{ {
return ptr_ <= iter.ptr_; return ptr_ <= iter.ptr_;
} }
template<class T> template<class T>
inline bool Foam::PtrList<T>::iterator::operator>=(const iterator& iter) const inline bool Foam::PtrList<T>::iterator::operator>=(const iterator& iter) const
{ {
return ptr_ >= iter.ptr_; return ptr_ >= iter.ptr_;
} }
template<class T> template<class T>
inline typename Foam::PtrList<T>::iterator inline typename Foam::PtrList<T>::iterator Foam::PtrList<T>::begin()
Foam::PtrList<T>::begin()
{ {
return ptrs_.begin(); return ptrs_.begin();
} }
template<class T> template<class T>
inline typename Foam::PtrList<T>::iterator inline typename Foam::PtrList<T>::iterator Foam::PtrList<T>::end()
Foam::PtrList<T>::end()
{ {
return ptrs_.end(); return ptrs_.end();
} }

View File

@ -111,7 +111,7 @@ public:
explicit UPtrList(const label); explicit UPtrList(const label);
//- Construct by transferring the parameter contents //- Construct by transferring the parameter contents
UPtrList(const Xfer< UPtrList<T> >&); UPtrList(const Xfer<UPtrList<T> >&);
//- Construct as copy or re-use as specified. //- Construct as copy or re-use as specified.
UPtrList(UPtrList<T>&, bool reUse); UPtrList(UPtrList<T>&, bool reUse);
@ -160,7 +160,7 @@ public:
void transfer(UPtrList<T>&); void transfer(UPtrList<T>&);
//- Transfer contents to the Xfer container //- Transfer contents to the Xfer container
inline Xfer< UPtrList<T> > xfer(); inline Xfer<UPtrList<T> > xfer();
//- Is element set //- Is element set
inline bool set(const label) const; inline bool set(const label) const;

View File

@ -89,7 +89,7 @@ public:
ITstream ITstream
( (
const string& name, const string& name,
const Xfer< List<token> >& tokens, const Xfer<List<token> >& tokens,
streamFormat format=ASCII, streamFormat format=ASCII,
versionNumber version=currentVersion versionNumber version=currentVersion
) )

View File

@ -107,7 +107,7 @@ Foam::primitiveEntry::primitiveEntry
Foam::primitiveEntry::primitiveEntry Foam::primitiveEntry::primitiveEntry
( (
const keyType& key, const keyType& key,
const Xfer< List<token> >& tokens const Xfer<List<token> >& tokens
) )
: :
entry(key), entry(key),

View File

@ -114,7 +114,7 @@ public:
primitiveEntry(const keyType&, const UList<token>&); primitiveEntry(const keyType&, const UList<token>&);
//- Construct from keyword and by transferring a list of tokens //- 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 //- Construct from keyword and a T
template<class T> template<class T>

View File

@ -45,7 +45,7 @@ SourceFiles
namespace Foam namespace Foam
{ {
// Forward declaration of friend functions and operators // Forward declaration of classes
class IFstream; class IFstream;
class Time; class Time;
@ -61,10 +61,13 @@ class edgeFormatsCore
{ {
protected: protected:
// Protected Member Functions
//- Read non-comment line //- Read non-comment line
static string getLineNoComment(IFstream&); static string getLineNoComment(IFstream&);
public: public:
// Static Data // Static Data
//- The file extension corresponding to 'native' edge format //- The file extension corresponding to 'native' edge format

View File

@ -29,7 +29,6 @@ License
#include "IFstream.H" #include "IFstream.H"
#include "clock.H" #include "clock.H"
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::fileFormats::EMESHedgeFormat::EMESHedgeFormat Foam::fileFormats::EMESHedgeFormat::EMESHedgeFormat
@ -119,8 +118,7 @@ bool Foam::fileFormats::EMESHedgeFormat::read
} }
Foam::Ostream& Foam::Ostream& Foam::fileFormats::EMESHedgeFormat::write
Foam::fileFormats::EMESHedgeFormat::write
( (
Ostream& os, Ostream& os,
const pointField& pointLst, const pointField& pointLst,

View File

@ -79,6 +79,7 @@ protected:
const edgeList& const edgeList&
); );
public: public:
// Constructors // Constructors

View File

@ -64,7 +64,7 @@ bool Foam::fileFormats::OBJedgeFormat::read
} }
DynamicList<point> dynPoints; DynamicList<point> dynPoints;
DynamicList<edge> dynEdges; DynamicList<edge> dynEdges;
DynamicList<label> dynUsedPoints; DynamicList<label> dynUsedPoints;
while (is.good()) while (is.good())
@ -195,7 +195,7 @@ void Foam::fileFormats::OBJedgeFormat::write
) )
{ {
const pointField& pointLst = mesh.points(); const pointField& pointLst = mesh.points();
const edgeList& edgeLst = mesh.edges(); const edgeList& edgeLst = mesh.edges();
OFstream os(filename); OFstream os(filename);
if (!os.good()) if (!os.good())

View File

@ -160,7 +160,6 @@ bool Foam::fileFormats::STARCDedgeFormat::readPoints
} }
void Foam::fileFormats::STARCDedgeFormat::writePoints void Foam::fileFormats::STARCDedgeFormat::writePoints
( (
Ostream& os, Ostream& os,
@ -177,8 +176,7 @@ void Foam::fileFormats::STARCDedgeFormat::writePoints
forAll(pointLst, ptI) forAll(pointLst, ptI)
{ {
os os << ptI + 1 << " "
<< ptI + 1 << " "
<< pointLst[ptI].x() << " " << pointLst[ptI].x() << " "
<< pointLst[ptI].y() << " " << pointLst[ptI].y() << " "
<< pointLst[ptI].z() << nl; << pointLst[ptI].z() << nl;
@ -367,7 +365,7 @@ void Foam::fileFormats::STARCDedgeFormat::write
) )
{ {
const pointField& pointLst = mesh.points(); const pointField& pointLst = mesh.points();
const edgeList& edgeLst = mesh.edges(); const edgeList& edgeLst = mesh.edges();
fileName baseName = filename.lessExt(); fileName baseName = filename.lessExt();

View File

@ -90,20 +90,21 @@ protected:
// Protected Member Functions // 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: public:

View File

@ -60,8 +60,7 @@ void Foam::fileFormats::VTKedgeFormat::writeEdges
const UList<edge>& edgeLst const UList<edge>& edgeLst
) )
{ {
os << "LINES " << edgeLst.size() << ' ' os << "LINES " << edgeLst.size() << ' ' << 3*edgeLst.size() << nl;
<< 3*edgeLst.size() << nl;
forAll(edgeLst, edgeI) forAll(edgeLst, edgeI)
{ {
@ -72,8 +71,6 @@ void Foam::fileFormats::VTKedgeFormat::writeEdges
} }
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::fileFormats::VTKedgeFormat::VTKedgeFormat() Foam::fileFormats::VTKedgeFormat::VTKedgeFormat()
@ -104,4 +101,5 @@ void Foam::fileFormats::VTKedgeFormat::write
writeEdges(os, eMesh.edges()); writeEdges(os, eMesh.edges());
} }
// ************************************************************************* // // ************************************************************************* //

View File

@ -76,6 +76,7 @@ protected:
//- Write edges //- Write edges
static void writeEdges(Ostream&, const UList<edge>&); static void writeEdges(Ostream&, const UList<edge>&);
public: public:
// Constructors // Constructors

View File

@ -38,11 +38,13 @@ namespace Foam
defineMemberFunctionSelectionTable(edgeMesh,write,fileExtension); defineMemberFunctionSelectionTable(edgeMesh,write,fileExtension);
} }
Foam::wordHashSet Foam::edgeMesh::readTypes() Foam::wordHashSet Foam::edgeMesh::readTypes()
{ {
return wordHashSet(*fileExtensionConstructorTablePtr_); return wordHashSet(*fileExtensionConstructorTablePtr_);
} }
Foam::wordHashSet Foam::edgeMesh::writeTypes() Foam::wordHashSet Foam::edgeMesh::writeTypes()
{ {
return wordHashSet(*writefileExtensionMemberFunctionTablePtr_); return wordHashSet(*writefileExtensionMemberFunctionTablePtr_);
@ -66,6 +68,7 @@ bool Foam::edgeMesh::canReadType
); );
} }
bool Foam::edgeMesh::canWriteType bool Foam::edgeMesh::canWriteType
( (
const word& ext, const word& ext,
@ -197,8 +200,8 @@ void Foam::edgeMesh::clear()
void Foam::edgeMesh::reset void Foam::edgeMesh::reset
( (
const Xfer< pointField >& pointLst, const Xfer<pointField>& pointLst,
const Xfer< edgeList >& edgeLst const Xfer<edgeList>& edgeLst
) )
{ {
// Take over new primitive data. // Take over new primitive data.
@ -215,7 +218,6 @@ void Foam::edgeMesh::reset
// connectivity likely changed // connectivity likely changed
pointEdgesPtr_.clear(); pointEdgesPtr_.clear();
} }
} }
@ -227,8 +229,7 @@ void Foam::edgeMesh::transfer(edgeMesh& mesh)
} }
Foam::Xfer< Foam::edgeMesh > Foam::Xfer<Foam::edgeMesh> Foam::edgeMesh::xfer()
Foam::edgeMesh::xfer()
{ {
return xferMove(*this); return xferMove(*this);
} }

View File

@ -101,6 +101,7 @@ public:
//- Runtime type information //- Runtime type information
TypeName("edgeMesh"); TypeName("edgeMesh");
// Static // Static
//- Can we read this file format? //- Can we read this file format?
@ -115,6 +116,7 @@ public:
static wordHashSet readTypes(); static wordHashSet readTypes();
static wordHashSet writeTypes(); static wordHashSet writeTypes();
// Constructors // Constructors
//- Construct null //- Construct null
@ -126,8 +128,8 @@ public:
//- Construct by transferring components (points, edges). //- Construct by transferring components (points, edges).
edgeMesh edgeMesh
( (
const Xfer< pointField >&, const Xfer<pointField>&,
const Xfer< edgeList >& const Xfer<edgeList>&
); );
//- Construct as copy //- Construct as copy
@ -142,6 +144,7 @@ public:
//- Construct from Istream //- Construct from Istream
edgeMesh(Istream&); edgeMesh(Istream&);
// Declare run-time constructor selection table // Declare run-time constructor selection table
declareRunTimeSelectionTable declareRunTimeSelectionTable
@ -155,6 +158,7 @@ public:
(name) (name)
); );
// Selectors // Selectors
//- Select constructed from filename (explicit extension) //- Select constructed from filename (explicit extension)
@ -197,7 +201,7 @@ public:
void transfer(edgeMesh&); void transfer(edgeMesh&);
//- Transfer contents to the Xfer container //- Transfer contents to the Xfer container
Xfer< edgeMesh > xfer(); Xfer<edgeMesh > xfer();
// Read // Read
@ -233,8 +237,8 @@ public:
// Note, optimized to avoid overwriting data (with Xfer::null) // Note, optimized to avoid overwriting data (with Xfer::null)
virtual void reset virtual void reset
( (
const Xfer< pointField >& points, const Xfer<pointField>& points,
const Xfer< edgeList >& edges const Xfer<edgeList>& edges
); );
//- Scale points. A non-positive factor is ignored //- Scale points. A non-positive factor is ignored
@ -248,8 +252,6 @@ public:
void writeStats(Ostream&) const; void writeStats(Ostream&) const;
// Write
//- Generic write routine. Chooses writer based on extension. //- Generic write routine. Chooses writer based on extension.
virtual void write(const fileName& name) const virtual void write(const fileName& name) const
{ {
@ -261,10 +263,10 @@ public:
inline void operator=(const edgeMesh&); inline void operator=(const edgeMesh&);
// Ostream Operator // Ostream Operator
friend Ostream& operator<<(Ostream&, const edgeMesh&); friend Ostream& operator<<(Ostream&, const edgeMesh&);
friend Istream& operator>>(Istream&, edgeMesh&); friend Istream& operator>>(Istream&, edgeMesh&);
}; };

View File

@ -28,7 +28,6 @@ License
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam::autoPtr< Foam::edgeMesh > Foam::autoPtr< Foam::edgeMesh >
Foam::edgeMesh::New(const fileName& name, const word& ext) Foam::edgeMesh::New(const fileName& name, const word& ext)
{ {
@ -62,4 +61,5 @@ Foam::edgeMesh::New(const fileName& name)
return New(name, ext); return New(name, ext);
} }
// ************************************************************************* // // ************************************************************************* //

View File

@ -73,8 +73,8 @@ Foam::featureEdgeMesh::featureEdgeMesh
Foam::featureEdgeMesh::featureEdgeMesh Foam::featureEdgeMesh::featureEdgeMesh
( (
const IOobject& io, const IOobject& io,
const Xfer< pointField >& pointLst, const Xfer<pointField>& pointLst,
const Xfer< edgeList >& edgeLst const Xfer<edgeList>& edgeLst
) )
: :
regIOobject(io), regIOobject(io),

View File

@ -171,9 +171,9 @@ Foam::MeshedSurface<Face>::MeshedSurface()
template<class Face> template<class Face>
Foam::MeshedSurface<Face>::MeshedSurface Foam::MeshedSurface<Face>::MeshedSurface
( (
const Xfer< pointField >& pointLst, const Xfer<pointField>& pointLst,
const Xfer< List<Face> >& faceLst, const Xfer<List<Face> >& faceLst,
const Xfer< surfZoneList >& zoneLst const Xfer<surfZoneList>& zoneLst
) )
: :
ParentType(List<Face>(), pointField()), ParentType(List<Face>(), pointField()),
@ -186,8 +186,8 @@ Foam::MeshedSurface<Face>::MeshedSurface
template<class Face> template<class Face>
Foam::MeshedSurface<Face>::MeshedSurface Foam::MeshedSurface<Face>::MeshedSurface
( (
const Xfer< pointField >& pointLst, const Xfer<pointField>& pointLst,
const Xfer< List<Face> >& faceLst, const Xfer<List<Face> >& faceLst,
const UList<label>& zoneSizes, const UList<label>& zoneSizes,
const UList<word>& zoneNames const UList<word>& zoneNames
) )
@ -397,7 +397,7 @@ Foam::MeshedSurface<Face>::MeshedSurface
template<class Face> template<class Face>
Foam::MeshedSurface<Face>::MeshedSurface Foam::MeshedSurface<Face>::MeshedSurface
( (
const Xfer< UnsortedMeshedSurface<Face> >& surf const Xfer<UnsortedMeshedSurface<Face> >& surf
) )
: :
ParentType(List<Face>(), pointField()) ParentType(List<Face>(), pointField())
@ -409,7 +409,7 @@ Foam::MeshedSurface<Face>::MeshedSurface
template<class Face> template<class Face>
Foam::MeshedSurface<Face>::MeshedSurface Foam::MeshedSurface<Face>::MeshedSurface
( (
const Xfer< MeshedSurface<Face> >& surf const Xfer<MeshedSurface<Face> >& surf
) )
: :
ParentType(List<Face>(), pointField()) ParentType(List<Face>(), pointField())
@ -426,9 +426,6 @@ Foam::MeshedSurface<Face>::~MeshedSurface()
{} {}
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // // * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
template<class Face> template<class Face>
@ -526,9 +523,9 @@ void Foam::MeshedSurface<Face>::scalePoints(const scalar scaleFactor)
template<class Face> template<class Face>
void Foam::MeshedSurface<Face>::reset void Foam::MeshedSurface<Face>::reset
( (
const Xfer< pointField >& pointLst, const Xfer<pointField>& pointLst,
const Xfer< List<Face> >& faceLst, const Xfer<List<Face> >& faceLst,
const Xfer< surfZoneList >& zoneLst const Xfer<surfZoneList>& zoneLst
) )
{ {
ParentType::clearOut(); ParentType::clearOut();
@ -555,9 +552,9 @@ void Foam::MeshedSurface<Face>::reset
template<class Face> template<class Face>
void Foam::MeshedSurface<Face>::reset void Foam::MeshedSurface<Face>::reset
( (
const Xfer< List<point> >& pointLst, const Xfer<List<point> >& pointLst,
const Xfer< List<Face> >& faceLst, const Xfer<List<Face> >& faceLst,
const Xfer< surfZoneList >& zoneLst const Xfer<surfZoneList>& zoneLst
) )
{ {
ParentType::clearOut(); ParentType::clearOut();
@ -1038,8 +1035,7 @@ Foam::MeshedSurface<Face> Foam::MeshedSurface<Face>::subsetMesh
template<class Face> template<class Face>
Foam::MeshedSurface<Face> Foam::MeshedSurface<Face> Foam::MeshedSurface<Face>::subsetMesh
Foam::MeshedSurface<Face>::subsetMesh
( (
const labelHashSet& include const labelHashSet& include
) const ) const
@ -1109,8 +1105,7 @@ void Foam::MeshedSurface<Face>::transfer
template<class Face> template<class Face>
Foam::Xfer< Foam::MeshedSurface<Face> > Foam::Xfer<Foam::MeshedSurface<Face> > Foam::MeshedSurface<Face>::xfer()
Foam::MeshedSurface<Face>::xfer()
{ {
return xferMove(*this); return xferMove(*this);
} }
@ -1159,6 +1154,7 @@ void Foam::MeshedSurface<Face>::write
MeshedSurfaceProxy<Face>(*this).write(t, surfName); MeshedSurfaceProxy<Face>(*this).write(t, surfName);
} }
// * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * //
template<class Face> template<class Face>
@ -1173,8 +1169,7 @@ void Foam::MeshedSurface<Face>::operator=(const MeshedSurface& surf)
template<class Face> template<class Face>
Foam::MeshedSurface<Face>::operator Foam::MeshedSurface<Face>::operator Foam::MeshedSurfaceProxy<Face>() const
Foam::MeshedSurfaceProxy<Face>() const
{ {
return MeshedSurfaceProxy<Face> return MeshedSurfaceProxy<Face>
( (
@ -1184,9 +1179,6 @@ Foam::MeshedSurfaceProxy<Face>() const
); );
} }
// * * * * * * * * * * * * * * * Friend Functions * * * * * * * * * * * * * //
// * * * * * * * * * * * * * * * IOstream Operators * * * * * * * * * * * * //
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -90,9 +90,10 @@ class MeshedSurface
template<class Face2> friend class UnsortedMeshedSurface; template<class Face2> friend class UnsortedMeshedSurface;
friend class surfMesh; friend class surfMesh;
private: private:
//- Private typedefs for convenience // Private typedefs for convenience
typedef PrimitivePatch typedef PrimitivePatch
< <
@ -106,6 +107,7 @@ private:
typedef UnsortedMeshedSurface<Face> FriendType; typedef UnsortedMeshedSurface<Face> FriendType;
typedef MeshedSurfaceProxy<Face> ProxyType; typedef MeshedSurfaceProxy<Face> ProxyType;
// Private Member Data // Private Member Data
//- Zone information //- Zone information
@ -113,8 +115,6 @@ private:
List<surfZone> zones_; List<surfZone> zones_;
// Private member functions
protected: protected:
// Protected Member functions // Protected Member functions
@ -146,19 +146,21 @@ protected:
//- sort faces by zones and store sorted faces //- sort faces by zones and store sorted faces
void sortFacesAndStore void sortFacesAndStore
( (
const Xfer< List<Face> >& unsortedFaces, const Xfer<List<Face> >& unsortedFaces,
const Xfer< List<label> >& zoneIds, const Xfer<List<label> >& zoneIds,
const bool sorted const bool sorted
); );
//- Set new zones from faceMap //- Set new zones from faceMap
virtual void remapFaces(const UList<label>& faceMap); virtual void remapFaces(const UList<label>& faceMap);
public: public:
//- Runtime type information //- Runtime type information
ClassName("MeshedSurface"); ClassName("MeshedSurface");
// Static // Static
//- Face storage only handles triangulated faces //- Face storage only handles triangulated faces
@ -176,6 +178,7 @@ public:
static wordHashSet readTypes(); static wordHashSet readTypes();
static wordHashSet writeTypes(); static wordHashSet writeTypes();
// Constructors // Constructors
//- Construct null //- Construct null
@ -184,17 +187,17 @@ public:
//- Construct by transferring components (points, faces, zones). //- Construct by transferring components (points, faces, zones).
MeshedSurface MeshedSurface
( (
const Xfer< pointField >&, const Xfer<pointField>&,
const Xfer< List<Face> >&, const Xfer<List<Face> >&,
const Xfer< surfZoneList >& const Xfer<surfZoneList>&
); );
//- Construct by transferring components (points, faces). //- Construct by transferring components (points, faces).
// Use zone information if available // Use zone information if available
MeshedSurface MeshedSurface
( (
const Xfer< pointField >&, const Xfer<pointField>&,
const Xfer< List<Face> >&, const Xfer<List<Face> >&,
const UList<label>& zoneSizes = UList<label>(), const UList<label>& zoneSizes = UList<label>(),
const UList<word>& zoneNames = UList<word>() const UList<word>& zoneNames = UList<word>()
); );
@ -230,6 +233,7 @@ public:
//- Construct from database //- Construct from database
MeshedSurface(const Time&, const word& surfName=""); MeshedSurface(const Time&, const word& surfName="");
// Declare run-time constructor selection table // Declare run-time constructor selection table
declareRunTimeSelectionTable declareRunTimeSelectionTable
@ -243,6 +247,7 @@ public:
(name) (name)
); );
// Selectors // Selectors
//- Select constructed from filename (explicit extension) //- Select constructed from filename (explicit extension)
@ -255,6 +260,7 @@ public:
//- Select constructed from filename (implicit extension) //- Select constructed from filename (implicit extension)
static autoPtr<MeshedSurface> New(const fileName&); static autoPtr<MeshedSurface> New(const fileName&);
// Destructor // Destructor
virtual ~MeshedSurface(); virtual ~MeshedSurface();
@ -281,151 +287,152 @@ public:
// Member Functions // Member Functions
// Access // Access
//- The surface size is the number of faces //- The surface size is the number of faces
label size() const label size() const
{ {
return ParentType::size(); return ParentType::size();
} }
//- Return const access to the faces //- Return const access to the faces
inline const List<Face>& faces() const inline const List<Face>& faces() const
{ {
return static_cast<const List<Face> &>(*this); return static_cast<const List<Face> &>(*this);
} }
//- Const access to the surface zones. //- Const access to the surface zones.
// If zones are defined, they must be contiguous and cover the entire // If zones are defined, they must be contiguous and cover the
// surface. // entire surface
const List<surfZone>& surfZones() const const List<surfZone>& surfZones() const
{ {
return zones_; return zones_;
} }
//- Add surface zones //- Add surface zones
virtual void addZones virtual void addZones
( (
const UList<surfZone>&, const UList<surfZone>&,
const bool cullEmpty=false const bool cullEmpty=false
); );
//- Add surface zones //- Add surface zones
virtual void addZones virtual void addZones
( (
const UList<label>& sizes, const UList<label>& sizes,
const UList<word>& names, const UList<word>& names,
const bool cullEmpty=false const bool cullEmpty=false
); );
//- Add surface zones //- Add surface zones
virtual void addZones virtual void addZones
( (
const UList<label>& sizes, const UList<label>& sizes,
const bool cullEmpty=false const bool cullEmpty=false
); );
//- Remove surface zones //- Remove surface zones
virtual void removeZones(); virtual void removeZones();
// Edit // Edit
//- Clear all storage //- Clear all storage
virtual void clear(); virtual void clear();
//- Move points //- Move points
virtual void movePoints(const pointField&); virtual void movePoints(const pointField&);
//- Scale points. A non-positive factor is ignored //- Scale points. A non-positive factor is ignored
virtual void scalePoints(const scalar); virtual void scalePoints(const scalar);
//- Reset primitive data (points, faces and zones) //- Reset primitive data (points, faces and zones)
// Note, optimized to avoid overwriting data (with Xfer::null) // Note, optimized to avoid overwriting data (with Xfer::null)
virtual void reset virtual void reset
( (
const Xfer< pointField >& points, const Xfer<pointField >& points,
const Xfer< List<Face> >& faces, const Xfer<List<Face> >& faces,
const Xfer< surfZoneList >& zones const Xfer<surfZoneList>& zones
); );
//- Reset primitive data (points, faces and zones) //- Reset primitive data (points, faces and zones)
// Note, optimized to avoid overwriting data (with Xfer::null) // Note, optimized to avoid overwriting data (with Xfer::null)
virtual void reset virtual void reset
( (
const Xfer< List<point> >& points, const Xfer<List<point> >& points,
const Xfer< List<Face> >& faces, const Xfer<List<Face> >& faces,
const Xfer< surfZoneList >& zones const Xfer<surfZoneList >& zones
); );
//- Remove invalid faces //- Remove invalid faces
virtual void cleanup(const bool verbose); virtual void cleanup(const bool verbose);
virtual bool stitchFaces virtual bool stitchFaces
( (
const scalar tol=SMALL, const scalar tol=SMALL,
const bool verbose=false const bool verbose=false
); );
virtual bool checkFaces virtual bool checkFaces
( (
const bool verbose=false const bool verbose=false
); );
//- Triangulate in-place, returning the number of triangles added //- Triangulate in-place, returning the number of triangles added
virtual label triangulate(); virtual label triangulate();
//- Triangulate in-place, returning the number of triangles added //- Triangulate in-place, returning the number of triangles added
// and setting a map of original face Ids. // and setting a map of original face Ids.
// The faceMap is zero-sized when no triangulation was done. // The faceMap is zero-sized when no triangulation was done.
virtual label triangulate(List<label>& faceMap); virtual label triangulate(List<label>& faceMap);
//- Return new surface. //- Return new surface.
// Returns return pointMap, faceMap from subsetMeshMap // Returns return pointMap, faceMap from subsetMeshMap
MeshedSurface subsetMesh MeshedSurface subsetMesh
( (
const labelHashSet& include, const labelHashSet& include,
labelList& pointMap, labelList& pointMap,
labelList& faceMap labelList& faceMap
) const; ) const;
//- Return new surface. //- Return new surface.
MeshedSurface subsetMesh MeshedSurface subsetMesh
( (
const labelHashSet& include const labelHashSet& include
) const; ) const;
//- Transfer the contents of the argument and annul the argument //- Transfer the contents of the argument and annul the argument
void transfer(MeshedSurface<Face>&); void transfer(MeshedSurface<Face>&);
//- Transfer the contents of the argument and annul the argument //- Transfer the contents of the argument and annul the argument
void transfer(UnsortedMeshedSurface<Face>&); void transfer(UnsortedMeshedSurface<Face>&);
//- Transfer contents to the Xfer container //- Transfer contents to the Xfer container
Xfer< MeshedSurface<Face> > xfer(); 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&);
// 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. //- Read from file. Chooses reader based on detected extension
virtual void write(const fileName& name) const virtual bool read(const fileName&);
{
write(name, *this);
}
//- 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 // Member operators
@ -434,7 +441,6 @@ public:
//- Conversion operator to MeshedSurfaceProxy //- Conversion operator to MeshedSurfaceProxy
operator MeshedSurfaceProxy<Face>() const; operator MeshedSurfaceProxy<Face>() const;
}; };
@ -447,6 +453,7 @@ inline bool MeshedSurface<triFace>::isTri()
return true; return true;
} }
//- Specialization for holding triangulated information //- Specialization for holding triangulated information
template<> template<>
inline label MeshedSurface<triFace>::triangulate() inline label MeshedSurface<triFace>::triangulate()
@ -454,6 +461,7 @@ inline label MeshedSurface<triFace>::triangulate()
return 0; return 0;
} }
//- Specialization for holding triangulated information //- Specialization for holding triangulated information
template<> template<>
inline label MeshedSurface<triFace>::triangulate(List<label>& faceMap) inline label MeshedSurface<triFace>::triangulate(List<label>& faceMap)
@ -466,6 +474,7 @@ inline label MeshedSurface<triFace>::triangulate(List<label>& faceMap)
return 0; return 0;
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam } // End namespace Foam

View File

@ -71,8 +71,8 @@ void Foam::MeshedSurface<Face>::checkZones()
template<class Face> template<class Face>
void Foam::MeshedSurface<Face>::sortFacesAndStore void Foam::MeshedSurface<Face>::sortFacesAndStore
( (
const Xfer< List<Face> >& unsortedFaces, const Xfer<List<Face> >& unsortedFaces,
const Xfer< List<label> >& zoneIds, const Xfer<List<label> >& zoneIds,
const bool sorted const bool sorted
) )
{ {

View File

@ -26,7 +26,6 @@ License
#include "MeshedSurfaceIOAllocator.H" #include "MeshedSurfaceIOAllocator.H"
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::MeshedSurfaceIOAllocator::MeshedSurfaceIOAllocator Foam::MeshedSurfaceIOAllocator::MeshedSurfaceIOAllocator
@ -61,11 +60,11 @@ Foam::MeshedSurfaceIOAllocator::MeshedSurfaceIOAllocator
Foam::MeshedSurfaceIOAllocator::MeshedSurfaceIOAllocator Foam::MeshedSurfaceIOAllocator::MeshedSurfaceIOAllocator
( (
const IOobject& ioPoints, const IOobject& ioPoints,
const Xfer< pointField >& points, const Xfer<pointField>& points,
const IOobject& ioFaces, const IOobject& ioFaces,
const Xfer< faceList >& faces, const Xfer<faceList>& faces,
const IOobject& ioZones, const IOobject& ioZones,
const Xfer< surfZoneList >& zones const Xfer<surfZoneList>& zones
) )
: :
points_(ioPoints, points), points_(ioPoints, points),
@ -74,8 +73,6 @@ Foam::MeshedSurfaceIOAllocator::MeshedSurfaceIOAllocator
{} {}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
void Foam::MeshedSurfaceIOAllocator::clear() void Foam::MeshedSurfaceIOAllocator::clear()
@ -88,8 +85,8 @@ void Foam::MeshedSurfaceIOAllocator::clear()
void Foam::MeshedSurfaceIOAllocator::resetFaces void Foam::MeshedSurfaceIOAllocator::resetFaces
( (
const Xfer< List<face> >& faces, const Xfer<List<face> >& faces,
const Xfer< surfZoneList >& zones const Xfer<surfZoneList>& zones
) )
{ {
if (&faces) if (&faces)
@ -106,9 +103,9 @@ void Foam::MeshedSurfaceIOAllocator::resetFaces
void Foam::MeshedSurfaceIOAllocator::reset void Foam::MeshedSurfaceIOAllocator::reset
( (
const Xfer< pointField >& points, const Xfer<pointField>& points,
const Xfer< faceList >& faces, const Xfer<faceList>& faces,
const Xfer< surfZoneList >& zones const Xfer<surfZoneList>& zones
) )
{ {
// Take over new primitive data. // Take over new primitive data.
@ -124,9 +121,9 @@ void Foam::MeshedSurfaceIOAllocator::reset
void Foam::MeshedSurfaceIOAllocator::reset void Foam::MeshedSurfaceIOAllocator::reset
( (
const Xfer< List<point> >& points, const Xfer<List<point> >& points,
const Xfer< faceList >& faces, const Xfer<faceList>& faces,
const Xfer< surfZoneList >& zones const Xfer<surfZoneList>& zones
) )
{ {
// Take over new primitive data. // Take over new primitive data.

View File

@ -49,16 +49,15 @@ namespace Foam
Class MeshedSurfaceIOAllocator Declaration Class MeshedSurfaceIOAllocator Declaration
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
//- A helper class for storing points, faces and zones
class MeshedSurfaceIOAllocator class MeshedSurfaceIOAllocator
{ {
// Private data // Private data
//- Points //- Points
pointIOField points_; pointIOField points_;
//- Faces //- Faces
faceIOList faces_; faceIOList faces_;
//- Surface zones //- Surface zones
surfZoneIOList zones_; surfZoneIOList zones_;
@ -100,15 +99,13 @@ public:
MeshedSurfaceIOAllocator MeshedSurfaceIOAllocator
( (
const IOobject& ioPoints, const IOobject& ioPoints,
const Xfer< pointField >& points, const Xfer<pointField>& points,
const IOobject& ioFaces, const IOobject& ioFaces,
const Xfer< faceList >& faces, const Xfer<faceList>& faces,
const IOobject& ioZones, const IOobject& ioZones,
const Xfer< surfZoneList >& zones const Xfer<surfZoneList>& zones
); );
// Destructor
// Member Functions // Member Functions
@ -160,26 +157,26 @@ public:
// Note, optimized to avoid overwriting data (with Xfer::null) // Note, optimized to avoid overwriting data (with Xfer::null)
void resetFaces void resetFaces
( (
const Xfer< faceList >& faces, const Xfer<faceList>& faces,
const Xfer< surfZoneList >& zones const Xfer<surfZoneList>& zones
); );
//- Reset primitive data (points, faces and zones) //- Reset primitive data (points, faces and zones)
// Note, optimized to avoid overwriting data (with Xfer::null) // Note, optimized to avoid overwriting data (with Xfer::null)
void reset void reset
( (
const Xfer< pointField >& points, const Xfer<pointField>& points,
const Xfer< faceList >& faces, const Xfer<faceList>& faces,
const Xfer< surfZoneList >& zones const Xfer<surfZoneList>& zones
); );
//- Reset primitive data (points, faces and zones) //- Reset primitive data (points, faces and zones)
// Note, optimized to avoid overwriting data (with Xfer::null) // Note, optimized to avoid overwriting data (with Xfer::null)
void reset void reset
( (
const Xfer< List<point> >& points, const Xfer<List<point> >& points,
const Xfer< faceList >& faces, const Xfer<faceList>& faces,
const Xfer< surfZoneList >& zones const Xfer<surfZoneList>& zones
); );
}; };

View File

@ -159,10 +159,10 @@ Foam::UnsortedMeshedSurface<Face>::UnsortedMeshedSurface()
template<class Face> template<class Face>
Foam::UnsortedMeshedSurface<Face>::UnsortedMeshedSurface Foam::UnsortedMeshedSurface<Face>::UnsortedMeshedSurface
( (
const Xfer< pointField >& pointLst, const Xfer<pointField>& pointLst,
const Xfer< List<Face> >& faceLst, const Xfer<List<Face> >& faceLst,
const Xfer< List<label> >& zoneIds, const Xfer<List<label> >& zoneIds,
const Xfer< surfZoneIdentifierList >& zoneTofc const Xfer<surfZoneIdentifierList>& zoneTofc
) )
: :
ParentType(pointLst, faceLst), ParentType(pointLst, faceLst),
@ -174,8 +174,8 @@ Foam::UnsortedMeshedSurface<Face>::UnsortedMeshedSurface
template<class Face> template<class Face>
Foam::UnsortedMeshedSurface<Face>::UnsortedMeshedSurface Foam::UnsortedMeshedSurface<Face>::UnsortedMeshedSurface
( (
const Xfer< pointField >& pointLst, const Xfer<pointField>& pointLst,
const Xfer< List<Face> >& faceLst, const Xfer<List<Face> >& faceLst,
const UList<label>& zoneSizes, const UList<label>& zoneSizes,
const UList<word>& zoneNames const UList<word>& zoneNames
) )
@ -235,7 +235,7 @@ Foam::UnsortedMeshedSurface<Face>::UnsortedMeshedSurface
template<class Face> template<class Face>
Foam::UnsortedMeshedSurface<Face>::UnsortedMeshedSurface Foam::UnsortedMeshedSurface<Face>::UnsortedMeshedSurface
( (
const Xfer< UnsortedMeshedSurface<Face> >& surf const Xfer<UnsortedMeshedSurface<Face> >& surf
) )
: :
ParentType() ParentType()
@ -247,7 +247,7 @@ Foam::UnsortedMeshedSurface<Face>::UnsortedMeshedSurface
template<class Face> template<class Face>
Foam::UnsortedMeshedSurface<Face>::UnsortedMeshedSurface Foam::UnsortedMeshedSurface<Face>::UnsortedMeshedSurface
( (
const Xfer< MeshedSurface<Face> >& surf const Xfer<MeshedSurface<Face> >& surf
) )
: :
ParentType() ParentType()
@ -601,9 +601,9 @@ Foam::UnsortedMeshedSurface<Face> Foam::UnsortedMeshedSurface<Face>::subsetMesh
template<class Face> template<class Face>
void Foam::UnsortedMeshedSurface<Face>::reset void Foam::UnsortedMeshedSurface<Face>::reset
( (
const Xfer< pointField >& pointLst, const Xfer<pointField>& pointLst,
const Xfer< List<Face> >& faceLst, const Xfer<List<Face> >& faceLst,
const Xfer< List<label> >& zoneIds const Xfer<List<label> >& zoneIds
) )
{ {
ParentType::reset ParentType::reset
@ -623,9 +623,9 @@ void Foam::UnsortedMeshedSurface<Face>::reset
template<class Face> template<class Face>
void Foam::UnsortedMeshedSurface<Face>::reset void Foam::UnsortedMeshedSurface<Face>::reset
( (
const Xfer< List<point> >& pointLst, const Xfer<List<point> >& pointLst,
const Xfer< List<Face> >& faceLst, const Xfer<List<Face> >& faceLst,
const Xfer< List<label> >& zoneIds const Xfer<List<label> >& zoneIds
) )
{ {
ParentType::reset ParentType::reset
@ -681,7 +681,7 @@ void Foam::UnsortedMeshedSurface<Face>::transfer
template<class Face> template<class Face>
Foam::Xfer< Foam::UnsortedMeshedSurface<Face> > Foam::Xfer<Foam::UnsortedMeshedSurface<Face> >
Foam::UnsortedMeshedSurface<Face>::xfer() Foam::UnsortedMeshedSurface<Face>::xfer()
{ {
return xferMove(*this); return xferMove(*this);

View File

@ -85,7 +85,7 @@ class UnsortedMeshedSurface
private: private:
//- Private typedefs for convenience // Private typedefs for convenience
typedef MeshedSurface<Face> ParentType; typedef MeshedSurface<Face> ParentType;
typedef MeshedSurface<Face> FriendType; typedef MeshedSurface<Face> FriendType;
@ -161,10 +161,10 @@ public:
// (points, faces, zone ids, zone info). // (points, faces, zone ids, zone info).
UnsortedMeshedSurface UnsortedMeshedSurface
( (
const Xfer< pointField >&, const Xfer<pointField>&,
const Xfer< List<Face> >&, const Xfer<List<Face> >&,
const Xfer< List<label> >& zoneIds, const Xfer<List<label> >& zoneIds,
const Xfer< surfZoneIdentifierList >& const Xfer<surfZoneIdentifierList>&
); );
//- Construct by transferring points, faces. //- Construct by transferring points, faces.
@ -226,9 +226,8 @@ public:
static autoPtr<UnsortedMeshedSurface> New(const fileName&); static autoPtr<UnsortedMeshedSurface> New(const fileName&);
// Destructor //- Destructor
virtual ~UnsortedMeshedSurface();
virtual ~UnsortedMeshedSurface();
// Member Function Selectors // Member Function Selectors
@ -315,17 +314,17 @@ public:
//- Transfer components (points, faces, zone ids). //- Transfer components (points, faces, zone ids).
virtual void reset virtual void reset
( (
const Xfer< pointField >&, const Xfer<pointField>&,
const Xfer< List<Face> >&, const Xfer<List<Face> >&,
const Xfer< List<label> >& zoneIds const Xfer<List<label> >& zoneIds
); );
//- Transfer components (points, faces, zone ids). //- Transfer components (points, faces, zone ids).
virtual void reset virtual void reset
( (
const Xfer< List<point> >&, const Xfer<List<point> >&,
const Xfer< List<Face> >&, const Xfer<List<Face> >&,
const Xfer< List<label> >& zoneIds const Xfer<List<label> >& zoneIds
); );
//- Transfer the contents of the argument and annul the argument //- Transfer the contents of the argument and annul the argument
@ -335,7 +334,7 @@ public:
void transfer(MeshedSurface<Face>&); void transfer(MeshedSurface<Face>&);
//- Transfer contents to the Xfer container //- Transfer contents to the Xfer container
Xfer< UnsortedMeshedSurface<Face> > xfer(); Xfer<UnsortedMeshedSurface<Face> > xfer();
// Read // Read

View File

@ -110,8 +110,8 @@ Foam::surfMesh::surfMesh(const IOobject& io, const word& surfName)
Foam::surfMesh::surfMesh Foam::surfMesh::surfMesh
( (
const IOobject& io, const IOobject& io,
const Xfer< pointField >& pointLst, const Xfer<pointField>& pointLst,
const Xfer< faceList >& faceLst, const Xfer<faceList>& faceLst,
const word& surfName const word& surfName
) )
: :
@ -156,7 +156,7 @@ Foam::surfMesh::surfMesh
Foam::surfMesh::surfMesh Foam::surfMesh::surfMesh
( (
const IOobject& io, const IOobject& io,
const Xfer< MeshedSurface<face> >& surf, const Xfer<MeshedSurface<face> >& surf,
const word& surfName const word& surfName
) )
: :
@ -252,9 +252,9 @@ void Foam::surfMesh::updateRefs()
void Foam::surfMesh::resetPrimitives void Foam::surfMesh::resetPrimitives
( (
const Xfer< pointField >& points, const Xfer<pointField>& points,
const Xfer< faceList >& faces, const Xfer<faceList>& faces,
const Xfer< surfZoneList >& zones, const Xfer<surfZoneList>& zones,
const bool validate const bool validate
) )
{ {
@ -287,10 +287,9 @@ void Foam::surfMesh::transfer
} }
Foam::Xfer< Foam::MeshedSurface<Foam::face> > Foam::Xfer<Foam::MeshedSurface<Foam::face> > Foam::surfMesh::xfer()
Foam::surfMesh::xfer()
{ {
Xfer< MeshedSurface<face> > xf; Xfer<MeshedSurface<face> > xf;
xf().storedPoints().transfer(this->storedPoints()); xf().storedPoints().transfer(this->storedPoints());
xf().storedFaces().transfer(this->storedFaces()); xf().storedFaces().transfer(this->storedFaces());

View File

@ -172,7 +172,7 @@ public:
surfMesh surfMesh
( (
const IOobject&, const IOobject&,
const Xfer< MeshedSurface<face> >& surf, const Xfer<MeshedSurface<face> >& surf,
const word& surfName="" const word& surfName=""
); );
@ -250,9 +250,9 @@ public:
//- Reset mesh primitive data. //- Reset mesh primitive data.
void resetPrimitives void resetPrimitives
( (
const Xfer< pointField >& points, const Xfer<pointField>& points,
const Xfer< faceList >& faces, const Xfer<faceList>& faces,
const Xfer< surfZoneList >& zones, const Xfer<surfZoneList>& zones,
const bool validate = true const bool validate = true
); );
@ -273,7 +273,7 @@ public:
// Storage management // Storage management
//- Transfer contents to the Xfer container as a MeshedSurface //- Transfer contents to the Xfer container as a MeshedSurface
Xfer< MeshedSurface<face> > xfer(); Xfer<MeshedSurface<face> > xfer();
//- Clear geometry //- Clear geometry
void clearGeom(); void clearGeom();