ESyS-Particle  2.3.4
TML_PackedMessageInterface Class Referenceabstract

Abstract base/interface class for packed messages to be used in TML_Pack. More...

#include <packed_message_interface.h>

Inheritance diagram for TML_PackedMessageInterface:

Public Member Functions

virtual void begin_pack ()=0
 
virtual void begin_unpack ()=0
 
virtual void append (int)=0
 
virtual void append (double)=0
 
virtual void append (const string &)=0
 
virtual void append (const Vec3 &)=0
 
virtual void append (bool)=0
 
virtual int pop_int ()=0
 
virtual double pop_double ()=0
 
virtual void pop_doubles (double *, int)=0
 
virtual string pop_string ()=0
 
virtual Vec3 pop_vec3 ()=0
 
virtual bool pop_bool ()=0
 
template<typename T >
void pack (const T &)
 
template<typename T >
void unpack (T &)
 
template<>
void pack (const CAdhesiveFriction &I)
 
template<>
void unpack (CAdhesiveFriction &I)
 
template<>
void pack (const BCorner2DInteraction &I)
 
template<>
void unpack (BCorner2DInteraction &I)
 
template<>
void pack (const BEdge2DInteraction &I)
 
template<>
void unpack (BEdge2DInteraction &I)
 
template<>
void pack (const CBondedInteraction &I)
 
template<>
void unpack (CBondedInteraction &I)
 
template<>
void pack (const BTriangleInteraction &I)
 
template<>
void unpack (BTriangleInteraction &I)
 
template<>
void pack (const CCappedBondedInteraction &I)
 
template<>
void unpack (CCappedBondedInteraction &I)
 
template<>
void pack (const CFractalFriction &I)
 
template<>
void unpack (CFractalFriction &I)
 
template<>
void pack (const CFrictionInteraction &I)
 
template<>
void unpack (CFrictionInteraction &I)
 
template<>
void pack (const CHertzianViscoElasticFrictionInteraction &I)
 
template<>
void unpack (CHertzianViscoElasticFrictionInteraction &I)
 
template<>
void pack (const CHertzMindlinInteraction &I)
 
template<>
void unpack (CHertzMindlinInteraction &I)
 
template<>
void pack (const CHertzMindlinViscoInteraction &I)
 
template<>
void unpack (CHertzMindlinViscoInteraction &I)
 
template<>
void pack (const MeshNodeData &d)
 
template<>
void unpack (MeshNodeData &d)
 
template<>
void pack (const MeshTriData &d)
 
template<>
void unpack (MeshTriData &d)
 
template<>
void pack (const MeshNodeData2D &d)
 
template<>
void unpack (MeshNodeData2D &d)
 
template<>
void pack (const MeshEdgeData2D &d)
 
template<>
void unpack (MeshEdgeData2D &d)
 
template<>
void pack (const CParticle &p)
 
template<>
void unpack (CParticle &p)
 
template<>
void pack (const CRotBondedInteraction &I)
 
template<>
void unpack (CRotBondedInteraction &I)
 
template<>
void pack (const CRotFrictionInteraction &I)
 
template<>
void unpack (CRotFrictionInteraction &I)
 
template<>
void pack (const CRotParticle &p)
 
template<>
void unpack (CRotParticle &p)
 
template<>
void pack (const CRotParticleVi &p)
 
template<>
void unpack (CRotParticleVi &p)
 
template<>
void pack (const CRotThermBondedInteraction &I)
 
template<>
void unpack (CRotThermBondedInteraction &I)
 
template<>
void pack (const CRotThermFrictionInteraction &I)
 
template<>
void unpack (CRotThermFrictionInteraction &I)
 
template<>
void pack (const CRotThermParticle &p)
 
template<>
void unpack (CRotThermParticle &p)
 
template<>
void pack (const CShortBondedInteraction &I)
 
template<>
void unpack (CShortBondedInteraction &I)
 
template<>
void pack (const CVWFriction &I)
 
template<>
void unpack (CVWFriction &I)
 
template<>
void pack (const CBasicParticle &p)
 
template<>
void unpack (CBasicParticle &p)
 
