|
libbio
|
#include <Periodic.h>


Static Public Member Functions | |
| static Milliseconds | GetDefaultInterval () |
| static Properties | GetClassProperties () |
| static Symmetry * | MakePeriodicSymmetry () |
Static Public Member Functions inherited from bio::physical::Class< Periodic > | |
| static Pointer< Periodic > | Convert (Pointer< Wave > wave) |
Static Public Member Functions inherited from bio::physical::Wave | |
| static Properties | GetResonanceBetween (ConstWaves waves) |
| static Properties | GetResonanceBetween (Pointer< const Wave > wave1, Pointer< const Wave > wave2) |
| static Properties | GetResonanceBetween (Pointer< const Wave > wave, const Properties &properties) |
Protected Attributes | |
| Milliseconds | mInterval |
| Timestamp | mLastCrestTimestamp |
Protected Attributes inherited from bio::physical::Class< Periodic > | |
| Pointer< Periodic > | mObject |
Protected Attributes inherited from bio::physical::Wave | |
| LazyPointer< Symmetry > | mSymmetry |
| bool | mHasSignal |
| uint16_t | mTypeId |
Protected Attributes inherited from bio::VirtualBase | |
| bool | mHasBeenInitialized |
Additional Inherited Members | |
Protected Member Functions inherited from bio::VirtualBase | |
| VirtualBase () | |
| virtual | ~VirtualBase () |
| void | Initialize (ByteStreams &args) |
| void | Initialize (ByteStream arg1) |
| void | Initialize (ByteStream arg1, ByteStream arg2) |
| void | Initialize (ByteStream arg1, ByteStream arg2, ByteStream arg3) |
Periodic objects do work at regular intervals.
| bio::physical::Periodic::Periodic | ( | Milliseconds | interval = GetDefaultInterval() | ) |
| interval | the period that Crest() wants to be called in milliseconds. |
|
virtual |
|
virtual |
Checks the current time & calls Crest, if a long enough interval has passed.
Call this method regularly (i.e. on a clock).
Reimplemented in bio::cellular::Class< T >, bio::cellular::Class< Cell >, bio::cellular::Class< CellularForwarder< CALLER, CLOBBER > >, bio::cellular::Class< CellularForwarder< FinalCell, bio::cellular::Cell > >, bio::cellular::Class< CellularForwarder< FinalOrganelle, bio::cellular::Organelle > >, bio::cellular::Class< Habitat >, bio::cellular::Class< Organ >, bio::cellular::Class< Organelle >, bio::cellular::Class< Organism >, bio::cellular::Class< OrganSystem >, bio::cellular::Class< Tissue >, bio::neural::Neuron, bio::CellularForwarder< CALLER, CLOBBER >, bio::CellularForwarder< FinalCell, bio::cellular::Cell >, and bio::CellularForwarder< FinalOrganelle, bio::cellular::Organelle >.
Crest()s occur at Periodic::mIntervals.
Define your main Periodic logic here.
This method must be fast:
Reimplemented in bio::cellular::Class< T >, bio::cellular::Class< Cell >, bio::cellular::Class< CellularForwarder< CALLER, CLOBBER > >, bio::cellular::Class< CellularForwarder< FinalCell, bio::cellular::Cell > >, bio::cellular::Class< CellularForwarder< FinalOrganelle, bio::cellular::Organelle > >, bio::cellular::Class< Habitat >, bio::cellular::Class< Organ >, bio::cellular::Class< Organelle >, bio::cellular::Class< Organism >, bio::cellular::Class< OrganSystem >, bio::cellular::Class< Tissue >, bio::chemical::Solute, bio::neural::Neuron, bio::CellularForwarder< CALLER, CLOBBER >, bio::CellularForwarder< FinalCell, bio::cellular::Cell >, and bio::CellularForwarder< FinalOrganelle, bio::cellular::Organelle >.
|
static |
All Periodic objects share the "Periodic" Property.
|
static |
| Milliseconds bio::physical::Periodic::GetInterval | ( | ) | const |
| float bio::physical::Periodic::GetIntervalInSeconds | ( | ) | const |
|
virtual |
Wave method. See that class for details.
Reimplemented from bio::physical::Wave.
Reimplemented in bio::CellularForwarder< CALLER, CLOBBER >, bio::CellularForwarder< FinalCell, bio::cellular::Cell >, and bio::CellularForwarder< FinalOrganelle, bio::cellular::Organelle >.
| Timestamp bio::physical::Periodic::GetTimeLastCrested | ( | ) | const |
|
virtual |
VirtualBase required method. See that class for details (in common/)
| args |
Implements bio::VirtualBase.
|
static |
Lazy-Symmetry factory wired into the Wave LazyPointer by the physical::Class<Periodic> factory ctor — defers the eager new Symmetry to first Spin()/deref.
Required method from Wave. See that class for details.
Reconstruct *this from the given Symmetry.
| symmetry |
Reimplemented from bio::physical::Wave.
Reimplemented in bio::neural::StemCell.
|
virtual |
Set how quickly *this should Crest()
| interval |
Reimplemented in bio::cellular::Class< T >, bio::cellular::Class< Cell >, bio::cellular::Class< CellularForwarder< CALLER, CLOBBER > >, bio::cellular::Class< CellularForwarder< FinalCell, bio::cellular::Cell > >, bio::cellular::Class< CellularForwarder< FinalOrganelle, bio::cellular::Organelle > >, bio::cellular::Class< Habitat >, bio::cellular::Class< Organ >, bio::cellular::Class< Organelle >, bio::cellular::Class< Organism >, bio::cellular::Class< OrganSystem >, and bio::cellular::Class< Tissue >.
Sets the timestamp of the last time *this Crested.
USE WITH CAUTION!
| lastCrest |
Required method from Wave. See that class for details.
Reimplemented from bio::physical::Wave.
Reimplemented in bio::neural::StemCell.
|
protected |
|
protected |