#pragma once #include "modelFactoryMesh_fwd.h" #include "mutation.h" #include "persistence.h" #include "shape.h" #include "style.h" #include #include class FaceController : public Mutation, public Style, public Persistence::Persistable { public: using FaceControllers = std::map>; void apply(ModelFactoryMesh & mesh, const Style::StyleStack & parents, const std::string & names, Shape::CreatedFaces & faces) const; std::string id; std::string type; bool smooth {false}; FaceControllers faceControllers; private: friend Persistence::SelectionPtrBase>; bool persist(Persistence::PersistenceStore & store) override; std::string getId() const override { return {}; }; void applySingle(ModelFactoryMesh & mesh, const Style::StyleStack & parents, const std::string & name, Shape::CreatedFaces & faces) const; };