#pragma once #include #include "primitive/simple/sphere.hpp" #include "primitive/simple/cylinder.hpp" EXTERN_C struct PE_API primitive_data_center_t { primitive_data_center_t() noexcept; ~primitive_data_center_t() noexcept; hashed_refcount_hive_mp transform_blocks{}; // all other data depend on cached transform_blocks hashed_refcount_hive_mp planes{}; hashed_refcount_hive_mp spheres{}; hashed_refcount_hive_mp cylinders{}; }; namespace internal { PE_API primitive* new_primitive(primitive_type type); PE_API primitive* copy_primitive(primitive* ptr); } // namespace internal