template<>
void pack (const int &i)
 
template<>
void unpack (int &i)
 
template<>
void pack (const double &d)
 
template<>
void unpack (double &d)
 
template<>
void pack (const Vec3 &v)
 
template<>
void unpack (Vec3 &v)
 
template<typename T1 , typename T2 >
void unpack (pair< T1, T2 > &p)
 
template<>
void pack (const pair< int, double > &p)
 
template<>
void unpack (pair< int, double > &p)
 

Detailed Description

Abstract base/interface class for packed messages to be used in TML_Pack.

Member Function Documentation

◆ append() [1/5]

virtual void TML_PackedMessageInterface::append ( bool  )
pure virtual

◆ append() [2/5]

virtual void TML_PackedMessageInterface::append ( const string &  )
pure virtual

◆ append() [3/5]

virtual void TML_PackedMessageInterface::append ( const Vec3 )
pure virtual

◆ append() [4/5]

virtual void TML_PackedMessageInterface::append ( double  )
pure virtual

◆ append() [5/5]

virtual void TML_PackedMessageInterface::append ( int  )
pure virtual

Implemented in TML_Packed_Message, and TML_PackedMultiMessageSlab.

Referenced by pack(), and TML_PackedMessageInterface::pack< CRotParticleVi::exchangeType >().

Here is the caller graph for this function:

◆ begin_pack()

virtual void TML_PackedMessageInterface::begin_pack ( )
pure virtual

◆ begin_unpack()

virtual void TML_PackedMessageInterface::begin_unpack ( )
pure virtual

◆ pack() [1/31]

template<>
void TML_PackedMessageInterface::pack ( const BCorner2DInteraction I)

◆ pack() [2/31]

template<>
void TML_PackedMessageInterface::pack ( const BEdge2DInteraction I)

Pack a BEdge2DInteraction into a TML packed message

Parameters
Ithe interaction

References append(), BEdge2DInteraction::getPid(), BEdge2DInteraction::getTid(), BEdge2DInteraction::m_ap, BEdge2DInteraction::m_break, BEdge2DInteraction::m_dist, and BEdge2DInteraction::m_k.

Here is the call graph for this function:

◆ pack() [3/31]

template<>
void TML_PackedMessageInterface::pack ( const BTriangleInteraction I)

Pack a BTriangleInteraction into a TML packed message

Parameters
Ithe interaction

References append(), BTriangleInteraction::getPid(), BTriangleInteraction::getTid(), BTriangleInteraction::m_ap, BTriangleInteraction::m_break, BTriangleInteraction::m_dist, and BTriangleInteraction::m_k.

Here is the call graph for this function:

◆ pack() [4/31]

template<>
void TML_PackedMessageInterface::pack ( const CAdhesiveFriction I)

Pack a CAdhesiveFriction into a TML packed message

Parameters
Ithe interaction

References append(), CFrictionInteraction::m_dt, AInteraction::m_id, CFrictionInteraction::m_k, CFrictionInteraction::m_ks, CFrictionInteraction::m_mu, CFrictionInteraction::m_r0, and CAdhesiveFriction::m_r_cut.

Here is the call graph for this function:

◆ pack() [5/31]

template<>
void TML_PackedMessageInterface::pack ( const CBasicParticle p)

References append(), CBasicParticle::getID(), CBasicParticle::getPos(), CBasicParticle::getRad(), Vec3::X(), Vec3::Y(), and Vec3::Z().

Here is the call graph for this function:

◆ pack() [6/31]

template<>
void TML_PackedMessageInterface::pack ( const CBondedInteraction I)

Pack a CBondedInteraction into a TML packed message

Parameters
Ithe interaction

References append(), CBondedInteraction::getTag(), CBondedInteraction::m_break, CBondedInteraction::m_dist, AInteraction::m_id, CBondedInteraction::m_k, and CBondedInteraction::m_r0.

Here is the call graph for this function:

◆ pack() [7/31]

template<>
void TML_PackedMessageInterface::pack ( const CCappedBondedInteraction I)

◆ pack() [8/31]

