#ifndef SVPOINTCLOUD_H #define SVPOINTCLOUD_H #include #include "svdefs.h" #include "svpoint.h" #include "svcurve.h" #include "svfigure.h" #include "svobject.h" class SvCurve; class SvFigure; class SvObject; class SvPointCloud: public QObject { Q_OBJECT friend class SvCurve; friend class SvPoint; friend class SvFigure; friend class SvObject; protected: uint m_pointFieldHeight; uint m_pointFieldWidth; SvPoint*** m_pointField; QList m_curves; QList m_figures; QList m_objects; public: SvPointCloud(uint width, uint height); ~SvPointCloud(); SvCurve *createCurve(); SvFigure *createFigure(); SvObject *createObject(); void addPoint(SvPoint &point); uint getWidth() { return m_pointFieldWidth; } uint getHeight() { return m_pointFieldHeight; } SvPoint *point(uint x, uint y) { return m_pointField[y][x]; } QList &curves() { return m_curves; } QList &figures() { return m_figures; } }; #endif // SVPOINTCLOUD_H