A type erasing container that can store any generator that generates type T.
Definition AnyGenerator.hpp:16
Definition AnyMesh.hpp:33
virtual AnyGenerator< MeshVertex > vertices() const =0
virtual AnyGenerator< Triangle > triangles() const =0
virtual UPtr< Base > clone() const =0
Definition AnyMesh.hpp:41
virtual UPtr< Base > clone() const override
Definition AnyMesh.hpp:45
virtual AnyGenerator< Triangle > triangles() const override
Definition AnyMesh.hpp:46
virtual AnyGenerator< MeshVertex > vertices() const override
Definition AnyMesh.hpp:47
Mesh mMesh
Definition AnyMesh.hpp:49
Derived(Mesh mesh)
Definition AnyMesh.hpp:43
A type erasing container that can store any mesh.
Definition AnyMesh.hpp:19
AnyMesh(const AnyMesh &that)
AnyMesh(Mesh mesh)
Definition AnyMesh.hpp:21
AnyMesh(AnyMesh &&)=default
UPtr< Base > mBase
Definition AnyMesh.hpp:52
AnyMesh & operator=(AnyMesh &&)=default
AnyMesh & operator=(const AnyMesh &that)
AnyGenerator< Triangle > triangles() const noexcept
Definition MeshVertex.hpp:14
A base class for all mesh implementations.
Definition Mesh.hpp:112
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