| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -85,5 +85,12 @@ double area_integrand(double u, double v, const Eigen::Vector3d& p, const Eigen: | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    return 1.0; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					// Integrate (1/3) * r · n dA over all subfaces
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					double volume_integrand(double u, double v, const Eigen::Vector3d& p, const Eigen::Vector3d& dU, const Eigen::Vector3d& dV) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					{ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    Eigen::Vector3d cross = dU.cross(dV); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    return (p.dot(cross)) / 3.0; // (1/3) * (x dydz + y dzdx + z dxdy)
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					}; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} // namespace internal
 |