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.
 
 
 
 
 
 

21 lines
1.3 KiB

#pragma once
#include <blobtree.hpp>
#include "settings.h"
struct parameteric_plane_t {
stl_vector_mp<stl_vector_mp<Eigen::Vector2d>> chain_vertices{};
stl_vector_mp<uint32_t> chain_group_start_indices{};
// 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{};
};
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, parameteric_plane_t>& output_parameteric_planes);