MFMv2.0.10
Movable Feast Machine Simulator 2.0.10
|
Public Types | |
enum | { R = P::EVENT_WINDOW_RADIUS, BITS = P::BITS_PER_ATOM, BIRTH_AGE_POS = P3Atom<P>::P3_STATE_BITS_POS, BIRTH_AGE_LEN = 8, CURRENT_AGE_POS = BIRTH_AGE_POS + BIRTH_AGE_LEN, CURRENT_AGE_LEN = 8, WAPAT_FIRST_FREE_POS = CURRENT_AGE_POS + CURRENT_AGE_LEN } |
typedef CC::ATOM_TYPE | T |
typedef CC::PARAM_CONFIG | P |
typedef BitField< BitVector < BITS >, VD::U32, CURRENT_AGE_LEN, CURRENT_AGE_POS > | AFCurrentAge |
typedef BitField< BitVector < BITS >, VD::U32, BIRTH_AGE_LEN, BIRTH_AGE_POS > | AFBirthAge |
Public Member Functions | |
u32 | GetCurrentAge (const T &us) const |
void | SetCurrentAge (T &us, const u32 age) const |
u32 | GetBirthAge (const T &us) const |
void | SetBirthAge (T &us, const u32 age) const |
AbstractElement_WaPat (const UUID &uuid) | |
virtual u32 | PercentMovable (const T &you, const T &me, const SPoint &offset) 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 void | Behavior (EventWindow< CC > &window) const =0 |
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 |
virtual u32 | Diffusability (EventWindow< CC > &ew, SPoint nowAt, SPoint maybeAt) 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 () |
Additional Inherited Members | |
![]() | |
static const u32 | COMPLETE_DIFFUSABILITY = 1000 |
![]() | |
virtual T | BuildDefaultAtom () const |
const BitVector < P::BITS_PER_ATOM > & | GetBits (const T &atom) const |
BitVector< P::BITS_PER_ATOM > & | GetBits (T &atom) const |
bool | IsValidAtomicSymbol (const char *symbol) |
void | SetAtomicSymbol (const char *symbol) |
void | SetName (const char *name) |
void | Diffuse (EventWindow< CC > &window) const |
|
inlinevirtual |
Determines how likely an Atom of this type is to be swapped with during diffusal.
Implements MFM::Element< CC >.
Reimplemented in MFM::Element_Shark< CC >, and MFM::Element_Fish< CC >.