#pragma once #include #include //#include EXTERN_C class implicit_network_solver { public: implicit_network_solver(const baked_blobtree_t* tree, s_settings settings) noexcept : m_blobtree(tree), m_settings(settings) { if (m_settings.scene_aabb_margin <= 0) { m_settings.scene_aabb_margin = 1e-5; } if (m_settings.resolution <= 0) { m_settings.resolution = 1; } if (m_settings.integrand_density <= 0) { m_settings.integrand_density = 1; } } void generate_polymesh(); //integrator integrate_surface(); void clear() { m_output_vertices = {}; m_output_polygon_faces = {}; m_output_vertex_counts_of_face = {}; m_chain_graph = {}; } labelled_timers_manager m_timers{}; stl_vector_mp m_output_vertices{}; stl_vector_mp m_output_polygon_faces{}; stl_vector_mp m_output_vertex_counts_of_face{}; protected: const baked_blobtree_t* m_blobtree{nullptr}; s_settings m_settings{}; icurve_relation_graph_t m_chain_graph{}; };