template<>
void TML_PackedMessageInterface::pack ( const CFractalFriction I)

Pack a CFractalFriction into a TML packed message

Parameters
Ithe interaction

References append(), CFrictionInteraction::m_dt, AInteraction::m_id, CFrictionInteraction::m_k, CFrictionInteraction::m_ks, CFrictionInteraction::m_mu, and CFrictionInteraction::m_r0.

Here is the call graph for this function:

◆ pack() [9/31]

template<>
void TML_PackedMessageInterface::pack ( const CFrictionInteraction I)

◆ pack() [10/31]

◆ pack() [11/31]

template<>
void TML_PackedMessageInterface::pack ( const CHertzMindlinInteraction I)

◆ pack() [12/31]

◆ pack() [13/31]

template<>
void TML_PackedMessageInterface::pack ( const CParticle p)

Pack a CParticle into a TML packed message

Parameters
pthe particle
Todo:
BasicParticle data should be handled by pack<Basicparticle>

References append(), CParticle::m_circular_shift, CParticle::m_force, CBasicParticle::m_global_id, CParticle::m_initpos, CParticle::m_is_dynamic, CParticle::m_mass, CParticle::m_oldpos, CBasicParticle::m_pos, CBasicParticle::m_rad, CBasicParticle::m_tag, CParticle::m_vel, Vec3::X(), Vec3::Y(), and Vec3::Z().

Here is the call graph for this function:

◆ pack() [14/31]

◆ pack() [15/31]

◆ pack() [16/31]

◆ pack() [17/31]

◆ pack() [18/31]

◆ pack() [19/31]

◆ pack() [20/31]

◆ pack() [21/31]

template<>
void TML_PackedMessageInterface::pack ( const CShortBondedInteraction I)

Pack a CBondedInteraction into a TML packed message

Parameters
Ithe interaction

References append(), CBondedInteraction::getTag(), CBondedInteraction::m_break, CBondedInteraction::m_dist, AInteraction::m_id, CBondedInteraction::m_k, and CBondedInteraction::m_r0.

Here is the call graph for this function:

◆ pack() [22/31]

template<>
void TML_PackedMessageInterface::pack ( const CVWFriction I)

Pack a CFrictionInteraction into a TML packed message

Parameters
Ithe interaction

References append(), CVWFriction::m_alpha, CFrictionInteraction::m_dt, AInteraction::m_id, CFrictionInteraction::m_k, CFrictionInteraction::m_ks, CFrictionInteraction::m_mu, and CFrictionInteraction::m_r0.

Here is the call graph for this function:

◆ pack() [23/31]

template<>
void TML_PackedMessageInterface::pack ( const double &  d)

References append().

Here is the call graph for this function:

◆ pack() [24/31]

template<>
void TML_PackedMessageInterface::pack ( const int &  i)

References append().

Here is the call graph for this function:

◆ pack() [25/31]

template<>
void TML_PackedMessageInterface::pack ( const MeshEdgeData2D d)

Pack MeshEdgeData2D into a TML packed message

Parameters
dthe data

References append(), MeshEdgeData2D::id, MeshEdgeData2D::p1, MeshEdgeData2D::p2, and MeshEdgeData2D::tag.

Here is the call graph for this function:

◆ pack() [26/31]

template<>
void TML_PackedMessageInterface::pack ( const MeshNodeData d)

Pack MeshNodeData into a TML packed message

Parameters
dthe data

References append(), MeshNodeData::id, MeshNodeData::tag, MeshNodeData::x, MeshNodeData::y, and MeshNodeData::z.

Here is the call graph for this function:

◆ pack() [27/31]

template<>
void TML_PackedMessageInterface::pack ( const MeshNodeData2D d)

Pack MeshNodeData2D into a TML packed message

Parameters
dthe data

References append(), MeshNodeData2D::id, MeshNodeData2D::tag, MeshNodeData2D::x, and MeshNodeData2D::y.

Here is the call graph for this function:

◆ pack() [28/31]

template<>
void TML_PackedMessageInterface::pack ( const MeshTriData d)

Pack MeshTriData into a TML packed message

Parameters
dthe data

