Beispiel #1
0
        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;
    }
Beispiel #3
0
    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[] { };
        }
    }