1 /************************************************************************************* 2 * Copyright (C) 2007-2009 by Aleix Pol <aleixpol@kde.org> * 3 * Copyright (C) 2010-2013 by Percy Camilo T. Aucahuasi <percy.camilo.ta@gmail.com> * 4 * * 5 * This program is free software; you can redistribute it and/or * 6 * modify it under the terms of the GNU General Public License * 7 * as published by the Free Software Foundation; either version 2 * 8 * of the License, or (at your option) any later version. * 9 * * 10 * This program is distributed in the hope that it will be useful, * 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 13 * GNU General Public License for more details. * 14 * * 15 * You should have received a copy of the GNU General Public License * 16 * along with this program; if not, write to the Free Software * 17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * 18 *************************************************************************************/ 19 20 #ifndef PLOTTINGENUMS_H 21 #define PLOTTINGENUMS_H 22 23 #include <QFlags> 24 25 namespace Analitza { 26 27 enum Dimension 28 { 29 Dim1D = 1, 30 Dim2D = 2, 31 Dim3D = 4, 32 DimAll = Dim1D | Dim2D | Dim3D 33 }; 34 35 Q_DECLARE_FLAGS(Dimensions, Dimension) 36 37 enum CoordinateSystem 38 { 39 Cartesian = 1, 40 Polar, 41 Cylindrical, 42 Spherical 43 }; 44 45 enum CartesianAxis 46 { 47 XAxis = 1, 48 YAxis, 49 ZAxis, 50 InvalidAxis // used for query/select between some axis 51 }; 52 53 enum PlotStyle 54 { 55 Dots = 1, 56 Wired, 57 Solid 58 }; 59 60 //TODO review the 3d bahaviour 61 enum PlottingFocusPolicy 62 { 63 Current, 64 All 65 }; 66 67 //NOTE this is important in order to keep compatibility with KmPlot 68 enum GridStyle 69 { 70 Squares = 1, // a solid quadrangular (rectangular, if keep aspect radio is off) mesh (in KmPlot is called Lines) 71 Circles, // classic polar grid: solid circles (ellipses, if keep aspect radio is off) around origin (in KmPlot is called Polar) 72 Crosses, // like KmPlot: show only a cross at every node of the quadrangular mesh 73 HorizontalLines, // (or rows) show only horizontal lines of the quadrangular mesh, can be used as horizontal asymptotes 74 VerticalLines, // (or columns) show only vertical lines of the quadrangular mesh, can be used as vertical asymptotes 75 }; 76 77 enum AngleMode 78 { 79 Radian, 80 Degree, 81 Gradian 82 }; 83 84 enum ScaleMode // used for draw ticks marks in plotters 85 { 86 Linear = 1, // -2 -1 0 1 ... 87 Trigonometric, // -pi 0 +pi 88 // TODO lin-lin, lin-log, log-lin, and log-log. 89 }; 90 91 } 92 93 #endif 94