itom  4.1.0
sharedStructuresGraphics.h
1 /* ********************************************************************
2  itom software
3  URL: http://www.uni-stuttgart.de/ito
4  Copyright (C) 2020, Institut fuer Technische Optik (ITO),
5  Universitaet Stuttgart, Germany
6 
7  This file is part of itom and its software development toolkit (SDK).
8 
9  itom is free software; you can redistribute it and/or modify it
10  under the terms of the GNU Library General Public Licence as published by
11  the Free Software Foundation; either version 2 of the Licence, or (at
12  your option) any later version.
13 
14  In addition, as a special exception, the Institut fuer Technische
15  Optik (ITO) gives you certain additional rights.
16  These rights are described in the ITO LGPL Exception version 1.0,
17  which can be found in the file LGPL_EXCEPTION.txt in this package.
18 
19  itom is distributed in the hope that it will be useful, but
20  WITHOUT ANY WARRANTY; without even the implied warranty of
21  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library
22  General Public Licence for more details.
23 
24  You should have received a copy of the GNU Library General Public License
25  along with itom. If not, see <http://www.gnu.org/licenses/>.
26 *********************************************************************** */
27 
28 #ifndef SHAREDSTRUCTURESGRAPHICS_H
29 #define SHAREDSTRUCTURESGRAPHICS_H
30 
31 #include "typeDefs.h"
32 
33 #include <qstring.h>
34 #include <QtGui/qcolor.h>
35 #include <qpair.h>
36 #include <qvector.h>
37 
38 #if !defined(Q_MOC_RUN) || defined(ITOMCOMMONQT_MOC) //only moc this file in itomCommonQtLib but not in other libraries or executables linking against this itomCommonQtLib
39 
40 namespace ito
41 {
44  {
45  DataObjLine = 0x0001,
46  DataObjPlane = 0x0002,
47  DataObjPlaneStack = 0x0004,
48  PointCloud = 0x0008,
49  PolygonMesh = 0x0010
50  };
51  Q_DECLARE_FLAGS(PlotDataTypes, PlotDataType)
52 
53 
55  {
56  Format_Gray8 = 0x0001,
57  Format_Gray16 = 0x0002,
58  Format_Gray32 = 0x0004,
59  Format_RGB32 = 0x0008,
60  Format_ARGB32 = 0x0010,
61  Format_CMYK32 = 0x0020,
62  Format_Float32 = 0x0040,
63  Format_Float64 = 0x0080,
64  Format_Complex = 0x0100
65  };
66  Q_DECLARE_FLAGS(PlotDataFormats, PlotDataFormat)
67 
68 
70  {
71  Static = 0x0001,
72  Live = 0x0002,
73  Cartesian = 0x0004,
74  Polar = 0x0008,
75  Cylindrical = 0x0010,
76  OpenGl = 0x0020,
77  Cuda = 0x0040,
78  X3D = 0x0080,
79  PlotLine = 0x0100,
80  PlotImage = 0x0200,
81  PlotISO = 0x0400,
82  Plot3D = 0x0800
83  };
84  Q_DECLARE_FLAGS(PlotFeatures, PlotFeature)
85 
86 
87  class PluginInfo
88  {
89  public:
90  PluginInfo(void) : m_plotFeatures(Static) {}
91  PluginInfo(PlotDataTypes plotDataTypes, PlotDataFormats plotDataFormats, PlotFeatures plotFeatures)
92  : m_plotDataTypes(plotDataTypes),
93  m_plotDataFormats(plotDataFormats),
94  m_plotFeatures(plotFeatures)
95  {}
96 
97  PlotDataTypes m_plotDataTypes;
98  PlotDataFormats m_plotDataFormats;
99  PlotFeatures m_plotFeatures;
100  };
101 
102  enum tPalette
103  {
104  tPaletteNoType = 0x00,
105  tPaletteGray = 0x01,
106  tPaletteRGB = 0x02,
107  tPaletteFC = 0x04,
108  tPaletteIndexed = 0x08,
109  tPaletteLinear = 0x10,
110  tPaletteReadOnly = 0x20
111  };
112 
113  struct ItomPalette
114  {
115  ItomPalette() : type(0), name("") {}
116  int type;
117  QString name;
118  QVector<QPair<double, QColor> > colorStops;
119  QVector<ito::uint32> colorVector256; //corresponds to QVector<QRgb>
120  QColor inverseColorOne;
121  QColor inverseColorTwo;
122  QColor invalidColor;
123  };
124 
125 }
126 
127 Q_DECLARE_OPERATORS_FOR_FLAGS ( ito::PlotDataTypes )
128 Q_DECLARE_OPERATORS_FOR_FLAGS ( ito::PlotFeatures )
129 Q_DECLARE_OPERATORS_FOR_FLAGS ( ito::PlotDataFormats )
130 
131 #endif //#if !defined(Q_MOC_RUN) || defined(ITOMCOMMONQT_MOC)
132 
133 #endif //SHAREDSTRUCTURESGRAPHICS_H
Definition: sharedStructuresGraphics.h:46
Definition: sharedStructuresGraphics.h:49
Definition: apiFunctionsGraph.cpp:39
Definition: sharedStructuresGraphics.h:45
Definition: sharedStructuresGraphics.h:87
PlotFeature
this enumeration describe the features a designer plot widget provides concerning the visualization o...
Definition: sharedStructuresGraphics.h:69
Definition: sharedStructuresGraphics.h:48
PlotDataFormat
allowed data formats
Definition: sharedStructuresGraphics.h:54
PlotDataType
enumeration that describes the type of input data that a designer plot widget accepts ...
Definition: sharedStructuresGraphics.h:43
Definition: sharedStructuresGraphics.h:113
Definition: sharedStructuresGraphics.h:47