You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
889 B
23 lines
889 B
#pragma once
|
|
|
|
#include <macros.h>
|
|
|
|
#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<internal::paired_model_matrix, internal::paired_model_matrix> transform_blocks{};
|
|
// all other data depend on cached transform_blocks
|
|
hashed_refcount_hive_mp<internal::plane_paired_model_matrix, internal::plane_t> planes{};
|
|
hashed_refcount_hive_mp<internal::paired_model_matrix*, internal::sphere_face_t> spheres{};
|
|
hashed_refcount_hive_mp<internal::cylinder_paired_model_matrix, internal::cylinder_face_t> cylinders{};
|
|
};
|
|
|
|
namespace internal
|
|
{
|
|
PE_API primitive* new_primitive(primitive_type type);
|
|
PE_API primitive* copy_primitive(primitive* ptr);
|
|
} // namespace internal
|