#include <LocalDataElement.h>
Public Member Functions | |
LocalDataElement (Id id, const Cinfo *c, const string &name, unsigned int numData=1) | |
LocalDataElement (Id id, const Element *orig, unsigned int n) | |
~LocalDataElement () | |
Element * | copyElement (Id newParent, Id newId, unsigned int n, bool toGlobal) const |
unsigned int | numData () const |
Inherited virtual. Returns number of data entries over all nodes. | |
unsigned int | localDataStart () const |
Inherited virtual. Returns index of first entry on this node. | |
unsigned int | getNode (unsigned int dataId) const |
Inherited virtual. Returns node location of specified object. | |
unsigned int | startDataIndex (unsigned int node) const |
Inherited virtual. Returns start DataIndex on specified node. | |
unsigned int | rawIndex (unsigned int dataId) const |
Converts dataId to index on current node. | |
bool | isGlobal () const |
Inherited virtual. Reports if this is Global, which it isn't. | |
unsigned int | getNumOnNode (unsigned int node) const |
Inherited virtual. | |
void | resize (unsigned int newNumData) |
unsigned int | setDataSize (unsigned int numData) |
This is the class for handling the local portion of a data element that is distributed over many nodes. Does block-wise partitioning between nodes.
LocalDataElement::LocalDataElement | ( | Id | id, | |
const Cinfo * | c, | |||
const string & | name, | |||
unsigned int | numData = 1 | |||
) |
This is the main constructor, used by Shell::innerCreate which makes most Elements. Also used to create base Elements to init the simulator in main.cpp. Id is the Id of the new Element Cinfo is the class name is its name numData is the number of data entries, defaults to a singleton.
Referenced by copyElement().
This constructor copies over the original n times. It is used for doing all copies, in Shell::innerCopyElements.
LocalDataElement::~LocalDataElement | ( | ) |
Virtual Destructor
Element * LocalDataElement::copyElement | ( | Id | newParent, | |
Id | newId, | |||
unsigned int | n, | |||
bool | toGlobal | |||
) | const [virtual] |
Virtual copier. Makes a copy of self.
Implements Element.
References LocalDataElement().
unsigned int LocalDataElement::getNode | ( | unsigned int | dataId | ) | const [virtual] |
Inherited virtual. Returns node location of specified object.
Implements Element.
References ALLDATA, Shell::myNode(), and DataElement::numLocalData().
unsigned int LocalDataElement::getNumOnNode | ( | unsigned int | node | ) | const [virtual] |
bool LocalDataElement::isGlobal | ( | ) | const [inline, virtual] |
Inherited virtual. Reports if this is Global, which it isn't.
Implements Element.
unsigned int LocalDataElement::localDataStart | ( | ) | const [virtual] |
Inherited virtual. Returns index of first entry on this node.
Implements Element.
unsigned int LocalDataElement::numData | ( | ) | const [virtual] |
Inherited virtual. Returns number of data entries over all nodes.
Implements Element.
Referenced by getNumOnNode().
unsigned int LocalDataElement::rawIndex | ( | unsigned int | dataId | ) | const [virtual] |
Converts dataId to index on current node.
Implements Element.
void LocalDataElement::resize | ( | unsigned int | newNumData | ) | [virtual] |
the data() function is inherited from DataElement and used as is. Inherited virtual. Changes the total number of data entries on Element in entire simulation. Not permitted for FieldElements since they are just fields on the data.
Reimplemented from DataElement.
References setDataSize().
unsigned int LocalDataElement::setDataSize | ( | unsigned int | numData | ) |
References Shell::myNode(), and Shell::numNodes().
Referenced by resize().
unsigned int LocalDataElement::startDataIndex | ( | unsigned int | node | ) | const [virtual] |
Inherited virtual. Returns start DataIndex on specified node.
Inherited virtual. Returns start DataId on specified node.
Implements Element.