#include "elementmodel.h"
Go to the source code of this file.
Defines | |
#define | INC_TRANSITION_FREQUENCY(_node_, _tr_) |
Increases the frequency count for given transition. More... | |
#define | CREATE_GRAPH_TRANSITION(_from_, _to_) |
Creates a transition bewteen two nodes. More... | |
#define | CREATE_GRAPH_NODE(_pred_, _node_, _type_, _modeler_) |
Creates an element graph node. More... | |
#define | GET_MOST_PROBABLE_TRANSITION(_node_, _mpt_, _definite_) |
Returns the most probable transition leading from the node. More... | |
#define | FIND_TRANSITION(_tr_, _node_, _type_, _modeler_) |
Finds a transition leading to the desired node. More... |
This file contains definitions of ElementModeler class methods.
Definition in file elementmodel.cpp.
|
Creates an element graph node.
Definition at line 98 of file elementmodel.cpp. Referenced by ElementModeler::ElementModeler, and ElementModeler::moveToDesiredNode. |
|
Value: { \ ElementModel::Transition *_tr_; \ \ NEW(_tr_, ElementModel::Transition); \ _tr_->frequency = 0; \ _tr_->id = ((ElementModel::Node *)_from_)->successors.count() + 1; \ INC_TRANSITION_FREQUENCY(_from_, _tr_); \ _tr_->node = _to_; \ \ ((ElementModel::Node *)_from_)->successors.append(_tr_); \ }
Definition at line 75 of file elementmodel.cpp. Referenced by ElementModeler::moveToDesiredNode. |
|
Value: { \ _tr_ = 0; \ for (ElementModel::Transition *_t_ = _node_->successors.first(); \ _t_; _t_ = _node_->successors.next()) \ { \ if (_t_->node->type == _type_) \ { \ if (_t_->node->type != ElementModel::ElementNode) \ { \ _tr_ = _t_; \ INC_TRANSITION_FREQUENCY(_node_, _t_); \ break; \ } \ else \ if (_t_->node->modeler == _modeler_) \ { \ _tr_ = _t_; \ INC_TRANSITION_FREQUENCY(_node_, _tr_); \ break; \ } \ } \ } \ }
Definition at line 182 of file elementmodel.cpp. Referenced by ElementModeler::moveToDesiredNode. |
|
Value: { \ if (_node_->successors.isEmpty()) \ { \ _mpt_ = 0; \ _definite_ = true; \ } \ else \ { \ _mpt_ = _node_->successors.first(); \ _node_->successors.next(); \ _definite_ = true; \ \ for (ElementModel::Transition *_tr_ = _node_->successors.current(); \ _tr_; _tr_ = _node_->successors.next()) \ { \ if (_tr_->frequency == _mpt_->frequency) \ { \ _mpt_ = 0; \ _definite_ = false; \ } \ else \ if (_tr_->frequency > _mpt_->frequency) \ { \ _mpt_ = _tr_; \ _definite_ = true; \ } \ } \ } \ }
Definition at line 140 of file elementmodel.cpp. |
|
Value: { \ _tr_->frequency++; \ ElementModel::Node *_tmpnode_ = _node_; \ \ if (_tmpnode_->mpt == _tr_) \ { \ } \ else \ if (!_tmpnode_->mpt) \ { \ _tmpnode_->mpt = _tr_; \ } \ else \ if (_tr_->frequency == _tmpnode_->mpt->frequency) \ { \ _tmpnode_->mpt = _tr_; \ } \ else \ if (_tr_->frequency > _tmpnode_->mpt->frequency)\ { \ _tmpnode_->mpt = _tr_; \ } \ }
Definition at line 42 of file elementmodel.cpp. Referenced by ElementModeler::followEdge, and ElementModeler::moveForward. |