1 /** 2 * Mandelbulber v2, a 3D fractal generator ,=#MKNmMMKmmßMNWy, 3 * ,B" ]L,,p%%%,,,§;, "K 4 * Copyright (C) 2016-20 Mandelbulber Team §R-==%w["'~5]m%=L.=~5N 5 * ,=mm=§M ]=4 yJKA"/-Nsaj "Bw,==,, 6 * This file is part of Mandelbulber. §R.r= jw",M Km .mM FW ",§=ß., ,TN 7 * ,4R =%["w[N=7]J '"5=],""]]M,w,-; T=]M 8 * Mandelbulber is free software: §R.ß~-Q/M=,=5"v"]=Qf,'§"M= =,M.§ Rz]M"Kw 9 * you can redistribute it and/or §w "xDY.J ' -"m=====WeC=\ ""%""y=%"]"" § 10 * modify it under the terms of the "§M=M =D=4"N #"%==A%p M§ M6 R' #"=~.4M 11 * GNU General Public License as §W =, ][T"]C § § '§ e===~ U !§[Z ]N 12 * published by the 4M",,Jm=,"=e~ § § j]]""N BmM"py=ßM 13 * Free Software Foundation, ]§ T,M=& 'YmMMpM9MMM%=w=,,=MT]M m§;'§, 14 * either version 3 of the License, TWw [.j"5=~N[=§%=%W,T ]R,"=="Y[LFT ]N 15 * or (at your option) TW=,-#"%=;[ =Q:["V"" ],,M.m == ]N 16 * any later version. J§"mr"] ,=,," =="""J]= M"M"]==ß" 17 * §= "=C=4 §"eM "=B:m|4"]#F,§~ 18 * Mandelbulber is distributed in "9w=,,]w em%wJ '"~" ,=,,ß" 19 * the hope that it will be useful, . "K= ,=RMMMßM""" 20 * but WITHOUT ANY WARRANTY; .''' 21 * without even the implied warranty 22 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 23 * 24 * See the GNU General Public License for more details. 25 * You should have received a copy of the GNU General Public License 26 * along with Mandelbulber. If not, see <http://www.gnu.org/licenses/>. 27 * 28 * ########################################################################### 29 * 30 * Authors: Krzysztof Marczak (buddhi1980@gmail.com) 31 * 32 * distance estimation types 33 */ 34 35 #ifndef MANDELBULBER2_SRC_FRACTAL_ENUMS_H_ 36 #define MANDELBULBER2_SRC_FRACTAL_ENUMS_H_ 37 38 #define NUMBER_OF_FRACTALS 9 39 40 namespace fractal 41 { 42 enum enumDEMethod 43 { 44 preferredDEMethod = 0, 45 forceDeltaDEMethod = 1, 46 forceAnalyticDE = 2 47 }; 48 49 enum enumDEFunctionType 50 { 51 undefinedDEFunction = -1, 52 preferredDEFunction = 0, 53 linearDEFunction = 1, 54 logarithmicDEFunction = 2, 55 pseudoKleinianDEFunction = 3, 56 josKleinianDEFunction = 4, 57 customDEFunction = 5, 58 maxAxisDEFunction = 6, 59 // testingDEFunction = 6, 60 numberOfDEFunctions = 6, // used to prepare array 61 withoutDEFunction = 99 62 }; 63 64 enum enumCPixelAddition 65 { 66 cpixelUndefined = -1, 67 cpixelEnabledByDefault = 0, 68 cpixelDisabledByDefault = 1, 69 cpixelAlreadyHas = 2 70 }; 71 72 enum enumDEType 73 { 74 undefinedDEType = -1, 75 analyticDEType = 0, 76 deltaDEType = 1 77 }; 78 79 enum enumDEAnalyticFunction // DE function for non hybrid fractals 80 { 81 analyticFunctionUndefined = -1, 82 analyticFunctionNone = 0, 83 analyticFunctionLinear = 1, 84 analyticFunctionLogarithmic = 2, 85 analyticFunctionIFS = 3, 86 analyticFunctionPseudoKleinian = 4, 87 analyticFunctionJosKleinian = 5, 88 analyticFunctionCustomDE = 6, 89 analyticFunctionMaxAxis = 7, 90 }; 91 92 enum enumColoringFunction 93 { 94 coloringFunctionUndefined = -1, 95 coloringFunctionDefault = 0, 96 coloringFunctionABox = 1, 97 coloringFunctionIFS = 2, 98 coloringFunctionAmazingSurf = 3, 99 // coloringFunctionABox2 = 4, V2.14 removed 100 coloringFunctionDonut = 4, 101 }; 102 }; // namespace fractal 103 104 #endif /* MANDELBULBER2_SRC_FRACTAL_ENUMS_H_ */ 105