CreateBidirectionalConstraints( Variable <Point, int> var1, Variable <Point, int> var2) { // constraint var1 -> var2 var bc1 = new RegionConstraint(var1, var2); // constraint var2 -> var1 var bc2 = new RegionConstraint(var2, var1); return(bc1, bc2); }
public RegionAttribute(string id, string name, Adjective[] adjectives, string[] variants, string[] constraints, string[] associationStrs, bool secondary = false) { Id = id; Name = name; if (adjectives == null) { Adjectives = new Adjective[] { }; } else { Adjectives = adjectives; } Variations = NameTools.GenerateNounVariations(variants); if (constraints != null) { Constraints = new RegionConstraint[constraints.Length]; int index = 0; foreach (string constraint in constraints) { Constraints[index] = RegionConstraint.BuildConstraint(constraint); index++; } } else { Constraints = new RegionConstraint[] { }; } List <Association> associations = new List <Association>(); foreach (string assocStr in associationStrs) { associations.AddRange(Association.Parse(assocStr)); } Associations = associations.ToArray(); Secondary = secondary; }
public Element(string id, string pluralName, Adjective[] adjectives, string[] constraints, string[] associationStrs) { Id = id; SingularName = Language.GetSingularForm(pluralName); PluralName = pluralName; if (adjectives != null) { Adjectives = adjectives; } else { Adjectives = new Adjective[] { }; } if (constraints != null) { Constraints = new RegionConstraint[constraints.Length]; int index = 0; foreach (string constraint in constraints) { Constraints[index] = RegionConstraint.BuildConstraint(constraint); index++; } } else { Constraints = new RegionConstraint[] { }; } List <Association> associations = new List <Association>(); foreach (string assocStr in associationStrs) { associations.AddRange(Association.Parse(assocStr)); } Associations = associations.ToArray(); }
public Adjective(string id, string word, string[] constraints = null) { Id = id; Word = word; if (constraints != null) { Constraints = new RegionConstraint[constraints.Length]; int index = 0; foreach (string constraint in constraints) { Constraints[index] = RegionConstraint.BuildConstraint(constraint); index++; } } else { Constraints = new RegionConstraint[] { }; } }