Develop Biology
The language of life
|
#include <Excitation.h>
Public Member Functions | |
virtual | ~ExcitationBase () |
BIO_DISAMBIGUATE_ALL_CLASS_METHODS (physical, ExcitationBase) ExcitationBase() | |
virtual void | CallDown (physical::Wave *wave, ByteStream *ret) const |
virtual void | EditArg (uint8_t position, ByteStream &newVal) |
virtual Properties | GetProperties () const |
Public Member Functions inherited from bio::physical::Class< ExcitationBase > | |
Class (ExcitationBase *object, Symmetry *symmetry=NULL) | |
virtual | ~Class () |
virtual Wave * | AsWave () |
virtual const Wave * | AsWave () const |
virtual Wave * | Clone () const |
ExcitationBase * | Convert (Wave *wave) |
virtual | operator ExcitationBase * () |
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 |
Static Public Member Functions | |
static 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) |
Additional Inherited Members | |
Protected Attributes inherited from bio::physical::Class< ExcitationBase > | |
ExcitationBase * | m_object |
Protected Attributes inherited from bio::physical::Wave | |
Wave * | m_signal |
Symmetry * | m_symmetry |
Base class for all Excitations; see below.
Main documentation for all Excitation classes will be provided here.
For the difference between Excitation and Reaction, see Reaction.h The main thing Excitations can do, which Reactions can't, is be used in LinearStructureInterface::ForEach<>().
An Excitation is a Wave that stores a function pointer, i.e. a functor. Excitations allow you to directly invoke a Wave's methods. Excitations can be useful in propagating operations through Wave networks (e.g. an Atom's Bonds). Doing so will likely involve Modulating an Excitation onto a carrier Wave that dictates what the function applies to.
Definition at line 44 of file Excitation.h.
|
inlinevirtual |
Definition at line 64 of file Excitation.h.
|
inline |
Ensure virtual methods point to Class implementations.
Definition at line 51 of file Excitation.h.
|
inlinevirtual |
Invoke an Excitation, regardless of what the template parameters are. Since we have no idea what the return value will be, we simply place it in ret as a void*.
wave | |
ret |
Reimplemented in bio::chemical::ExcitationWithoutArgument< WAVE, RETURN >, bio::chemical::ExcitationWithArgument< WAVE, RETURN, ARGUMENT >, and bio::chemical::ExcitationWithTwoArguments< WAVE, RETURN, ARGUMENT1, ARGUMENT2 >.
Definition at line 109 of file Excitation.h.
Referenced by bio::chemical::LinearMotif< CONTENT_TYPE >::ForEachImplementation().
|
inlinevirtual |
Creating a new and proper Excitation is preferred to Editing Arguments; however, we support the latter nonetheless.
position | |
newVal |
Reimplemented in bio::chemical::ExcitationWithArgument< WAVE, RETURN, ARGUMENT >, and bio::chemical::ExcitationWithTwoArguments< WAVE, RETURN, ARGUMENT1, ARGUMENT2 >.
Definition at line 95 of file Excitation.h.
|
inlinestatic |
All Excitations share the "Excitatory" Property.
Definition at line 73 of file Excitation.h.
References bio::property::Excitatory(), and bio::Properties.
Referenced by bio::chemical::LinearMotif< CONTENT_TYPE >::Attenuate(), GetProperties(), bio::chemical::ExcitationWithoutArgument< WAVE, RETURN >::GetProperties(), bio::chemical::ExcitationWithArgument< WAVE, RETURN, ARGUMENT >::GetProperties(), and bio::chemical::ExcitationWithTwoArguments< WAVE, RETURN, ARGUMENT1, ARGUMENT2 >::GetProperties().
|
inlinevirtual |
Override of Wave method. See that class for details. NOTE: this should be overloaded to ensure *this will Resonate with WAVEs by stealing their Properties from the PeriodicTable.
Reimplemented from bio::physical::Wave.
Reimplemented in bio::chemical::ExcitationWithoutArgument< WAVE, RETURN >, bio::chemical::ExcitationWithArgument< WAVE, RETURN, ARGUMENT >, and bio::chemical::ExcitationWithTwoArguments< WAVE, RETURN, ARGUMENT1, ARGUMENT2 >.
Definition at line 85 of file Excitation.h.
References GetClassProperties().