#pragma once
#include
#include
#include
#include
namespace internal
{
// u: the param of pattern
// v: the param of extrude axis
struct extrude_side_face_t final : subface {
};
} // namespace internal
namespace detail
{
template <>
struct hasher {
size_t operator()(const internal::extrude_side_face_t& subface) const { return XXH3_64bits(&subface, sizeof(subface)); }
};
template <>
struct eq_compare {
bool operator()(const internal::extrude_side_face_t& lhs, const internal::extrude_side_face_t& rhs) const
{
return eq_funcs(lhs.local_to_world, rhs.local_to_world) && lhs.additional_structure[0] == rhs.additional_structure[0]
&& lhs.additional_structure[1] == rhs.additional_structure[1];
}
};
} // namespace detail