References append(), MeshTriData::id, MeshTriData::p1, MeshTriData::p2, MeshTriData::p3, and MeshTriData::tag.

Here is the call graph for this function:

◆ pack() [29/31]

template<>
void TML_PackedMessageInterface::pack ( const pair< int, double > &  p)

◆ pack() [30/31]

template<typename T >
void TML_PackedMessageInterface::pack ( const T &  )

◆ pack() [31/31]

template<>
void TML_PackedMessageInterface::pack ( const Vec3 v)

Pack a Vec3 into a TML packed message

Parameters
pthe Vec3

References append(), Vec3::X(), Vec3::Y(), and Vec3::Z().

Here is the call graph for this function:

◆ pop_bool()

virtual bool TML_PackedMessageInterface::pop_bool ( )
pure virtual

Implemented in TML_Packed_Message, and TML_PackedMultiMessageSlab.

Referenced by unpack().

Here is the caller graph for this function:

◆ pop_double()

virtual double TML_PackedMessageInterface::pop_double ( )
pure virtual

Implemented in TML_Packed_Message, and TML_PackedMultiMessageSlab.

Referenced by unpack().

Here is the caller graph for this function:

◆ pop_doubles()

virtual void TML_PackedMessageInterface::pop_doubles ( double *  ,
int   
)
pure virtual

Implemented in TML_Packed_Message, and TML_PackedMultiMessageSlab.

Referenced by TML_PackedMessageInterface::unpack< CRotParticleVi::exchangeType >(), and unpack().

Here is the caller graph for this function:

◆ pop_int()

virtual int TML_PackedMessageInterface::pop_int ( )
pure virtual

Implemented in TML_Packed_Message, and TML_PackedMultiMessageSlab.

Referenced by unpack().

Here is the caller graph for this function:

◆ pop_string()

virtual string TML_PackedMessageInterface::pop_string ( )
pure virtual

◆ pop_vec3()

virtual Vec3 TML_PackedMessageInterface::pop_vec3 ( )
pure virtual

Implemented in TML_Packed_Message, and TML_PackedMultiMessageSlab.

Referenced by unpack().

Here is the caller graph for this function:

◆ unpack() [1/32]

template<>
void TML_PackedMessageInterface::unpack ( BCorner2DInteraction I)

◆ unpack() [2/32]

template<>
void TML_PackedMessageInterface::unpack ( BEdge2DInteraction I)

Unpack a BEdge2DInteraction from a TML packed message

Parameters
Ithe interaction

References BEdge2DInteraction::m_ap, BEdge2DInteraction::m_break, BEdge2DInteraction::m_dist, BEdge2DInteraction::m_eid, BEdge2DInteraction::m_k, BEdge2DInteraction::m_pid, pop_double(), pop_int(), and pop_vec3().

Here is the call graph for this function:

◆ unpack() [3/32]

template<>
void TML_PackedMessageInterface::unpack ( BTriangleInteraction I)

◆ unpack() [4/32]

template<>
void TML_PackedMessageInterface::unpack ( CAdhesiveFriction I)

◆ unpack() [5/32]

template<>
void TML_PackedMessageInterface::unpack ( CBasicParticle p)

References pop_double(), and pop_int().

Here is the call graph for this function:

◆ unpack() [6/32]

template<>
void TML_PackedMessageInterface::unpack ( CBondedInteraction I)

Unpack a CBondedInteraction from a TML packed message

Parameters
Ithe interaction

References CBondedInteraction::m_break, CBondedInteraction::m_dist, AInteraction::m_id, CBondedInteraction::m_k, CBondedInteraction::m_r0, pop_double(), pop_int(), and CBondedInteraction::setTag().

Here is the call graph for this function:

◆ unpack() [7/32]

template<>
void TML_PackedMessageInterface::unpack ( CCappedBondedInteraction I)

◆ unpack() [8/32]

template<>
void TML_PackedMessageInterface::unpack ( CFractalFriction I)

Unpack a CFractalFriction from a TML packed message

Parameters
Ithe interaction

