itom
Loading...
Searching...
No Matches
sharedStructuresGraphics.h
1/* ********************************************************************
2 itom software
3 URL: http://www.uni-stuttgart.de/ito
4 Copyright (C) 2020, Institut für Technische Optik (ITO),
5 Universität 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 für 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
40namespace ito
41{
44 {
45 DataObjLine = 0x0001,
46 DataObjPlane = 0x0002,
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
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
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
127Q_DECLARE_OPERATORS_FOR_FLAGS ( ito::PlotDataTypes )
128Q_DECLARE_OPERATORS_FOR_FLAGS ( ito::PlotFeatures )
129Q_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:88
Definition apiFunctionsGraph.cpp:40
PlotFeature
this enumeration describe the features a designer plot widget provides concerning the visualization o...
Definition sharedStructuresGraphics.h:70
PlotDataFormat
allowed data formats
Definition sharedStructuresGraphics.h:55
PlotDataType
enumeration that describes the type of input data that a designer plot widget accepts
Definition sharedStructuresGraphics.h:44
@ DataObjPlane
Definition sharedStructuresGraphics.h:46
@ PolygonMesh
Definition sharedStructuresGraphics.h:49
@ PointCloud
Definition sharedStructuresGraphics.h:48
@ DataObjPlaneStack
Definition sharedStructuresGraphics.h:47
@ DataObjLine
Definition sharedStructuresGraphics.h:45
Definition sharedStructuresGraphics.h:114