Develop Biology
The language of life
|
#include <OrganSystem.h>
Public Member Functions | |
BIO_DISAMBIGUATE_ALL_CLASS_METHODS (cellular, OrganSystem) BIO_DEFAULT_IDENTIFIABLE_CONSTRUCTORS(cellular | |
filter::Cellular ()) virtual ~OrganSystem() | |
virtual Code | Organogenesis () |
& | OrganSystemPerspective::Instance () |
Public Member Functions inherited from bio::chemical::LinearMotif< Organ * > | |
LinearMotif (const Contents *contents, physical::Perspective< StandardDimension > *perspective=NULL) | |
LinearMotif (const LinearMotif< Organ * > &toCopy) | |
LinearMotif (physical::Perspective< StandardDimension > *perspective=NULL) | |
virtual | ~LinearMotif () |
virtual Organ * | AddImplementation (Organ * content) |
virtual Code | Attenuate (const physical::Wave *other) |
BIO_DISAMBIGUATE_REQUIRED_CLASS_METHODS (chemical, LinearMotif< Organ * >) BIO_DISAMBIGUATE_OPTIONAL_CLASS_METHODS(physical | |
virtual void | ClearImplementation () |
virtual Organ * | CreateImplementation (StandardDimension id) |
virtual Code | Disattenuate (const physical::Wave *other) |
virtual Emission | ForEachImplementation (ExcitationBase *excitation) |
virtual Organ * | GetByIdImplementation (StandardDimension id) |
virtual const Organ * | GetByIdImplementation (StandardDimension id) const |
virtual Organ * | GetByNameImplementation (Name name) |
virtual const Organ * | GetByNameImplementation (Name name) const |
virtual Organ * | GetOrCreateByIdImplementation (StandardDimension id) |
virtual Organ * | GetOrCreateByNameImplementation (Name name) |
virtual std::string | GetStringFromImplementation (std::string separator=", ") |
physical::Perspective< StandardDimension > * | GetStructuralPerspective () |
const physical::Perspective< StandardDimension > * | GetStructuralPerspective () const |
virtual bool | HasImplementation (const Organ * &content) const |
virtual void | ImportImplementation (const LinearMotif< Organ * > *other) |
virtual Code | InsertImplementation (Organ * toAdd, const Position position=BOTTOM, const StandardDimension optionalPositionArg=0, const bool transferSubContents=false) |
Public Member Functions inherited from bio::chemical::Elementary< LinearMotif< Organ * > > | |
Elementary () | |
Elementary (const Properties properties) | |
virtual | ~Elementary () |
void | RegisterProperties (const Properties properties) |
Public Member Functions inherited from bio::chemical::Class< LinearMotif< Organ * > > | |
BIO_DISAMBIGUATE_ALL_CLASS_METHODS (physical, LinearMotif< Organ * >) Class(LinearMotif< Organ * > *object | |
Public Member Functions inherited from bio::physical::Class< T > | |
Class (T *object, Symmetry *symmetry=NULL) | |
virtual | ~Class () |
virtual Wave * | AsWave () |
virtual const Wave * | AsWave () const |
virtual Wave * | Clone () const |
T * | Convert (Wave *wave) |
virtual | operator T* () |
virtual | operator Wave * () |
Public Member Functions inherited from bio::physical::Wave | |
Wave (Symmetry *symmetry=NULL) | |
virtual | ~Wave () |
virtual chemical::Atom * | AsAtom () |
virtual const chemical::Atom * | AsAtom () const |
virtual Wave * | AsWave () |
virtual const Wave * | AsWave () const |
virtual Code | Attenuate (const Wave *other) |
virtual Wave * | Clone () const |
virtual Wave * | Demodulate () |
virtual const Wave * | Demodulate () const |
virtual Code | Disattenuate (const Wave *other) |
virtual Properties | GetProperties () const |
virtual Wave * | Modulate (Wave *signal) |
virtual Wave * | operator* () |
virtual const Wave * | operator* () const |
virtual Wave * | operator* (Wave *signal) |
virtual void | operator+ (const Wave *other) |
virtual void | operator- (const Wave *other) |
virtual void | operator| (Symmetry *symmetry) |
virtual Code | Reify (Symmetry *symmetry) |
virtual Symmetry * | Spin () const |
Public Member Functions inherited from bio::physical::Identifiable< StandardDimension > | |
BIO_DISAMBIGUATE_ALL_CLASS_METHODS (physical, Identifiable< StandardDimension >) explicit Identifiable(Perspective< StandardDimension > *perspective | |
void | CloneIntoName (Name name) |
Public Member Functions inherited from bio::physical::Observer< Perspective< StandardDimension > > | |
Observer (const Observer &other) | |
Observer (Perspective *perspective=NULL) | |
virtual | ~Observer () |
virtual Perspective * | GetPerspective () const |
virtual void | SetPerspective (Perspective *perspective) |
Public Member Functions inherited from bio::physical::Class< Identifiable< StandardDimension > > | |
Class (Identifiable< StandardDimension > *object, Symmetry *symmetry=NULL) | |
virtual | ~Class () |
virtual Wave * | AsWave () |
virtual const Wave * | AsWave () const |
virtual Wave * | Clone () const |
Identifiable< StandardDimension > * | Convert (Wave *wave) |
virtual | operator Identifiable< StandardDimension > * () |
virtual | operator Wave * () |
Public Member Functions inherited from bio::log::Writer | |
Writer (Engine *logEngine, Filter logFilter) | |
virtual | ~Writer () |
BIO_DISAMBIGUATE_ALL_CLASS_METHODS (physical, Writer) Writer() | |
void | ExternalLog (Filter logFilter, Level level, const char *format,...) const |
Engine * | GetLogEngine () |
const Engine * | GetLogEngine () const |
bool | HasLogEngine () const |
virtual void | SetLogEngine (Engine *logEngine) |
Public Member Functions inherited from bio::physical::Filterable | |
Filterable (Filter filter) | |
virtual | ~Filterable () |
BIO_DISAMBIGUATE_ALL_CLASS_METHODS (physical, Filterable) Filterable() | |
Filter | GetFilter () const |
virtual void | InitializeImplementation (ByteStreams args) |
virtual Code | Reify (Symmetry *symmetry) |
virtual void | SetFilter (Filter filter) |
virtual Symmetry * | Spin () const |
Public Member Functions inherited from bio::physical::Class< Filterable > | |
Class (Filterable *object, Symmetry *symmetry=NULL) | |
virtual | ~Class () |
virtual Wave * | AsWave () |
virtual const Wave * | AsWave () const |
virtual Wave * | Clone () const |
Filterable * | Convert (Wave *wave) |
virtual | operator Filterable * () |
virtual | operator Wave * () |
Public Member Functions inherited from bio::physical::Class< Writer > | |
Class (Writer *object, Symmetry *symmetry=NULL) | |
virtual | ~Class () |
virtual Wave * | AsWave () |
virtual const Wave * | AsWave () const |
virtual Wave * | Clone () const |
Writer * | Convert (Wave *wave) |
virtual | operator Wave * () |
virtual | operator Writer * () |
Public Member Functions inherited from bio::chemical::Atom | |
Atom (const Atom &other) | |
virtual | ~Atom () |
template<typename T > | |
T | As () |
template<typename T > | |
const T | As () const |
template<typename T > | |
T | AsBonded () |
template<typename T > | |
const T | AsBonded () const |
template<typename T > | |
T | AsBondedQuantum () |
template<typename T > | |
const T | AsBondedQuantum () const |
virtual Code | Attenuate (const Wave *other) |
BIO_DISAMBIGUATE_ALL_CLASS_METHODS (physical, Atom) explicit Atom() | |
template<typename T > | |
bool | BreakBond (T toDisassociate, BondType type=bond_type::Unknown()) |
virtual Code | Disattenuate (const Wave *other) |
template<typename T > | |
bool | FormBond (T toBond, BondType type=bond_type::Unknown()) |
Bonds * | GetAllBonds () |
const Bonds * | GetAllBonds () const |
Wave * | GetBonded (Valence position) |
const Wave * | GetBonded (Valence position) const |
template<typename T > | |
Valence | GetBondPosition () const |
Valence | GetBondPosition (AtomicNumber bondedId) const |
Valence | GetBondPosition (Name typeName) const |
template<typename T > | |
BondType | GetBondType () const |
BondType | GetBondType (Valence position) const |
template<typename T > | |
operator T () | |
virtual Code | Reify (physical::Symmetry *symmetry) |
virtual physical::Symmetry * | Spin () const |
Public Member Functions inherited from bio::physical::Class< Atom > | |
Class (Atom *object, Symmetry *symmetry=NULL) | |
virtual | ~Class () |
virtual Wave * | AsWave () |
virtual const Wave * | AsWave () const |
virtual Wave * | Clone () const |
Atom * | Convert (Wave *wave) |
virtual | operator Atom * () |
virtual | operator Wave * () |
Public Member Functions inherited from bio::chemical::UnorderedMotif< Organ * > | |
UnorderedMotif (const Contents *contents) | |
UnorderedMotif (const UnorderedMotif< Organ * > *toCopy) | |
virtual | ~UnorderedMotif () |
virtual Organ * | AddImplementation (const Organ * content) |
BIO_DISAMBIGUATE_ALL_CLASS_METHODS (chemical, UnorderedMotif< Organ * >) UnorderedMotif() | |
virtual void | ClearImplementation () |
virtual unsigned long | GetCountImplementation () const |
virtual unsigned int | GetNumMatchingImplementation (const Container *other) const |
virtual std::string | GetStringFromImplementation (std::string separator=", ") |
virtual bool | HasAllImplementation (const Container *contents) const |
virtual bool | HasImplementation (const Organ * content) const |
virtual void | ImportImplementation (const UnorderedMotif< Organ * > *other) |
virtual Organ * | RemoveImplementation (const Organ * content) |
Public Member Functions inherited from bio::chemical::Class< UnorderedMotif< Organ * > > | |
BIO_DISAMBIGUATE_ALL_CLASS_METHODS (physical, UnorderedMotif< Organ * >) Class(UnorderedMotif< Organ * > *object | |
Public Member Functions inherited from bio::chemical::AbstractMotif | |
AbstractMotif () | |
virtual | ~AbstractMotif () |
virtual void | ClearImplementation () |
virtual Container * | GetAllImplementation () |
virtual const Container * | GetAllImplementation () const |
virtual unsigned long | GetCountImplementation () const |
virtual std::string | GetStringFromImplementation (std::string separator=", ") |
virtual void | ImportImplementation (const void *other) |
Public Attributes | |
OrganSystem | |
Public Attributes inherited from bio::chemical::LinearMotif< Organ * > | |
physical::Perspective< StandardDimension > * | m_perspective |
Public Attributes inherited from bio::chemical::Class< LinearMotif< Organ * > > | |
physical::Perspective< StandardDimension > Filter | filter |
physical::Perspective< StandardDimension > * | perspective |
Public Attributes inherited from bio::physical::Identifiable< StandardDimension > | |
Id | m_id |
Public Attributes inherited from bio::chemical::Class< UnorderedMotif< Organ * > > | |
physical::Perspective< StandardDimension > Filter | filter |
physical::Perspective< StandardDimension > * | perspective |
Additional Inherited Members | |
Public Types inherited from bio::chemical::LinearMotif< Organ * > | |
typedef physical::Line | Contents |
Public Types inherited from bio::physical::Identifiable< StandardDimension > | |
typedef StandardDimension | Id |
typedef std::vector< Id > | Ids |
Public Types inherited from bio::physical::Observer< Perspective< StandardDimension > > | |
typedef Perspective< StandardDimension > | Perspective |
Public Types inherited from bio::chemical::UnorderedMotif< Organ * > | |
typedef physical::Arrangement< Organ * > | Contents |
Static Public Member Functions inherited from bio::chemical::LinearMotif< Organ * > | |
static LinearMotif< Organ * > Properties | GetClassProperties () |
Static Public Member Functions inherited from bio::physical::Wave | |
static Properties | GetResonanceBetween (const Wave *wave, const Properties &properties) |
static Properties | GetResonanceBetween (const Wave *wave1, const Wave *wave2) |
static Properties | GetResonanceBetween (ConstWaves waves) |
Static Public Member Functions inherited from bio::chemical::AbstractMotif | |
static Properties | GetClassProperties () |
Static Public Attributes inherited from bio::chemical::Elementary< LinearMotif< Organ * > > | |
static bool | hasRegistered |
Protected Member Functions inherited from bio::physical::Observer< Perspective< StandardDimension > > | |
virtual void | InitializeImplementation (ByteStreams args) |
Protected Member Functions inherited from bio::VirtualBase | |
VirtualBase () | |
virtual | ~VirtualBase () |
void | Initialize (ByteStream arg1) |
void | Initialize (ByteStream arg1, ByteStream arg2) |
void | Initialize (ByteStream arg1, ByteStream arg2, ByteStream arg3) |
void | Initialize (ByteStreams args) |
virtual void | InitializeImplementation (ByteStreams args)=0 |
Protected Member Functions inherited from bio::log::Writer | |
virtual void | InitializeImplementation (ByteStreams args) |
void | Log (Level level, const char *format,...) const |
Protected Member Functions inherited from bio::chemical::Atom | |
virtual bool | BreakBondImplementation (Wave *toDisassociate, AtomicNumber id, BondType type) |
virtual bool | FormBondImplementation (Wave *toBond, AtomicNumber id, BondType type) |
Protected Attributes inherited from bio::physical::Class< T > | |
T * | m_object |
Protected Attributes inherited from bio::physical::Wave | |
Wave * | m_signal |
Symmetry * | m_symmetry |
Protected Attributes inherited from bio::VirtualBase | |
bool | m_hasBeenInitialized |
Protected Attributes inherited from bio::physical::Class< Identifiable< StandardDimension > > | |
Identifiable< StandardDimension > * | m_object |
Protected Attributes inherited from bio::physical::Filterable | |
Filter | m_filter |
Protected Attributes inherited from bio::physical::Class< Filterable > | |
Filterable * | m_object |
Protected Attributes inherited from bio::physical::Class< Writer > | |
Writer * | m_object |
Protected Attributes inherited from bio::chemical::Atom | |
Bonds | m_bonds |
Protected Attributes inherited from bio::physical::Class< Atom > | |
Atom * | m_object |
Protected Attributes inherited from bio::chemical::AbstractMotif | |
Container * | m_contents |
OrganSystems are very similar to Organs. The only difference is that they contain logic for combining multiple Organs. For example, the heart relies on vasculature to move blood around the body. This requires a Heart Organ as well as integrations into all other Tissues in order to supply the BloodStream. In order to accommodate this functionality, we must invasively add functionality to other Organs. Because the modification of existing Organs can lead to more errors and make debugging more difficult, it is not recommended that you take advantage of OrganSystem machinery unless you absolutely need to. However, if you do need to make system-wide modifications, these methods are available to you.
Definition at line 42 of file OrganSystem.h.
bio::cellular::OrganSystem::BIO_DISAMBIGUATE_ALL_CLASS_METHODS | ( | cellular | , |
OrganSystem | |||
) |
Ensure virtual methods point to Class implementations. Standard ctors.
bio::cellular::OrganSystem::filter::Cellular | ( | ) |
|
virtual |
Create all Organs and, if necessary, link them. Call the parent method (OrganSystem::Organogenesis()) when done to initialize all Organs (calls Organ::BuildMobilome() and Organ::SpecializeTissues()).
Definition at line 34 of file OrganSystem.cpp.
References bio::Container::Begin(), BIO_SANITIZE, bio::cellular::Organ::BuildMobilome(), bio::code::CouldNotFindValue1(), bio::cellular::Organ::GrowTissues(), bio::SmartIterator::IsAtEnd(), bio::molecular::EnvironmentDependent< T >::SetEnvironment(), bio::cellular::Organ::SpecializeTissues(), bio::code::Success(), and bio::code::UnknownError().
Referenced by bio::organic::Organism::Morphogenesis().
& bio::cellular::OrganSystem::OrganSystemPerspective::Instance | ( | ) |
bio::cellular::OrganSystem::OrganSystem |
Definition at line 57 of file OrganSystem.h.