#pragma once

#include "AbstractGeometricItem.h"

#include "PointCollection.h"

namespace ntk{
class Polygon : public AbstractGeometricItem
{
public:
	Polygon(const std::vector<Point>& points);

	const PointCollection& getPoints() const;

	Bounds getBounds() const override;

	const Point& getLocation() const override;

	void sample(SparseGrid<bool>*) const override;

	Type getType() const override;

private:
	Point mStartPoint;
	PointCollection mPoints;
};
}