本文整理汇总了C++中Arc::changeAbsoluteTime方法的典型用法代码示例。如果您正苦于以下问题:C++ Arc::changeAbsoluteTime方法的具体用法?C++ Arc::changeAbsoluteTime怎么用?C++ Arc::changeAbsoluteTime使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Arc
的用法示例。
在下文中一共展示了Arc::changeAbsoluteTime方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: merge
void Place::merge(Place* placeToMerge) // CB copie améliorée de Transition::merge, à descendre dans PetriNetNode ?
{
arcList mergeInGoingArcs = placeToMerge->inGoingArcsOf(); // CB vector
arcList mergeOutGoingArcs = placeToMerge->outGoingArcsOf(); // CB vector
for (arcList::iterator it = mergeInGoingArcs.begin() ; it != mergeInGoingArcs.end() ; it++) {
Arc* newArc = getPetriNet()->createArc(dynamic_cast<Transition*>((*it)->getFrom()), this); // CB uncheck cast
newArc->changeAbsoluteTime((*it)->getAbsoluteMinValue(), (*it)->getAbsoluteMaxValue());
newArc->changeRelativeTime((*it)->getRelativeMinValue(), (*it)->getRelativeMaxValue());
getPetriNet()->deleteArc((*it)->getFrom(), placeToMerge);
} // CB Arc::Arc adds the arc in the nodes' lists
for (arcList::iterator it = mergeOutGoingArcs.begin() ; it != mergeOutGoingArcs.end() ; it++) {
Arc* newArc = getPetriNet()->createArc(this, dynamic_cast<Transition*>((*it)->getTo()));
newArc->changeAbsoluteTime((*it)->getAbsoluteMinValue(), (*it)->getAbsoluteMaxValue());
newArc->changeRelativeTime((*it)->getRelativeMinValue(), (*it)->getRelativeMaxValue());
getPetriNet()->deleteArc(placeToMerge, (*it)->getTo());
} // CB Arc::Arc adds the arc in the nodes' lists
}
示例2: merge
void Transition::merge(Transition* transitionToMerge)
{
for (unsigned int i = 0 ; i < transitionToMerge->m_externActions.size() ; ++i) {
m_externActions.push_back(transitionToMerge->m_externActions[i]);
}
arcList mergeInGoingArcs = transitionToMerge->inGoingArcsOf();
arcList mergeOutGoingArcs = transitionToMerge->outGoingArcsOf();
for (unsigned int i = 0; i < mergeInGoingArcs.size() ; ++i) {
Arc* currentArc = mergeInGoingArcs[i];
ExtendedInt relativeMinValue = currentArc->getRelativeMinValue();
ExtendedInt relativeMaxValue = currentArc->getRelativeMaxValue();
ExtendedInt absoluteMinValue = currentArc->getAbsoluteMinValue();
ExtendedInt absoluteMaxValue = currentArc->getAbsoluteMaxValue();
Place* inGoingPlace = (Place*) currentArc->getFrom();
Arc* newArc = getPetriNet()->createArc(inGoingPlace, this);
newArc->changeAbsoluteTime(absoluteMinValue, absoluteMaxValue);
newArc->changeRelativeTime(relativeMinValue, relativeMaxValue);
getPetriNet()->deleteArc(inGoingPlace, transitionToMerge);
}
createBitArray();
for (unsigned int i = 0; i < mergeOutGoingArcs.size() ; ++i) {
Arc* currentArc = mergeOutGoingArcs[i];
Place* outGoingPlace = (Place*) currentArc->getTo();
getPetriNet()->createArc(this, outGoingPlace);
getPetriNet()->deleteArc(transitionToMerge, outGoingPlace);
}
}