MOOSE - Multiscale Object Oriented Simulation Environment
|
#include <OneToAllMsg.h>
Public Member Functions | |
Msg * | copy (Id origSrc, Id newSrc, Id newTgt, FuncId fid, unsigned int b, unsigned int n) const |
ObjId | findOtherEnd (ObjId end) const |
Eref | firstTgt (const Eref &src) const |
DataId | getI1 () const |
Return the first DataId. More... | |
Id | managerId () const |
OneToAllMsg (Eref e1, Element *e2, unsigned int msgIndex) | |
void | setI1 (DataId i1) |
void | sources (vector< vector< Eref > > &v) const |
void | targets (vector< vector< Eref > > &v) const |
~OneToAllMsg () | |
![]() | |
Element * | e1 () const |
Element * | e2 () const |
ObjId | getAdjacent (ObjId) const |
vector< string > | getDestFieldsOnE1 () const |
vector< string > | getDestFieldsOnE2 () const |
Id | getE1 () const |
Id | getE2 () const |
vector< string > | getSrcFieldsOnE1 () const |
vector< string > | getSrcFieldsOnE2 () const |
bool | isForward (const Element *src) const |
ObjId | mid () const |
Msg (ObjId mid, Element *e1, Element *e2) | |
Constructor. More... | |
virtual | ~Msg () |
Destructor. More... | |
Static Public Member Functions | |
static const Cinfo * | initCinfo () |
Setup function for Element-style access to Msg fields. More... | |
static char * | lookupMsg (unsigned int index) |
Static function for Msg access. More... | |
static unsigned int | numMsg () |
Assign the first DataId. More... | |
![]() | |
static void | clearAllMsgs () |
static void | deleteMsg (ObjId mid) |
static const Msg * | getMsg (ObjId m) |
static const Cinfo * | initCinfo () |
static unsigned int | initMsgManagers () |
static bool | isLastTrump () |
True when MOOSE has been terminated and is being cleaned up. More... | |
static const Msg * | lastMsg () |
Private Attributes | |
DataId | i1_ |
Static Private Attributes | |
static Id | managerId_ |
static vector< OneToAllMsg * > | msg_ |
Friends | |
unsigned int | Msg::initMsgManagers () |
void | testGetMsgs () |
Additional Inherited Members | |
![]() | |
Element * | e1_ |
Index of this Msg on the msg_ vector. More... | |
Element * | e2_ |
Element 1 attached to Msg. More... | |
ObjId | mid_ |
![]() | |
static bool | lastTrump_ = false |
Flag to indicate termination of program. More... | |
static Id | msgManagerId_ |
Element 2 attached to Msg. More... | |
Manages projection from a single entry in e1 to all array entries in e2.
Definition at line 18 of file OneToAllMsg.h.
Definition at line 17 of file OneToAllMsg.cpp.
References msg_.
Referenced by copy().
OneToAllMsg::~OneToAllMsg | ( | ) |
|
virtual |
Make a copy of this Msg. The original msg was on origSrc. The new Msg should go from newSrc to newTgt, and have the function fid, on bindIndex b. The copy may have to be a higher-order Msg type to handle arrays if n > 1. Note that n is not the number of msgs, but the multiplier by which numData will be scaled.
Implements Msg.
Definition at line 81 of file OneToAllMsg.cpp.
References Element::addMsgAndFunc(), Msg::e1(), Msg::e2(), Id::element(), i1_, Msg::mid(), and OneToAllMsg().
Find the other end of this Msg. In most cases this is a straightforward return of e1 or e2, plus perhaps a DataId. But in some complex msgs we need to figure out DataIds that match with the target. In many-to-one cases we just return the first entry. If no Element match, return ObjId( Id(), DataId::bad() ) If Element e matches but not DataId, return ObjId( e.id(), DataId::bad() )
Implements Msg.
Definition at line 69 of file OneToAllMsg.cpp.
References BADINDEX, ObjId::dataIndex, Msg::e1(), Msg::e2(), ObjId::element(), and i1_.
Obtain the first target Eref for the specified Src Eref It is really meant only to work with messages with a single target ObjId for each given src, typically OneToOne.
Implements Msg.
Definition at line 40 of file OneToAllMsg.cpp.
References Msg::e1_, Msg::e2_, Eref::element(), and i1_.
DataId OneToAllMsg::getI1 | ( | ) | const |
Return the first DataId.
Return the first DataId
Definition at line 143 of file OneToAllMsg.cpp.
References i1_.
Referenced by initCinfo().
|
static |
Setup function for Element-style access to Msg fields.
Definition at line 110 of file OneToAllMsg.cpp.
References getI1(), Msg::initCinfo(), msgCinfo, and setI1().
Referenced by Msg::initMsgManagers().
|
static |
Static function for Msg access.
Definition at line 162 of file OneToAllMsg.cpp.
References msg_.
Referenced by Msg::clearAllMsgs(), and Msg::initMsgManagers().
Id OneToAllMsg::managerId | ( | ) | const |
|
static |
Assign the first DataId.
Static function for Msg access.
Msg lookup functions
Definition at line 156 of file OneToAllMsg.cpp.
References msg_.
Referenced by Msg::clearAllMsgs(), Shell::doCreate(), Shell::doUseClock(), and Msg::initMsgManagers().
void OneToAllMsg::setI1 | ( | DataId | i1 | ) |
Definition at line 148 of file OneToAllMsg.cpp.
References Msg::e1(), Msg::e2(), i1_, and Element::markRewired().
Referenced by initCinfo().
|
virtual |
Return all the sources of e2 from e1, that is, all the msgs coming into specified entries on e2 from e1.
ALLDATA used when the sources include all data entries on a source. Indexing is v[dataId in range e2.numData][src list]
Implements Msg.
Definition at line 49 of file OneToAllMsg.cpp.
References Msg::e1_, Msg::e2_, i1_, and Element::numData().
|
virtual |
Return all the targets of e1 on e2, that is, all the msgs going from specified entries on e1 to e2. ALLDATA used when the targets include all data entries on a target. Indexing is v[dataId in range e1.numData][tgt list]
Implements Msg.
Definition at line 57 of file OneToAllMsg.cpp.
References ALLDATA, Msg::e1_, Msg::e2_, i1_, and Element::numData().
|
friend |
|
friend |
Tests message inspection fields on Neutral. These include msgOut: all outgoing Msgs, reported as ObjId of their managers msgIn: all incoming Msgs, reported as ObjId of their managers msgSrc: All source Ids of messages coming into specified field msgDest: All dest Ids of messages going out of specified field
Definition at line 1518 of file testShell.cpp.
|
private |
Definition at line 49 of file OneToAllMsg.h.
Referenced by copy(), findOtherEnd(), firstTgt(), getI1(), setI1(), sources(), and targets().
|
staticprivate |
Definition at line 50 of file OneToAllMsg.h.
Referenced by Msg::initMsgManagers(), and managerId().
|
staticprivate |
Definition at line 51 of file OneToAllMsg.h.
Referenced by lookupMsg(), numMsg(), OneToAllMsg(), and ~OneToAllMsg().