| 
						
						
							
								
							
						
						
					 | 
					@ -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>)); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    } | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					}; | 
					 | 
					 | 
					}; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					
  |