#pragma once

#include "Point.h"
#include "Transform.h"
#include "Bounds.h"

#include <vector>

class PointCollection
{
public:
    PointCollection(const std::vector<Point> points = {});

    void addPoint(const Point& point);

    void apply(const Transform& transform);

    Bounds getBounds() const;

    Point getEndPoint() const;

    const std::vector<Point>& getPoints() const;

private:
    std::vector<Point> mPoints;
};
