You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							27 lines
						
					
					
						
							1.6 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							27 lines
						
					
					
						
							1.6 KiB
						
					
					
				
								#pragma once
							 | 
						|
								
							 | 
						|
								#include <blobtree.hpp>
							 | 
						|
								
							 | 
						|
								#include "settings.h"
							 | 
						|
								
							 | 
						|
								struct parametric_plane_t {
							 | 
						|
								    /// plane associated properties
							 | 
						|
								    Eigen::AlignedBox2d                           uv_bounds{};
							 | 
						|
								    /// chain associated properties
							 | 
						|
								    stl_vector_mp<stl_vector_mp<Eigen::Vector2d>> chain_vertices{};
							 | 
						|
								    // iff start/end vertex, then this is signular or not; else this is polar or not
							 | 
						|
								    stl_vector_mp<dynamic_bitset_mp<>>            vertex_special_flags{};
							 | 
						|
								    // format: total length is N - 1, and i identifies whether edge [i, i+1) is near parallel or not
							 | 
						|
								    stl_vector_mp<dynamic_bitset_mp<>>            edge_near_parallel_flags{};
							 | 
						|
								    // the other subface index (except the subface of the parametric plane) of the chain
							 | 
						|
								    stl_vector_mp<uint32_t>                       chain_other_subface_indices{};
							 | 
						|
								    /// chain group (by neighboring patch) associated properties
							 | 
						|
								    stl_vector_mp<stl_vector_mp<uint16_t>>        chain_group_indices{};
							 | 
						|
								};
							 | 
						|
								
							 | 
						|
								ISNP_API void build_implicit_network_by_blobtree(const s_settings&                                settings,
							 | 
						|
								                                                 const baked_blobtree_t&                          tree,
							 | 
						|
								                                                 stl_vector_mp<Eigen::Vector3d>&                  output_vertices,
							 | 
						|
								                                                 stl_vector_mp<uint32_t>&                         output_polygon_faces,
							 | 
						|
								                                                 stl_vector_mp<uint32_t>&                         output_vertex_counts_of_face,
							 | 
						|
								                                                 flat_hash_map_mp<uint32_t, parametric_plane_t>& output_parametric_planes);
							 |