28 #ifndef ABSTRACTDOBJPCLFIGURE_H
29 #define ABSTRACTDOBJPCLFIGURE_H
31 #include "AbstractFigure.h"
32 #include "../DataObject/dataobj.h"
33 #if defined USEPCL || ITOM_POINTCLOUDLIBRARY
34 #include "../PointCloud/pclStructures.h"
36 #include "../common/sharedStructuresQt.h"
37 #include "../common/addInInterface.h"
38 #include "../common/interval.h"
39 #include "../common/qtMetaTypeDeclarations.h"
45 #if !defined(Q_MOC_RUN) || defined(ITOMCOMMONPLOT_MOC) //only moc this file in itomCommonQtLib but not in other libraries or executables linking against this itomCommonQtLib
52 Q_PROPERTY(QSharedPointer<ito::DataObject> dataObject READ getDataObject WRITE setDataObject DESIGNABLE
false USER
false)
53 #ifdef USEPCL //this symbol is automatically defined if the itom SDK is compiled with PCL support (set in itom_sdk.cmake)
54 Q_PROPERTY(QSharedPointer<ito::PCLPointCloud> pointCloud READ getPointCloud WRITE setPointCloud DESIGNABLE
false USER
false)
55 Q_PROPERTY(QSharedPointer<ito::PCLPolygonMesh> polygonMesh READ getPolygonMesh WRITE setPolygonMesh DESIGNABLE
false USER
false)
58 Q_PROPERTY(
ito::AutoInterval xAxisInterval READ getXAxisInterval WRITE setXAxisInterval DESIGNABLE
true USER
true)
59 Q_PROPERTY(
ito::AutoInterval yAxisInterval READ getYAxisInterval WRITE setYAxisInterval DESIGNABLE
true USER
true)
60 Q_PROPERTY(
ito::AutoInterval zAxisInterval READ getZAxisInterval WRITE setZAxisInterval DESIGNABLE
true USER
true)
61 Q_PROPERTY(QString colorMap READ getColorMap WRITE setColorMap DESIGNABLE
true USER
true)
63 Q_CLASSINFO(
"prop://dataObject",
"Sets the input data object for this plot.")
64 Q_CLASSINFO(
"prop://polygonMesh",
"Sets the input polygon mesh for this plot.")
65 Q_CLASSINFO(
"prop://pointCloud",
"Sets the input point cloud for this plot.")
67 Q_CLASSINFO(
"prop://xAxisInterval",
"Sets the visible range of the displayed x-axis (in coordinates of the data object) or (0.0, 0.0) if range should be automatically set [default].")
68 Q_CLASSINFO(
"prop://yAxisInterval",
"Sets the visible range of the displayed y-axis (in coordinates of the data object) or (0.0, 0.0) if range should be automatically set [default].")
69 Q_CLASSINFO(
"prop://zAxisInterval",
"Sets the visible range of the displayed z-axis (in coordinates of the data object) or (0.0, 0.0) if range should be automatically set [default].")
70 Q_CLASSINFO(
"prop://colorMap",
"Color map (string) that should be used to colorize a non-color data object.")
72 Q_CLASSINFO(
"slot://setLinePlot",
"This (virtual) slot can be invoked by python to trigger a lineplot.")
77 AbstractDObjPclFigure(
const QString &itomSettingsFile, AbstractFigure::WindowMode windowMode = AbstractFigure::ModeStandaloneInUi, QWidget *parent = 0);
84 virtual ito::RetVal setDataObject(QSharedPointer<ito::DataObject>);
85 virtual QSharedPointer<ito::DataObject> getDataObject(
void)
const;
96 virtual QString getColorMap(
void)
const;
97 virtual void setColorMap(QString);
100 virtual QPixmap renderToPixMap(
const int xsize,
const int ysize,
const int resolution);
103 virtual ito::RetVal setPointCloud(QSharedPointer<ito::PCLPointCloud>);
104 virtual QSharedPointer<ito::PCLPointCloud> getPointCloud(
void)
const;
106 virtual ito::RetVal setPolygonMesh(QSharedPointer<ito::PCLPolygonMesh>);
107 virtual QSharedPointer<ito::PCLPolygonMesh> getPolygonMesh(
void)
const;
111 QHash<QString, QSharedPointer<ito::DataObject> > m_dataPointerDObj;
114 QHash<QString, QSharedPointer<ito::PCLPointCloud> > m_dataPointerPC;
115 QHash<QString, QSharedPointer<ito::PCLPolygonMesh> > m_dataPointerPM;
122 virtual ito::RetVal setLinePlot(
const double x0,
const double y0,
const double x1,
const double y1,
const int destID = -1);
128 #endif //#if !defined(Q_MOC_RUN) || defined(ITOMCOMMONQT_MOC)
130 #endif //ABSTRACTDOBJPCLFIGURE_H
Class for managing status values (like errors or warning)
Definition: retVal.h:54
Definition: apiFunctionsGraph.cpp:39
class for a interval type containing a min-max-range and an auto-flag.
Definition: interval.h:49
Type
Definition: param.h:83