MFMv2.0.10
Movable Feast Machine Simulator 2.0.10
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Attributes
MFM::AbstractElement_Reprovert< CC > Class Template Reference
Inheritance diagram for MFM::AbstractElement_Reprovert< CC >:
MFM::Element< CC > MFM::Element_Consumer< CC > MFM::Element_Emitter< CC >

Public Member Functions

 AbstractElement_Reprovert (const UUID &uuid)
 
u32 GetBelow (const T &atom, u32 badType) const
 
bool SetBelow (T &atom, u32 value) const
 
u32 GetAbove (const T &atom, u32 badType) const
 
bool SetAbove (T &atom, u32 value) const
 
u32 GetGap (const T &atom, u32 badType) const
 
bool SetGap (T &atom, u32 value) const
 
virtual u32 Diffusability (EventWindow< CC > &ew, SPoint nowAt, SPoint maybeAt) const
 
void ReproduceVertically (EventWindow< CC > &window) const
 
- Public Member Functions inherited from MFM::Element< CC >
 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 UUIDGetUUID () 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
 
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 ()
 

Static Public Attributes

static const u32 STATE_BELOW_IDX = 0
 
static const u32 STATE_BELOW_LEN = 9
 
static const u32 STATE_ABOVE_IDX = STATE_BELOW_IDX+STATE_BELOW_LEN
 
static const u32 STATE_ABOVE_LEN = 9
 
static const u32 STATE_GAP_IDX = STATE_ABOVE_IDX+STATE_ABOVE_LEN
 
static const u32 STATE_GAP_LEN = 2
 
static const u32 STATE_BITS = STATE_GAP_IDX+STATE_GAP_LEN
 
static const u32 MAX_BELOW = (1<<STATE_BELOW_LEN)-1
 
static const u32 MAX_ABOVE = (1<<STATE_ABOVE_LEN)-1
 
- Static Public Attributes inherited from MFM::Element< CC >
static const u32 COMPLETE_DIFFUSABILITY = 1000
 

Additional Inherited Members

- Protected Member Functions inherited from MFM::Element< CC >
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
 
virtual u32 PercentMovable (const T &you, const T &me, const SPoint &offset) const =0
 

Member Function Documentation

template<class CC >
virtual u32 MFM::AbstractElement_Reprovert< CC >::Diffusability ( EventWindow< CC > &  ew,
SPoint  nowAt,
SPoint  maybeAt 
) const
inlinevirtual

Reprovert Elements do not diffuse

Reimplemented from MFM::Element< CC >.


The documentation for this class was generated from the following file: