GenArt.AST.DnaPolygon.Mutate C# (CSharp) Method

Mutate() public method

public Mutate ( DnaDrawing drawing ) : void
drawing DnaDrawing
return void
        public void Mutate(DnaDrawing drawing)
        {
            if (Tools.WillMutate(Settings.ActiveAddPointMutationRate))
                AddPoint(drawing);

            if (Tools.WillMutate(Settings.ActiveRemovePointMutationRate))
                RemovePoint(drawing);

            Brush.Mutate(drawing);
            Points.ForEach(p => p.Mutate(drawing));
        }

Usage Example

Esempio n. 1
0
        internal void Mutate(JobInfo info)
        {
            IsDirty = false;
            while (!IsDirty)
            {
                if (!info.Settings.MuteAddPolygonNew)
                {
                    if (info.WillMutate(info.Settings.AddPolygonMutationRate))
                    {
                        AddPolygon(info);
                    }
                }

                if (!info.Settings.MuteAddPolygonClone)
                {
                    if (info.WillMutate(info.Settings.AddPolygonCloneMutationRate))
                    {
                        AddPolygonClone(info);
                    }
                }

                if (!info.Settings.MuteRemovePolygon)
                {
                    if (info.WillMutate(info.Settings.RemovePolygonMutationRate))
                    {
                        RemovePolygon(info);
                    }
                }

                if (!info.Settings.MuteMovePolygon)
                {
                    if (info.WillMutate(info.Settings.MovePolygonMutationRate))
                    {
                        MovePolygon(info);
                    }
                }

                unchecked
                {
                    for (int i = 0; i < Polygons.Count; i++)
                    {
                        DnaPolygon polygon = Polygons[i];
                        polygon.Mutate(this, info);
                    }
                }
            }
        }