5 #ifndef COAL_SERIALIZATION_kIOS_H
6 #define COAL_SERIALIZATION_kIOS_H
14 namespace serialization {
16 template <
class Archive>
18 split_free(ar, bv, version);
21 template <
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);
38 template <
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:122
unsigned int num_spheres
The number of spheres, no larger than 5.
Definition: kIOS.h:119
static constexpr size_t max_num_spheres
Definition: kIOS.h:113
kIOS_Sphere spheres[max_num_spheres]
The (at most) five spheres for intersection.
Definition: kIOS.h:116
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