45 unsigned int n,
bool toGlobal )
const = 0;
58 void setName(
const string& val );
61 virtual unsigned int numData()
const = 0;
82 virtual unsigned int startDataIndex(
unsigned int nodeNum )
const = 0;
87 virtual unsigned int rawIndex(
unsigned int dataIndex )
const = 0;
105 virtual unsigned int getNumOnNode(
unsigned int node )
const = 0;
149 virtual char*
data(
unsigned int rawIndex,
150 unsigned int fieldIndex = 0 )
const = 0;
156 virtual void resize(
unsigned int newNumData ) = 0;
163 unsigned int rawIndex,
unsigned int newNumField ) = 0;
226 vector< vector< bool > >& targetNodes
232 unsigned int srcNum, vector< vector< bool > >& targetNodes );
264 void printMsgDigest(
unsigned int srcIndex,
unsigned int dataIndex )
const;
280 const vector< MsgDigest >&
msgDigest(
unsigned int index );
291 const vector< ObjId >&
msgIn()
const;
321 ObjId mid, vector< pair< BindIndex, FuncId > >& ret )
const;
332 vector< ObjId >& tgt,
333 vector< string >& func
344 vector< ObjId >& src,
345 vector< string >& sender
380 vector< pair< Id, unsigned int> >& ret,
const DestFinfo* finfo)
const vector< ObjId > & msgIn() const
void putOffNodeTargetsInDigest(unsigned int srcNum, vector< vector< bool > > &targetNodes)
void setName(const string &val)
vector< ObjId > getMsgTargets(DataId srcDataId, const SrcFinfo *finfo) const
unsigned int getOutputs(vector< Id > &ret, const SrcFinfo *finfo) const
void clearBinding(BindIndex b)
unsigned int getMsgTargetAndFunctions(DataId srcDataId, const SrcFinfo *finfo, vector< ObjId > &tgt, vector< string > &func) const
unsigned int getInputsWithTgtIndex(vector< pair< Id, unsigned int > > &ret, const DestFinfo *finfo) const
void printMsgDigest(unsigned int srcIndex, unsigned int dataIndex) const
virtual void zombieSwap(const Cinfo *zCinfo)
virtual func, this base version must be called by all derived classes
void addMsgAndFunc(ObjId mid, FuncId fid, BindIndex bindIndex)
unsigned int getMsgSourceAndSender(FuncId fid, vector< ObjId > &src, vector< string > &sender) const
void innerSetTick(unsigned int tick)
bool isRewired_
True if messages have been changed and need to digestMessages.
unsigned int getInputs(vector< Id > &ret, const DestFinfo *finfo) const
unsigned int getFieldsOfOutgoingMsg(ObjId mid, vector< pair< BindIndex, FuncId > > &ret) const
virtual Element * copyElement(Id newParent, Id newId, unsigned int n, bool toGlobal) const =0
bool hasMsgs(BindIndex b) const
Id id_
Name of the Element.
const vector< MsgDigest > & msgDigest(unsigned int index)
virtual unsigned int getNumOnNode(unsigned int node) const =0
ObjId findCaller(FuncId fid) const
virtual unsigned int numField(unsigned int rawIndex) const =0
Returns number of field entries for specified data.
virtual bool hasFields() const =0
const vector< MsgFuncBinding > * getMsgAndFunc(BindIndex b) const
const Cinfo * cinfo() const
virtual unsigned int numData() const =0
Returns number of data entries across all nodes.
virtual bool isGlobal() const =0
True if there is a copy of every dataEntry on all nodes.
virtual unsigned int localDataStart() const =0
Returns index of first data entry on this node.
const Cinfo * cinfo_
Stores the unique identifier for Element.
virtual unsigned int numLocalData() const =0
Returns number of local data entries on this node.
vector< vector< MsgDigest > > msgDigest_
virtual unsigned int totNumLocalField() const =0
unsigned int getInputMsgs(vector< ObjId > &caller, FuncId fid) const
Element(Id id, const Cinfo *c, const string &name)
void putTargetsInDigest(unsigned int srcNum, const MsgFuncBinding &mfb, const FuncOrder &fo, vector< vector< bool > > &targetNodes)
static void destroyElementTree(const vector< Id > &tree)
virtual char * data(unsigned int rawIndex, unsigned int fieldIndex=0) const =0
void dropAllMsgsFromSrc(Id src)
unsigned int getNeighbors(vector< Id > &ret, const Finfo *finfo) const
virtual unsigned int rawIndex(unsigned int dataIndex) const =0
virtual unsigned int getNode(unsigned int dataIndex) const =0
Returns node number of specified dataIndex.
vector< vector< MsgFuncBinding > > msgBinding_
void clearAllMsgs()
Used upon ending of MOOSE session, to rapidly clear out messages.
int tick_
Returns tick on which element is scheduled. -1 for disabled.
const string & getName() const
virtual void resizeField(unsigned int rawIndex, unsigned int newNumField)=0
void replaceCinfo(const Cinfo *newCinfo)
Support function for zombieSwap, replaces Cinfo.
unsigned int findBinding(MsgFuncBinding b) const
virtual unsigned int startDataIndex(unsigned int nodeNum) const =0
Returns start dataIndex on specified node.
virtual void resize(unsigned int newNumData)=0
bool isDoomed_
True if the element is marked for destruction.