#pragma once
#include
#include
#include
namespace internal
{
struct cylinder_t final : primitive {
void initialize(primitive_data_center_t &) override;
void destroy() override;
primitive_type get_type() const override { return PRIMITIVE_TYPE_CYLINDER; };
marked_subface_ptr_t cylinder_face{};
marked_subface_ptr_t bottom_plane{};
marked_subface_ptr_t top_plane{};
protected:
void initialize(primitive_data_center_t &, const std::vector> &) override;
marked_subface_ptr_t *get_subface() const override { return (marked_subface_ptr_t *)(&cylinder_face); }
size_t get_subface_count() const override { return 3; }
};
} // namespace internal