References CFrictionInteraction::m_dt, AInteraction::m_id, CFrictionInteraction::m_k, CFrictionInteraction::m_ks, CFrictionInteraction::m_mu, CFrictionInteraction::m_r0, pop_double(), and pop_int().

Here is the call graph for this function:

◆ unpack() [9/32]

template<>
void TML_PackedMessageInterface::unpack ( CFrictionInteraction I)

◆ unpack() [10/32]

◆ unpack() [11/32]

◆ unpack() [12/32]

◆ unpack() [13/32]

template<>
void TML_PackedMessageInterface::unpack ( CParticle p)

◆ unpack() [14/32]

◆ unpack() [15/32]

◆ unpack() [16/32]

◆ unpack() [17/32]

◆ unpack() [18/32]

◆ unpack() [19/32]

◆ unpack() [20/32]

◆ unpack() [21/32]

template<>
void TML_PackedMessageInterface::unpack ( CShortBondedInteraction I)

Unpack a CBondedInteraction from a TML packed message

Parameters
Ithe interaction

References CBondedInteraction::m_break, CBondedInteraction::m_dist, AInteraction::m_id, CBondedInteraction::m_k, CBondedInteraction::m_r0, pop_double(), pop_int(), and CBondedInteraction::setTag().

Here is the call graph for this function:

◆ unpack() [22/32]

template<>
void TML_PackedMessageInterface::unpack ( CVWFriction I)

Unpack a CFrictionInteraction from a TML packed message

Parameters
Ithe interaction

References CVWFriction::m_alpha, CFrictionInteraction::m_dt, AInteraction::m_id, CFrictionInteraction::m_k, CFrictionInteraction::m_ks, CFrictionInteraction::m_mu, CFrictionInteraction::m_r0, pop_double(), and pop_int().

Here is the call graph for this function:

◆ unpack() [23/32]

template<>
void TML_PackedMessageInterface::unpack ( double &  d)

References pop_double().

Here is the call graph for this function:

◆ unpack() [24/32]

template<>
void TML_PackedMessageInterface::unpack ( int &  i)

References pop_int().

Here is the call graph for this function:

◆ unpack() [25/32]

template<>
void TML_PackedMessageInterface::unpack ( MeshEdgeData2D d)

Unpack MeshEdgeData2D from a TML packed message

References MeshEdgeData2D::id, MeshEdgeData2D::p1, MeshEdgeData2D::p2, pop_int(), and MeshEdgeData2D::tag.

Here is the call graph for this function:

◆ unpack() [26/32]

template<>
void TML_PackedMessageInterface::unpack ( MeshNodeData d)

Unpack MeshNodeData from a TML packed message

References MeshNodeData::id, pop_double(), pop_int(), MeshNodeData::tag, MeshNodeData::x, MeshNodeData::y, and MeshNodeData::z.

Here is the call graph for this function:

◆ unpack() [27/32]

template<>
void TML_PackedMessageInterface::unpack ( MeshNodeData2D d)

Unpack MeshNodeData2D from a TML packed message

References MeshNodeData2D::id, pop_double(), pop_int(), MeshNodeData2D::tag, MeshNodeData2D::x, and MeshNodeData2D::y.

Here is the call graph for this function:

◆ unpack() [28/32]

template<>
void TML_PackedMessageInterface::unpack ( MeshTriData d)

Unpack MeshTriData from a TML packed message

References MeshTriData::id, MeshTriData::p1, MeshTriData::p2, MeshTriData::p3, pop_int(), and MeshTriData::tag.

Here is the call graph for this function:

◆ unpack() [29/32]

template<>
void TML_PackedMessageInterface::unpack ( pair< int, double > &  p)

◆ unpack() [30/32]

template<typename T1 , typename T2 >
void TML_PackedMessageInterface::unpack ( pair< T1, T2 > &  p)

◆ unpack() [31/32]

template<typename T >
void TML_PackedMessageInterface::unpack ( T &  )

◆ unpack() [32/32]

template<>
void TML_PackedMessageInterface::unpack ( Vec3 v)

Unpack a Vec3 from a TML packed message

Parameters
pthe Vec3

References pop_doubles().

Here is the call graph for this function:

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