Temporary repository used to save branch code
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.

40 lines
1.2 KiB

#pragma once
#include <timer/scoped_timer.hpp>
#include <network_process.hpp>
//#include <integrator.hpp>
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<Eigen::Vector3d> m_output_vertices{};
stl_vector_mp<uint32_t> m_output_polygon_faces{};
stl_vector_mp<uint32_t> 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{};
};