#pragma once #include "assetFactoryConfig_fwd.h" #include "mutation.h" #include "stdTypeDefs.hpp" #include #include #include #include class Vertex; class Shape : public StdTypeDefs { public: using CreatedFaces = std::multimap; static constexpr float z {}, y {.5}, n {-y}, o {1}; virtual ~Shape() = default; virtual CreatedFaces createMesh(ModelFactoryMesh &, const Mutation::Matrix & mutation) const = 0; static std::vector addMutatedToMesh( ModelFactoryMesh & mesh, const std::span vertices, const Mutation::Matrix & mutation); };