itom 1.3.0
|
00001 /* ******************************************************************** 00002 itom software 00003 URL: http://www.uni-stuttgart.de/ito 00004 Copyright (C) 2013, Institut für Technische Optik (ITO), 00005 Universität Stuttgart, Germany 00006 00007 This file is part of itom and its software development toolkit (SDK). 00008 00009 itom is free software; you can redistribute it and/or modify it 00010 under the terms of the GNU Library General Public Licence as published by 00011 the Free Software Foundation; either version 2 of the Licence, or (at 00012 your option) any later version. 00013 00014 In addition, as a special exception, the Institut für Technische 00015 Optik (ITO) gives you certain additional rights. 00016 These rights are described in the ITO LGPL Exception version 1.0, 00017 which can be found in the file LGPL_EXCEPTION.txt in this package. 00018 00019 itom is distributed in the hope that it will be useful, but 00020 WITHOUT ANY WARRANTY; without even the implied warranty of 00021 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library 00022 General Public Licence for more details. 00023 00024 You should have received a copy of the GNU Library General Public License 00025 along with itom. If not, see <http://www.gnu.org/licenses/>. 00026 *********************************************************************** */ 00027 00028 #ifndef SHAREDSTRUCTURESGRAPHICS_H 00029 #define SHAREDSTRUCTURESGRAPHICS_H 00030 00031 #include "typeDefs.h" 00032 00033 #include <qstring.h> 00034 #if QT_VERSION < 0x050000 00035 #include <qcolor.h> 00036 #else 00037 #include <QtGui/qcolor.h> 00038 #endif 00039 #include <qpair.h> 00040 #include <qvector.h> 00041 00042 #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 00043 00044 namespace ito 00045 { 00046 enum PlotDataType 00047 { 00048 DataObjLine = 0x0001, 00049 DataObjPlane = 0x0002, 00050 DataObjPlaneStack = 0x0004, 00051 PointCloud = 0x0008, 00052 PolygonMesh = 0x0010 00053 }; 00054 Q_DECLARE_FLAGS(PlotDataTypes, PlotDataType) 00055 00056 enum PlotDataFormat 00057 { 00058 Format_Gray8 = 0x0001, 00059 Format_Gray16 = 0x0002, 00060 Format_Gray32 = 0x0004, 00061 Format_RGB32 = 0x0008, 00062 Format_ARGB32 = 0x0010, 00063 Format_CMYK32 = 0x0020, 00064 Format_Float32 = 0x0040, 00065 Format_Float64 = 0x0080, 00066 Format_Complex = 0x0100 00067 }; 00068 Q_DECLARE_FLAGS(PlotDataFormats, PlotDataFormat) 00069 00070 00071 enum PlotFeature 00072 { 00073 Static = 0x0001, 00074 Live = 0x0002, 00075 Cartesian = 0x0004, 00076 Polar = 0x0008, 00077 Cylindrical = 0x0010, 00078 OpenGl = 0x0020, 00079 Cuda = 0x0040, 00080 X3D = 0x0080, 00081 PlotLine = 0x0100, 00082 PlotImage = 0x0200, 00083 PlotISO = 0x0400, 00084 Plot3D = 0x0800 00085 }; 00086 Q_DECLARE_FLAGS(PlotFeatures, PlotFeature) 00087 00088 00089 class PluginInfo 00090 { 00091 public: 00092 PluginInfo(void) : m_plotFeatures(Static) {} 00093 PluginInfo(PlotDataTypes plotDataTypes, PlotDataFormats plotDataFormats, PlotFeatures plotFeatures) 00094 : m_plotDataTypes(plotDataTypes), 00095 m_plotDataFormats(plotDataFormats), 00096 m_plotFeatures(plotFeatures) 00097 {} 00098 00099 PlotDataTypes m_plotDataTypes; 00100 PlotDataFormats m_plotDataFormats; 00101 PlotFeatures m_plotFeatures; 00102 }; 00103 00104 enum tPalette 00105 { 00106 tPaletteNoType = 0x00, 00107 tPaletteGray = 0x01, 00108 tPaletteRGB = 0x02, 00109 tPaletteFC = 0x04, 00110 tPaletteIndexed = 0x08, 00111 tPaletteLinear = 0x10, 00112 tPaletteReadOnly = 0x20 00113 }; 00114 00115 struct ItomPalette 00116 { 00117 ItomPalette() : type(0), name("") {} 00118 int type; 00119 QString name; 00120 QVector<QPair<double, QColor> > colorStops; 00121 QVector<ito::uint32> colorVector256; 00122 QColor inverseColorOne; 00123 QColor inverseColorTwo; 00124 }; 00125 00126 } 00127 00128 Q_DECLARE_OPERATORS_FOR_FLAGS ( ito::PlotDataTypes ) 00129 Q_DECLARE_OPERATORS_FOR_FLAGS ( ito::PlotFeatures ) 00130 Q_DECLARE_OPERATORS_FOR_FLAGS ( ito::PlotDataFormats ) 00131 00132 #endif //#if !defined(Q_MOC_RUN) || defined(ITOMCOMMONQT_MOC) 00133 00134 #endif //SHAREDSTRUCTURESGRAPHICS_H