A type erasing container that can store any generator that generates type T.
Definition AnyGenerator.hpp:16
Definition AnyShape.hpp:36
virtual AnyGenerator< Edge > edges() const =0
virtual AnyGenerator< ShapeVertex > vertices() const =0
virtual UPtr< Base > clone() const =0
Definition AnyShape.hpp:44
virtual UPtr< Base > clone() const override
Definition AnyShape.hpp:48
virtual AnyGenerator< ShapeVertex > vertices() const override
Definition AnyShape.hpp:52
virtual AnyGenerator< Edge > edges() const override
Definition AnyShape.hpp:50
Derived(Shape shape)
Definition AnyShape.hpp:46
Shape mShape
Definition AnyShape.hpp:54
A type erasing container that can store any shape.
Definition AnyShape.hpp:19
AnyGenerator< Edge > edges() const noexcept
AnyShape & operator=(const AnyShape &that)
AnyShape(const AnyShape &that)
AnyShape(Shape shape)
Definition AnyShape.hpp:21
AnyShape(AnyShape &&)=default
UPtr< Base > mBase
Definition AnyShape.hpp:57
AnyShape & operator=(AnyShape &&)=default
A point on a path.
Definition ShapeVertex.hpp:16
A type that describes a conjunction of shapes that can be filled and stroked.
Definition Shape.hpp:198
Definition AnyGenerator.hpp:12
std::unique_ptr< T, Deleter > UPtr
UPtr is a smart pointer that owns and manages another object through a pointer and disposes of that o...
Definition SmartPtr.hpp:28
auto move(Vector3 position)
Moves a entity to the given position.
Definition Helpers.hpp:22
constexpr size_t hash(const T &v)
Generates a hash for the provided type.
Definition Hash.hpp:25