2023-08-16 00:20:26 +10:00
|
|
|
/* SPDX-FileCopyrightText: 2019 Blender Authors
|
2023-06-15 13:09:04 +10:00
|
|
|
*
|
|
|
|
|
* SPDX-License-Identifier: GPL-2.0-or-later */
|
2019-08-26 18:34:11 +02:00
|
|
|
|
|
|
|
|
#ifndef QUADRIFLOW_CAPI_HPP
|
|
|
|
|
#define QUADRIFLOW_CAPI_HPP
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
extern "C" {
|
|
|
|
|
#endif
|
|
|
|
|
|
2025-01-26 20:08:09 +01:00
|
|
|
struct QuadriflowRemeshData {
|
2023-12-20 20:45:15 -05:00
|
|
|
const float *verts;
|
|
|
|
|
const int *faces;
|
2019-08-26 18:34:11 +02:00
|
|
|
int totfaces;
|
|
|
|
|
int totverts;
|
|
|
|
|
|
|
|
|
|
float *out_verts;
|
2021-07-30 15:08:43 -04:00
|
|
|
int *out_faces;
|
2019-08-26 18:34:11 +02:00
|
|
|
int out_totverts;
|
|
|
|
|
int out_totfaces;
|
|
|
|
|
|
|
|
|
|
int target_faces;
|
|
|
|
|
bool preserve_sharp;
|
|
|
|
|
bool preserve_boundary;
|
|
|
|
|
bool adaptive_scale;
|
|
|
|
|
bool minimum_cost_flow;
|
|
|
|
|
bool aggresive_sat;
|
|
|
|
|
int rng_seed;
|
2025-01-26 20:08:09 +01:00
|
|
|
};
|
2019-08-26 18:34:11 +02:00
|
|
|
|
|
|
|
|
void QFLOW_quadriflow_remesh(QuadriflowRemeshData *qrd,
|
|
|
|
|
void (*update_cb)(void *, float progress, int *cancel),
|
|
|
|
|
void *update_cb_data);
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#endif // QUADRIFLOW_CAPI_HPP
|