ug4
|
Communication Policy to copy couplings between interfaces. More...
#include <communication_policies.h>
Public Member Functions | |
virtual bool | begin_layout_extraction (const Layout *pLayout) |
signals the beginning of a layout extraction. More... | |
virtual bool | collect (ug::BinaryBuffer &buff, const Interface &interface) |
writes the interface values into a buffer that will be sent More... | |
ComPol_MatCopyRowsOverlap0 (TMatrix &rMat, AlgebraIDVec &vGlobalID) | |
Constructor setting the vector. More... | |
virtual bool | extract (ug::BinaryBuffer &buff, const Interface &interface) |
writes values from a buffer into the interface More... | |
Public Member Functions inherited from pcl::ICommunicationPolicy< IndexLayout > | |
virtual bool | begin_layout_collection (const Layout *pLayout) |
signals the beginning of a layout collection. More... | |
virtual void | begin_level_extraction (int level) |
signals that a new layout-level will now be processed. More... | |
virtual bool | end_layout_collection (const Layout *pLayout) |
signals the end of a layout collection More... | |
virtual bool | end_layout_extraction (const Layout *pLayout) |
signals the end of a layout extraction More... | |
virtual int | get_required_buffer_size (const Interface &interface) |
returns the size of the buffer in bytes, that will be required for interface-communication. More... | |
virtual | ~ICommunicationPolicy () |
Private Attributes | |
AlgebraIDHashList | m_algIDHash |
TMatrix & | m_rMat |
AlgebraIDVec & | m_vGlobalID |
Additional Inherited Members | |
Public Types inherited from pcl::ICommunicationPolicy< IndexLayout > | |
typedef Layout::Interface | Interface |
typedef IndexLayout | Layout |
Communication Policy to copy couplings between interfaces.
This Communication policy copies the row entries of the source interface corresponding master interface. Connections are only copied if they connect indices which lie in the same interface. This means that couplings to inner indices or to other slave/master interfaces, are not taken into account.
TMatrix | matrix type |
|
inline |
Constructor setting the vector.
vGlobalID must have size >= mat.num_rows()
References ug::ComPol_MatCopyRowsOverlap0< TMatrix >::m_rMat, and UG_ASSERT.
|
inlinevirtual |
signals the beginning of a layout extraction.
the default implementation returns true and does nothing else. This method is only called on processes which extract data.
Reimplemented from pcl::ICommunicationPolicy< IndexLayout >.
References ug::GenerateAlgebraIDHashList(), ug::ComPol_MatCopyRowsOverlap0< TMatrix >::m_algIDHash, and ug::ComPol_MatCopyRowsOverlap0< TMatrix >::m_vGlobalID.
|
inlinevirtual |
writes the interface values into a buffer that will be sent
done
Implements pcl::ICommunicationPolicy< IndexLayout >.
References pcl::OrderedInterface< TType, TContainer, TAlloc >::begin(), pcl::OrderedInterface< TType, TContainer, TAlloc >::end(), pcl::OrderedInterface< TType, TContainer, TAlloc >::get_element(), ug::ComPol_MatCopyRowsOverlap0< TMatrix >::m_rMat, ug::ComPol_MatCopyRowsOverlap0< TMatrix >::m_vGlobalID, PROFILE_BEGIN_GROUP, and ug::Serialize().
|
inlinevirtual |
writes values from a buffer into the interface
done
Implements pcl::ICommunicationPolicy< IndexLayout >.
References pcl::OrderedInterface< TType, TContainer, TAlloc >::begin(), ug::Deserialize(), pcl::OrderedInterface< TType, TContainer, TAlloc >::end(), pcl::OrderedInterface< TType, TContainer, TAlloc >::get_element(), ug::Hash< TKey, TValue >::get_entry(), ug::ComPol_MatCopyRowsOverlap0< TMatrix >::m_algIDHash, ug::ComPol_MatCopyRowsOverlap0< TMatrix >::m_rMat, and PROFILE_BEGIN_GROUP.
|
private |
|
private |
|
private |