--- trunk/OOPSE/libmdtools/ConstraintAlgorithm.hpp 2004/06/03 21:51:55 1232 +++ trunk/OOPSE/libmdtools/ConstraintAlgorithm.hpp 2004/06/07 14:26:33 1252 @@ -14,7 +14,12 @@ class SimInfo; class DistanceConstraintPair; class SimInfo; -enum ConsAlgoStatus{consFail, consSuccess, consAlready, consPairHandlerFail, consElemHandlerFail}; +enum ConsAlgoStatus{ + consPairHandlerFail = -3, + consElemHandlerFail = -2, + consFail = -1, + consSuccess = 0, + consAlready = 1}; //////////////////////////////////////////////////////////////////////////////// //Declaration of ConstraintAlgorithm @@ -26,14 +31,14 @@ class ConstraintAlgorithm{ class ConstraintAlgorithm{ public: - ~ConstraintAlgorithm(); - virtual void doConstrain(); + virtual ~ConstraintAlgorithm(); + virtual void doConstrain(); //using RTTI (Run Time Type Information) to dispatch int doConstrainPair(ConstraintPair* consPair); void registerCallback(const TypeInfo& ti, CallbackFunctor* functor); void unRegister(TypeInfo& ti); - + bool haveError() { return error;} protected: ConstraintAlgorithm(SimInfo* rhs); @@ -42,6 +47,8 @@ class ConstraintAlgorithm{ ConstraintElementIterator* ceIter; map callbackMap; + + bool error; }; ////////////////////////////////////////////////////////////////////////////////