5#ifndef COAL_SERIALIZATION_kIOS_H
6#define COAL_SERIALIZATION_kIOS_H
14namespace serialization {
16template <
class Archive>
18 split_free(ar, bv, version);
21template <
class Archive>
26 std::array<coal::Vec3s, coal::kIOS::max_num_spheres> centers{};
27 std::array<coal::Scalar, coal::kIOS::max_num_spheres> radii;
32 ar& make_nvp(
"centers", make_array(centers.data(), centers.size()));
33 ar& make_nvp(
"radii", make_array(radii.data(), radii.size()));
35 ar& make_nvp(
"obb", bv.
obb);
38template <
class Archive>
42 std::array<coal::Vec3s, coal::kIOS::max_num_spheres> centers;
43 std::array<coal::Scalar, coal::kIOS::max_num_spheres> radii;
44 ar >> make_nvp(
"centers", make_array(centers.data(), centers.size()));
45 ar >> make_nvp(
"radii", make_array(radii.data(), radii.size()));
51 ar >> make_nvp(
"obb", bv.
obb);
A class describing the kIOS collision structure, which is a set of spheres.
Definition kIOS.h:52
OBB obb
@ OBB related with kIOS
Definition kIOS.h:120
unsigned int num_spheres
The number of spheres, no larger than 5.
Definition kIOS.h:117
static constexpr size_t max_num_spheres
Definition kIOS.h:111
kIOS_Sphere spheres[max_num_spheres]
The (at most) five spheres for intersection.
Definition kIOS.h:114
void load(Archive &ar, coal::BVSplitter< BV > &splitter_, const unsigned int)
Definition BV_splitter.h:44
void save(Archive &ar, const coal::BVSplitter< BV > &splitter_, const unsigned int)
Definition BV_splitter.h:30
void serialize(Archive &ar, coal::AABB &aabb, const unsigned int)
Definition AABB.h:15