PIP 5.6.1
Platform-Independent Primitives
Открытые члены | Относящиеся к классу функции | Полный список членов класса
Класс PIStateBase

Базовый класс состояния в иерархической машине состояний. Подробнее...

#include <pistatemachine_state.h>

Граф наследования:PIStateBase:
Inheritance graph
[см. легенду]

Открытые члены

 PIStateBase (const PIString &n={})
 Создает состояние с необязательным именем для диагностики.
 
virtual ~PIStateBase ()
 Уничтожает состояние вместе с принадлежащими дочерними состояниями и переходами.
 
virtual void onEnter ()
 Вызывается при активации состояния.
 
virtual void onExit ()
 Вызывается при деактивации состояния.
 
virtual void onFinish ()
 Вызывается, когда финальное дочернее состояние завершает это состояние.
 
PIStateMachinemachine () const
 Возвращает корневую машину состояний.
 
PIStateBaseparent () const
 Возвращает родительское состояние.
 
PIStateBaseactiveChild () const
 Возвращает активное дочернее состояние непараллельного составного состояния.
 
PIVector< PIStateBase * > activeChildren () const
 Возвращает активные дочерние состояния.
 
PIVector< PIStateBase * > activeAtomics () const
 Возвращает активные атомарные листовые состояния под этим состоянием.
 
void addState (PIStateBase *s)
 Добавляет дочернее состояние, которым владеет это состояние.
 
void addStates (PIVector< PIStateBase * > s)
 Добавляет несколько дочерних состояний, которыми владеет это состояние.
 
void setInitialState (PIStateBase *s)
 Задает начальное дочернее состояние для непараллельного составного состояния.
 
PITransitionBaseaddTransition (PIStateBase *target, int event_id)
 Добавляет переход по событию из этого состояния в target.
 
PITransitionTimeoutaddTimeoutTransition (PIStateBase *target, PISystemTime timeout)
 Добавляет переход по таймауту, который срабатывает пока это состояние активно.
 
void setParallel (bool yes)
 Включает или выключает параллельную активацию дочерних состояний.
 
const PIStringgetName () const
 Возвращает имя состояния.
 
bool isStateMachine () const
 Возвращает true для корневого объекта машины состояний.
 
bool isActive () const
 Возвращает true, если состояние сейчас активно.
 
bool isParallel () const
 Возвращает true, если дочерние состояния активируются параллельно.
 
bool isFinal () const
 Возвращает true, если состояние помечено как финальное.
 
bool isAtomic () const
 Возвращает true, если у состояния нет дочерних состояний.
 
bool isCompound () const
 Возвращает true, если состояние содержит дочерние состояния.
 
const PIVector< PIStateBase * > & getChildren () const
 Возвращает прямые дочерние состояния.
 
const PIVector< PITransitionBase * > & getTransitions () const
 Возвращает исходящие переходы, принадлежащие этому состоянию.
 
void print (PIString prefix={})
 Печатает дерево состояний и активные ветви в piCout.
 
PIVector< PIStateBase * > gatherStates ()
 Возвращает это состояние и все дочерние состояния.
 

Относящиеся к классу функции

(не члены класса)

PICout operator<< (PICout c, PIStateBase *s)
 Записывает текстовое представление состояния в PICout.
 

Подробное описание

Базовый класс состояния в иерархической машине состояний.

Состояние может владеть дочерними состояниями и исходящими переходами. Составные состояния активируют либо начальное дочернее состояние, либо все дочерние состояния при включенном параллельном режиме.