|
Tissue Forge C++ 0.2.1
Interactive, particle-based physics, chemistry and biology modeling and simulation environment
|
Tissue Forge event system. More...
Classes | |
| struct | Event |
| struct | EventBase |
| struct | EventBaseList |
| struct | EventListT |
| struct | KeyEvent |
| struct | ParticleEvent |
| struct | ParticleEventSingle |
| struct | ParticleTimeEvent |
| struct | TimeEvent |
Typedefs | |
| template<typename event_t> | |
| using | EventMethodT = HRESULT (*)(const event_t&) |
| using | EventMethod = EventMethodT<Event> |
| using | EventList = EventListT<Event> |
| template<typename event_t> | |
| using | ParticleEventParticleSelectorT = ParticleHandle* (*)(const event_t&) |
| using | ParticleEventMethod = EventMethodT<ParticleEvent> |
| using | ParticleEventParticleSelector = ParticleEventParticleSelectorT<ParticleEvent> |
| typedef std::unordered_map< ParticleEventParticleSelectorEnum, ParticleEventParticleSelector > | ParticleEventParticleSelectorMapType |
| typedef std::unordered_map< std::string, ParticleEventParticleSelectorEnum > | ParticleEventParticleSelectorNameMapType |
| using | ParticleEventList = EventListT<ParticleEvent> |
| using | ParticleTimeEventMethod = EventMethodT<ParticleTimeEvent> |
| using | ParticleTimeEventNextTimeSetter = FloatP_t (*)(ParticleTimeEvent&, const FloatP_t&) |
| using | ParticleTimeEventParticleSelector = ParticleEventParticleSelectorT<ParticleTimeEvent> |
| typedef std::unordered_map< ParticleTimeEventParticleSelectorEnum, ParticleTimeEventParticleSelector > | ParticleTimeEventParticleSelectorMapType |
| typedef std::unordered_map< std::string, ParticleTimeEventParticleSelectorEnum > | ParticleTimeEventParticleSelectorNameMapType |
| typedef std::unordered_map< ParticleTimeEventTimeSetterEnum, ParticleTimeEventNextTimeSetter > | ParticleTimeEventNextTimeSetterMapType |
| typedef std::unordered_map< std::string, ParticleTimeEventTimeSetterEnum > | ParticleTimeEventNextTimeSetterNameMapType |
| using | ParticleTimeEventList = EventListT<ParticleTimeEvent> |
| using | TimeEventMethod = EventMethodT<TimeEvent> |
| using | TimeEventNextTimeSetter = FloatP_t (*)(TimeEvent&, const FloatP_t&) |
| typedef std::unordered_map< TimeEventTimeSetterEnum, TimeEventNextTimeSetter > | TimeEventNextTimeSetterMapType |
| typedef std::unordered_map< std::string, TimeEventTimeSetterEnum > | TimeEventNextTimeSetterNameMapType |
| using | TimeEventList = EventListT<TimeEvent> |
| using | KeyEventDelegateType = HRESULT (*)(Magnum::Platform::GlfwApplication::KeyEvent*) |
| using | KeyEventHandlerType = HRESULT (*)(struct KeyEvent*) |
| typedef size_t | KeyEventDelegateHandle |
| typedef size_t | KeyEventHandlerHandle |
Enumerations | |
| enum class | EventFlag : unsigned int { REMOVE } |
| enum class | ParticleEventParticleSelectorEnum : unsigned int { LARGEST , UNIFORM , DEFAULT } |
| enum class | ParticleTimeEventParticleSelectorEnum : unsigned int { LARGEST , UNIFORM , DEFAULT } |
| enum class | ParticleTimeEventTimeSetterEnum : unsigned int { DETERMINISTIC , EXPONENTIAL , DEFAULT } |
| keys for selecting a next time setter | |
| enum class | TimeEventTimeSetterEnum : unsigned int { DEFAULT = 0 , DETERMINISTIC , EXPONENTIAL } |
Functions | |
| Event * | onEvent (EventMethod *invokeMethod, EventMethod *predicateMethod) |
| Creates an event using prescribed invoke and predicate functions. | |
| HRESULT | event_func_invoke (EventBase &event, const FloatP_t &time) |
| HRESULT | eventListEval (EventBaseList *eventList, const FloatP_t &time) |
| ParticleHandle * | particleSelectorUniform (const int16_t &typeId, const int32_t &nr_parts) |
| Selects a particle according to a uniform random distribution by event target type. | |
| ParticleHandle * | particleSelectorLargest (const int16_t &typeId) |
| Selects largest particle by event target type. | |
| ParticleHandle * | particleEventParticleSelectorUniform (const ParticleEvent &event) |
| Selects a particle according to a uniform random distribution by event target type. | |
| ParticleHandle * | particleEventParticleSelectorLargest (const ParticleEvent &event) |
| Selects largest particle by event target type. | |
| ParticleEventParticleSelector * | getParticleEventParticleSelector (ParticleEventParticleSelectorEnum selectorEnum) |
| Gets the particle selector on an event. | |
| ParticleEventParticleSelector * | getParticleEventParticleSelectorN (std::string setterName) |
| Gets the particle selector on an event. | |
| ParticleEvent * | onParticleEvent (ParticleType *targetType, ParticleEventMethod *invokeMethod, ParticleEventMethod *predicateMethod) |
| Creates a particle event using prescribed invoke and predicate functions. | |
| ParticleEventSingle * | onParticleEventSingle (ParticleType *targetType, ParticleEventMethod *invokeMethod, ParticleEventMethod *predicateMethod) |
| Creates a single particle event using prescribed invoke and predicate functions. | |
| FloatP_t | particleTimeEventSetNextTimeExponential (ParticleTimeEvent &event, const FloatP_t &time) |
| Sets the next time on an event according to an exponential distribution of the event period. | |
| FloatP_t | particleTimeEventSetNextTimeDeterministic (ParticleTimeEvent &event, const FloatP_t &time) |
| Sets the next time on an event according to the period of the event. | |
| ParticleHandle * | particleTimeEventParticleSelectorUniform (const ParticleTimeEvent &event) |
| Selects a particle according to a uniform random distribution by event target type. | |
| ParticleHandle * | particleTimeEventParticleSelectorLargest (const ParticleTimeEvent &event) |
| Selects largest particle by event target type. | |
| ParticleTimeEventParticleSelector * | getParticleTimeEventParticleSelector (ParticleTimeEventParticleSelectorEnum selectorEnum) |
| Gets the particle selector on an event. | |
| ParticleTimeEventParticleSelector * | getParticleTimeEventParticleSelectorN (std::string setterName) |
| Gets the particle selector on an event. | |
| ParticleTimeEventNextTimeSetter * | getParticleTimeEventNextTimeSetter (ParticleTimeEventTimeSetterEnum setterEnum) |
| Gets the next time on an event according to an exponential distribution of the event period. | |
| ParticleTimeEventNextTimeSetter * | getParticleTimeEventNextTimeSetterN (std::string setterName) |
| Gets the next time on an event according to an exponential distribution of the event period. | |
| ParticleTimeEvent * | onParticleTimeEvent (ParticleType *targetType, const FloatP_t &period, ParticleTimeEventMethod *invokeMethod, ParticleTimeEventMethod *predicateMethod=NULL, unsigned int nextTimeSetterEnum=0, const FloatP_t &start_time=0, const FloatP_t &end_time=-1, unsigned int particleSelectorEnum=0) |
| Creates a time-dependent particle event using prescribed invoke and predicate functions. | |
| ParticleTimeEvent * | onParticleTimeEventN (ParticleType *targetType, const FloatP_t &period, ParticleTimeEventMethod *invokeMethod, ParticleTimeEventMethod *predicateMethod=NULL, const std::string &distribution="default", const FloatP_t &start_time=0, const FloatP_t &end_time=-1, const std::string &selector="default") |
| Creates a time-dependent particle event using prescribed invoke and predicate functions. | |
| HRESULT | defaultTimeEventPredicateEval (const FloatP_t &next_time, const FloatP_t &start_time=-1, const FloatP_t &end_time=-1) |
| FloatP_t | timeEventSetNextTimeExponential (TimeEvent &event, const FloatP_t &time) |
| FloatP_t | timeEventSetNextTimeDeterministic (TimeEvent &event, const FloatP_t &time) |
| TimeEventNextTimeSetter * | getTimeEventNextTimeSetter (TimeEventTimeSetterEnum setterEnum) |
| TimeEventNextTimeSetter * | getTimeEventNextTimeSetterN (std::string setterName) |
| TimeEvent * | onTimeEvent (const FloatP_t &period, TimeEventMethod *invokeMethod, TimeEventMethod *predicateMethod=NULL, const unsigned int &nextTimeSetterEnum=0, const FloatP_t &start_time=0, const FloatP_t &end_time=-1) |
| Creates a time-dependent event using prescribed invoke and predicate functions. | |
| TimeEvent * | onTimeEventN (const FloatP_t &period, TimeEventMethod *invokeMethod, TimeEventMethod *predicateMethod=NULL, const std::string &distribution="default", const FloatP_t &start_time=0, const FloatP_t &end_time=-1) |
| Creates a time-dependent event using prescribed invoke and predicate functions. | |
Tissue Forge event system.
| ParticleEventParticleSelector * TissueForge::event::getParticleEventParticleSelector | ( | ParticleEventParticleSelectorEnum | selectorEnum | ) |
Gets the particle selector on an event.
| selectorEnum | selector enum |
| ParticleEventParticleSelector * TissueForge::event::getParticleEventParticleSelectorN | ( | std::string | setterName | ) |
Gets the particle selector on an event.
| setterName | name of selector |
| ParticleTimeEventNextTimeSetter * TissueForge::event::getParticleTimeEventNextTimeSetter | ( | ParticleTimeEventTimeSetterEnum | setterEnum | ) |
Gets the next time on an event according to an exponential distribution of the event period.
| setterEnum | setter enum |
| ParticleTimeEventNextTimeSetter * TissueForge::event::getParticleTimeEventNextTimeSetterN | ( | std::string | setterName | ) |
Gets the next time on an event according to an exponential distribution of the event period.
| setterName | name of setter |
| ParticleTimeEventParticleSelector * TissueForge::event::getParticleTimeEventParticleSelector | ( | ParticleTimeEventParticleSelectorEnum | selectorEnum | ) |
Gets the particle selector on an event.
| selectorEnum | selector enum |
| ParticleTimeEventParticleSelector * TissueForge::event::getParticleTimeEventParticleSelectorN | ( | std::string | setterName | ) |
Gets the particle selector on an event.
| setterName | name of selector |
| Event * TissueForge::event::onEvent | ( | EventMethod * | invokeMethod, |
| EventMethod * | predicateMethod ) |
Creates an event using prescribed invoke and predicate functions.
| invokeMethod | an invoke function; evaluated when an event occurs |
| predicateMethod | a predicate function; evaluated to determine if an event occurs |
| ParticleEvent * TissueForge::event::onParticleEvent | ( | ParticleType * | targetType, |
| ParticleEventMethod * | invokeMethod, | ||
| ParticleEventMethod * | predicateMethod ) |
Creates a particle event using prescribed invoke and predicate functions.
| targetType | target particle type |
| invokeMethod | an invoke function; evaluated when an event occurs |
| predicateMethod | a predicate function; evaluated to determine if an event occurs |
| ParticleEventSingle * TissueForge::event::onParticleEventSingle | ( | ParticleType * | targetType, |
| ParticleEventMethod * | invokeMethod, | ||
| ParticleEventMethod * | predicateMethod ) |
Creates a single particle event using prescribed invoke and predicate functions.
| targetType | target particle type |
| invokeMethod | an invoke function; evaluated when an event occurs |
| predicateMethod | a predicate function; evaluated to determine if an event occurs |
| ParticleTimeEvent * TissueForge::event::onParticleTimeEvent | ( | ParticleType * | targetType, |
| const FloatP_t & | period, | ||
| ParticleTimeEventMethod * | invokeMethod, | ||
| ParticleTimeEventMethod * | predicateMethod = NULL, | ||
| unsigned int | nextTimeSetterEnum = 0, | ||
| const FloatP_t & | start_time = 0, | ||
| const FloatP_t & | end_time = -1, | ||
| unsigned int | particleSelectorEnum = 0 ) |
Creates a time-dependent particle event using prescribed invoke and predicate functions.
| targetType | target particle type |
| period | period of evaluations |
| invokeMethod | an invoke function; evaluated when an event occurs |
| predicateMethod | a predicate function; evaluated to determine if an event occurs |
| nextTimeSetterEnum | enum of function that sets the next evaulation time |
| start_time | time at which evaluations begin |
| end_time | time at which evaluations end |
| particleSelectorEnum | enum of function that selects the next particle |
| ParticleTimeEvent * TissueForge::event::onParticleTimeEventN | ( | ParticleType * | targetType, |
| const FloatP_t & | period, | ||
| ParticleTimeEventMethod * | invokeMethod, | ||
| ParticleTimeEventMethod * | predicateMethod = NULL, | ||
| const std::string & | distribution = "default", | ||
| const FloatP_t & | start_time = 0, | ||
| const FloatP_t & | end_time = -1, | ||
| const std::string & | selector = "default" ) |
Creates a time-dependent particle event using prescribed invoke and predicate functions.
| targetType | target particle type |
| period | period of evaluations |
| invokeMethod | an invoke function; evaluated when an event occurs |
| predicateMethod | a predicate function; evaluated to determine if an event occurs |
| distribution | name of function that sets the next evaulation time |
| start_time | time at which evaluations begin |
| end_time | time at which evaluations end |
| selector | name of function that selects the next particle |
| TimeEvent * TissueForge::event::onTimeEvent | ( | const FloatP_t & | period, |
| TimeEventMethod * | invokeMethod, | ||
| TimeEventMethod * | predicateMethod = NULL, | ||
| const unsigned int & | nextTimeSetterEnum = 0, | ||
| const FloatP_t & | start_time = 0, | ||
| const FloatP_t & | end_time = -1 ) |
Creates a time-dependent event using prescribed invoke and predicate functions.
| period | period of evaluations |
| invokeMethod | an invoke function; evaluated when an event occurs |
| predicateMethod | a predicate function; evaluated to determine if an event occurs |
| nextTimeSetterEnum | enum selecting the function that sets the next evaulation time |
| start_time | time at which evaluations begin |
| end_time | time at which evaluations end |
| TimeEvent * TissueForge::event::onTimeEventN | ( | const FloatP_t & | period, |
| TimeEventMethod * | invokeMethod, | ||
| TimeEventMethod * | predicateMethod = NULL, | ||
| const std::string & | distribution = "default", | ||
| const FloatP_t & | start_time = 0, | ||
| const FloatP_t & | end_time = -1 ) |
Creates a time-dependent event using prescribed invoke and predicate functions.
| period | period of evaluations |
| invokeMethod | an invoke function; evaluated when an event occurs |
| predicateMethod | a predicate function; evaluated to determine if an event occurs |
| distribution | name of the function that sets the next evaulation time |
| start_time | time at which evaluations begin |
| end_time | time at which evaluations end |
| ParticleHandle * TissueForge::event::particleEventParticleSelectorLargest | ( | const ParticleEvent & | event | ) |
Selects largest particle by event target type.
| event |
| ParticleHandle * TissueForge::event::particleEventParticleSelectorUniform | ( | const ParticleEvent & | event | ) |
Selects a particle according to a uniform random distribution by event target type.
| event |
| ParticleHandle * TissueForge::event::particleSelectorLargest | ( | const int16_t & | typeId | ) |
Selects largest particle by event target type.
| typeId | id of type |
| ParticleHandle * TissueForge::event::particleSelectorUniform | ( | const int16_t & | typeId, |
| const int32_t & | nr_parts ) |
Selects a particle according to a uniform random distribution by event target type.
| typeId | id of type |
| nr_parts | number of particles of the type |
| ParticleHandle * TissueForge::event::particleTimeEventParticleSelectorLargest | ( | const ParticleTimeEvent & | event | ) |
Selects largest particle by event target type.
| event |
| ParticleHandle * TissueForge::event::particleTimeEventParticleSelectorUniform | ( | const ParticleTimeEvent & | event | ) |
Selects a particle according to a uniform random distribution by event target type.
| event |
| FloatP_t TissueForge::event::particleTimeEventSetNextTimeDeterministic | ( | ParticleTimeEvent & | event, |
| const FloatP_t & | time ) |
Sets the next time on an event according to the period of the event.
| event | |
| time |
| FloatP_t TissueForge::event::particleTimeEventSetNextTimeExponential | ( | ParticleTimeEvent & | event, |
| const FloatP_t & | time ) |
Sets the next time on an event according to an exponential distribution of the event period.
| event | |
| time |