#ifndef CT_ATTRIBUTESTOCLOUDWORKERT_H #define CT_ATTRIBUTESTOCLOUDWORKERT_H #include #include "interfaces.h" #include "ct_tools/attributes/ct_abstractattributestocloudworker.h" #include "ct_colorcloud/registered/ct_standardcolorcloudregistered.h" #include "ct_normalcloud/registered/ct_standardnormalcloudregistered.h" /** * Class that copy attributes to cloud passed in parameters. * * TypeAttributes must be CT_AbstractPointsAttributes or CT_AbstractFaceAttributes, etc... */ template class CT_AttributesToCloudWorkerT : public CT_AbstractAttributesToCloudWorker { public: CT_AttributesToCloudWorkerT() : CT_AbstractAttributesToCloudWorker() {} void setAttributes(const QList &attr) { m_attributes = attr; } const QList& attributes() const { return m_attributes; } void setColorCloud(QSharedPointer colors) { m_colors = colors; } QSharedPointer colorCloud() const { return m_colors; } void setNormalCloud(QSharedPointer normals) { m_normals = normals; } QSharedPointer normalCloud() const { return m_normals; } void apply(); void cancel() { m_cancel = true; } private: int m_progress; bool m_cancel; QList m_attributes; QSharedPointer m_colors; QSharedPointer m_normals; void setProgress(int progress) { if(m_progress != progress) { m_progress = progress; emit progressChanged(m_progress); } } }; #include "ct_tools/attributes/ct_attributestocloudworkert.hpp" #endif // CT_ATTRIBUTESTOCLOUDWORKERT_H