diff --git a/src/PLASMA/ConstraintEngine/base/ConstrainedVariable.cc b/src/PLASMA/ConstraintEngine/base/ConstrainedVariable.cc index c8af52e75..5f1173c57 100644 --- a/src/PLASMA/ConstraintEngine/base/ConstrainedVariable.cc +++ b/src/PLASMA/ConstraintEngine/base/ConstrainedVariable.cc @@ -381,6 +381,8 @@ namespace EUROPA { if(getCurrentDomain().isEmpty()) return; + if(internal_baseDomain().isSingleton() && !isSpecified()) + internalSpecify(internal_baseDomain().getSingletonValue()); } void ConstrainedVariable::open() { diff --git a/src/PLASMA/ConstraintEngine/base/ConstraintEngine.hh b/src/PLASMA/ConstraintEngine/base/ConstraintEngine.hh index dfa1ab93a..20a8d8b02 100644 --- a/src/PLASMA/ConstraintEngine/base/ConstraintEngine.hh +++ b/src/PLASMA/ConstraintEngine/base/ConstraintEngine.hh @@ -122,6 +122,7 @@ namespace EUROPA { enum Event { UPPER_BOUND_DECREASED = 0, /**< If the upper bound of an interval domain is reduced. */ LOWER_BOUND_INCREASED, /**< If the lower bound of an interval domain is increased. */ + REFTIME_CHANGED, /**< PHM Support for reftime calculations. */ BOUNDS_RESTRICTED, /**< Both upper and lower are decreased and increased respectively. */ VALUE_REMOVED, /**< A restriction to an enumerated domain. */ RESTRICT_TO_SINGLETON, /**< A restriction of the domain to a singleton value through inference. */ diff --git a/src/PLASMA/ConstraintEngine/component/EquivalenceClassCollection.cc b/src/PLASMA/ConstraintEngine/component/EquivalenceClassCollection.cc index dea2a11f2..a404c95be 100644 --- a/src/PLASMA/ConstraintEngine/component/EquivalenceClassCollection.cc +++ b/src/PLASMA/ConstraintEngine/component/EquivalenceClassCollection.cc @@ -40,7 +40,7 @@ namespace EUROPA{ } EquivalenceClassCollection::EquivalenceClassCollection() - :m_requiresUpdate(false){} + : m_nodesByVar(), m_graphsByKey(), m_requiresUpdate(false), m_nextCycle(0), m_nextGraph(0) {} EquivalenceClassCollection::~EquivalenceClassCollection(){ for(std::map::iterator it = m_nodesByVar.begin(); it != m_nodesByVar.end(); ++it)