|
@ -34,8 +34,11 @@ template <> |
|
|
struct hasher<internal::plane_paired_model_matrix> { |
|
|
struct hasher<internal::plane_paired_model_matrix> { |
|
|
size_t operator()(const internal::plane_paired_model_matrix &block) const |
|
|
size_t operator()(const internal::plane_paired_model_matrix &block) const |
|
|
{ |
|
|
{ |
|
|
Eigen::Vector4d character_row = block.data->world_to_local.matrix().row(0); |
|
|
const auto& mat = block.data->local_to_world.matrix(); |
|
|
return XXH3_64bits(character_row.data(), sizeof(Eigen::Vector4d)); |
|
|
Eigen::Matrix<double, 3, 2> character_col; |
|
|
|
|
|
character_col.col(0) = mat.col(0); |
|
|
|
|
|
character_col.col(1) = mat.col(3); |
|
|
|
|
|
return XXH3_64bits(character_col.data(), sizeof(Eigen::Matrix<double, 3, 2>)); |
|
|
} |
|
|
} |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|