/* * polycasso - Cubism Artwork generator * Copyright 2009-2017 MeBigFatGuy.com * Copyright 2009-2017 Dave Brosius * Inspired by work by Roger Alsing * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and limitations * under the License. */ package com.mebigfatguy.polycasso; /** * an enumeration of all the different improvement types that an ImageGenerator can attempt * to make to an image. */ public enum ImprovementType { /** * add a new polygon to the list being rendered */ AddPolygon, /** * remove a polygon from the list being rendered */ RemovePolygon, /** * add a point to a random existing polygon */ AddPoint, /** * remove a point from a random existing polygon */ RemovePoint, /** * move a point from a random existing polygon */ MovePoint, /** * pick a point at random and align it horizontally or vertically with a * neighboring point for an existing polygon */ RectifyPoint, /** * change the z order of a random existing polygon */ ReorderPoly, /** * adjust the points of the polygon so they move towards the centroid of * the polygon */ ShrinkPoly, /** * adjust the points of the polygon so they move away from the centroid of * the polygon */ EnlargePoly, /** * translate the points of the polygon in an x or y direction */ ShiftPoly, /** * adjust a component of the color of a random existing polygon */ ChangeColor, /** * adjust the transparency of a random existing polygon */ ChangeAlpha, /** * change the color to white */ White, /** * change the color to black */ Black, /** * combine two sets of polygons */ Breed, /** * combine two sets of polygons one from an elite */ BreedElite, /** * completely change all attributes of a random existing polygon */ CompleteChange; }