extract explicit mesh with topology information from implicit surfaces with boolean operations, and do surface/volume integrating on them.
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.
 
 
 

30 lines
938 B

#pragma once
#include <stdbool.h>
#include <macros.h>
#include <blobtree.h>
#include <primitive_descriptor.h>
typedef struct {
const raw_vector3d_t* vertices;
const uint32_t* faces; // indices of vertices in each face
const uint32_t* vertex_counts; // number of vertices in each face
uint32_t num_vertices;
uint32_t num_faces;
} polymesh_t;
typedef struct {
polymesh_t mesh;
double surf_int_result;
double vol_int_result;
bool success;
} solve_result_t;
EXTERN_C API solve_result_t execute_solver(const virtual_node_t* tree_node);
// clear the cache of previous solver results
// CAUTION: output result should be invalid after calling this function
EXTERN_C API void clear_solver_cache();
// output time usage statistics to console
EXTERN_C API void print_statistics();
EXTERN_C API void clear_statistics();