| 15 | 
  | 
class SimInfo; | 
| 16 | 
  | 
 | 
| 17 | 
  | 
enum ConsAlgoStatus{ | 
| 18 | 
< | 
  consPairHandlerFail = -3, | 
| 19 | 
< | 
  consElemHandlerFail = -2, | 
| 20 | 
< | 
  consFail = -1, | 
| 21 | 
< | 
  consSuccess = 0, | 
| 22 | 
< | 
  consAlready = 1}; | 
| 18 | 
> | 
  consExceedMaxIter = -4, //can not constrain the bond within maximum iteration | 
| 19 | 
> | 
  consPairHandlerFail = -3, //can not found call back functor for constraint pair  | 
| 20 | 
> | 
  consElemHandlerFail = -2, //can not found callback functor for constraint element  | 
| 21 | 
> | 
  consFail = -1,  //Constraint Fail | 
| 22 | 
> | 
  consSuccess = 0,  //constrain the pair by moving two elements | 
| 23 | 
> | 
  consAlready = 1}; //current pair is already constrained, do not need to move the elements | 
| 24 | 
  | 
 | 
| 25 | 
  | 
//////////////////////////////////////////////////////////////////////////////// | 
| 26 | 
  | 
//Declaration of ConstraintAlgorithm |