|
enum | { R = P::EVENT_WINDOW_RADIUS,
SITES = EVENT_WINDOW_SITES(R),
BITS = P::BITS_PER_ATOM,
XTAL_FIRST_FREE_POS = P3Atom<P>::P3_STATE_BITS_POS
} |
|
typedef CC::ATOM_TYPE | T |
|
typedef CC::PARAM_CONFIG | P |
|
typedef BitVector< SITES > | XtalSites |
|
|
virtual void | GetSites (T &atom, XtalSites &xites, EventWindow< CC > &window) const =0 |
|
virtual bool | IsSameXtal (T &self, const T &otherAtom, EventWindow< CC > &window) const |
|
virtual u32 | GetSymI (T &atom, EventWindow< CC > &window) const =0 |
|
| AbstractElement_Xtal (const UUID &uuid) |
|
virtual u32 | Diffusability (EventWindow< CC > &ew, SPoint nowAt, SPoint maybeAt) const |
|
virtual u32 | PercentMovable (const T &you, const T &me, const SPoint &offset) const |
|
bool | IsAbstractXtalType (EventWindow< CC > &window, u32 type) const |
|
virtual void | Behavior (EventWindow< CC > &window) const |
|
| Element (const UUID &uuid) |
|
void | AllocateType () |
|
u32 | GetType () const |
|
const char * | GetAtomicSymbol () const |
|
const char * | GetName () const |
|
virtual void | AppendDescription (const T *atom, OString64 &desc) const |
|
bool | IsType (u32 type) const |
|
const UUID & | GetUUID () const |
|
virtual const T & | GetDefaultAtom () const |
|
virtual u32 | PhysicsColor () const |
|
virtual const char * | GetDescription () const |
|
virtual u32 | DefaultPhysicsColor () const =0 |
|
virtual u32 | DefaultLowlightColor () const |
|
void | ToggleLowlightPhysicsColor () |
|
virtual u32 | LocalPhysicsColor (const T &atom, u32 selector) const |
|
u32 | NoDiffusability (EventWindow< CC > &ew, SPoint nowAt, SPoint maybeAt) const |
|
const ElementParameters< CC > & | GetElementParameters () const |
|
ElementParameters< CC > & | GetElementParameters () |
|
const AtomicParameters< CC > & | GetAtomicParameters () const |
|
AtomicParameters< CC > & | GetAtomicParameters () |
|
Describes the behavior of this Element. This is invoked when an Atom of this Element is chosen as the center of an EventWindow for an Event, which is given as a parameter.
- Parameters
-
window | The EventWindow describing the Event which is currently being executed. |
Implements MFM::Element< CC >.
Called when self and otherAtom are identical subtypes of AbstractElement_Xtal, to check if there are any additional details that might cause them to actually be different xtals. Given the types are already known identical, IsSameXtal returns true by default, but is overridden by, for example, Element_Xtal_General.
Reimplemented in MFM::Element_Xtal_General< CC >.
Determines how likely an Atom of this type is to be swapped with during diffusal.
- Returns
- an integral percentage, from 0 to 100, describing the desire of an atom of this type to be moved; 0 being impossible to move and 100 being completely fine with moving.
Implements MFM::Element< CC >.
The documentation for this class was generated from the following file: