#pragma once #include #include namespace internal { struct sphere_t final : primitive { void initialize(primitive_data_center_t &) override; void destroy() override; primitive_type get_type() const override { return PRIMITIVE_TYPE_SPHERE; }; stl_vector_mp> get_subfaces() const override { return {static_pointer_cast(sphere_face)}; } stl_vector_mp get_subface_types() const override { return {surface_type::sphere}; } marked_subface_ptr_t sphere_face{}; }; } // namespace internal