| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -3,6 +3,7 @@ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					#include <solve.h> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					#include <mesh_algorithm.hpp> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					#include <fstream> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					#include <string> | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -46,7 +47,7 @@ int main() | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    auto runtime_blobtree = create_blobtree(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    auto node_iter1       = blobtree_add_primitive_node(runtime_blobtree, cylinder); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    auto node_iter2       = blobtree_add_primitive_node(runtime_blobtree, sphere1); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    auto node_iter3       = blobtree_add_operation_node(runtime_blobtree, node_iter1, node_iter2, INTERSECTION_OP); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    auto node_iter3       = blobtree_add_operation_node(runtime_blobtree, node_iter1, node_iter2, UNION_OP); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    auto baked_blobtree   = bake_blobtree(runtime_blobtree); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    destroy_blobtree(runtime_blobtree); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -60,6 +61,11 @@ int main() | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    auto result = generate_polymesh(solver); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    write_obj(result.mesh, "output.obj"); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    double area = compute_surface_area(&result.mesh); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    double volume = compute_volume(&result.mesh); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    std::cout << "area: " << area << std::endl;  // expected: 6
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    std::cout << "volume: " << volume << std::endl;  // expected: 1
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    print_statistics(solver); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    destroy_solver(solver); | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |