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 () |
![]() | |
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) |
![]() | |
Elementary () | |
Elementary (const Properties properties) | |
virtual | ~Elementary () |
void | RegisterProperties (const Properties properties) |
![]() | |
BIO_DISAMBIGUATE_ALL_CLASS_METHODS (physical, LinearMotif< Organ * >) Class(LinearMotif< Organ * > *object | |
![]() | |
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 * () |
![]() | |
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 |
![]() | |
BIO_DISAMBIGUATE_ALL_CLASS_METHODS (physical, Identifiable< StandardDimension >) explicit Identifiable(Perspective< StandardDimension > *perspective | |
void | CloneIntoName (Name name) |
![]() | |
Observer (const Observer &other) | |
Observer (Perspective *perspective=NULL) | |
virtual | ~Observer () |
virtual Perspective * | GetPerspective () const |
virtual void | SetPerspective (Perspective *perspective) |
![]() | |
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 * () |
![]() | |
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) |
![]() | |
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 |
![]() | |
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 * () |
![]() | |
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 * () |
![]() | |
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 |
![]() | |
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 * () |
![]() | |
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) |
![]() | |
BIO_DISAMBIGUATE_ALL_CLASS_METHODS (physical, UnorderedMotif< Organ * >) Class(UnorderedMotif< Organ * > *object | |
![]() | |
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 | |
![]() | |
physical::Perspective< StandardDimension > * | m_perspective |
![]() | |
physical::Perspective< StandardDimension > Filter | filter |
physical::Perspective< StandardDimension > * | perspective |
![]() | |
Id | m_id |
![]() | |
physical::Perspective< StandardDimension > Filter | filter |
physical::Perspective< StandardDimension > * | perspective |
Additional Inherited Members | |
![]() | |
typedef physical::Line | Contents |
![]() | |
typedef StandardDimension | Id |
typedef std::vector< Id > | Ids |
![]() | |
typedef Perspective< StandardDimension > | Perspective |
![]() | |
typedef physical::Arrangement< Organ * > | Contents |
![]() | |
static LinearMotif< Organ * > Properties | GetClassProperties () |
![]() | |
static Properties | GetResonanceBetween (const Wave *wave, const Properties &properties) |
static Properties | GetResonanceBetween (const Wave *wave1, const Wave *wave2) |
static Properties | GetResonanceBetween (ConstWaves waves) |
![]() | |
static Properties | GetClassProperties () |
![]() | |
static bool | hasRegistered |
![]() | |
virtual void | InitializeImplementation (ByteStreams args) |
![]() | |
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 |
![]() | |
virtual void | InitializeImplementation (ByteStreams args) |
void | Log (Level level, const char *format,...) const |
![]() | |
virtual bool | BreakBondImplementation (Wave *toDisassociate, AtomicNumber id, BondType type) |
virtual bool | FormBondImplementation (Wave *toBond, AtomicNumber id, BondType type) |
![]() | |
T * | m_object |
![]() | |
Wave * | m_signal |
Symmetry * | m_symmetry |
![]() | |
bool | m_hasBeenInitialized |
![]() | |
Identifiable< StandardDimension > * | m_object |
![]() | |
Filter | m_filter |
![]() | |
Filterable * | m_object |
![]() | |
Writer * | m_object |
![]() | |
Bonds | m_bonds |
![]() | |
Atom * | m_object |
![]() | |
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.