dispmap/svpointcloud.h
Andrey Tkachenko 9f13434d12 SvPoint Update
2014-08-01 17:35:29 +04:00

50 lines
1.1 KiB
C++

#ifndef SVPOINTCLOUD_H
#define SVPOINTCLOUD_H
#include <QObject>
#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<SvCurve*> m_curves;
QList<SvFigure*> m_figures;
QList<SvObject*> 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<SvCurve*> &curves() { return m_curves; }
QList<SvFigure*> &figures() { return m_figures; }
};
#endif // SVPOINTCLOUD_H