4 #if defined(_WIN32) || defined(__CYGWIN__)
5 #ifdef VDE_BUILDING_DLL
6 #define VDE_API __declspec(dllexport)
8 #define VDE_API __declspec(dllimport)
11 #define VDE_API __attribute__((visibility("default")))
45 double* out_max_x,
double* out_max_y,
double* out_max_z);
55 int num_points,
int dimension);
57 double* out_x,
double* out_y,
double* out_z);
63 double cx1,
double cy1,
double cz1,
double r1,
64 double cx2,
double cy2,
double cz2,
double r2);
66 double ox,
double oy,
double oz,
67 double dx,
double dy,
double dz,
68 double* out_t,
double* out_x,
double* out_y,
double* out_z);
VDE_API VdeBodyHandle vde_body_create_box(VdeHandle ctx, double w, double h, double d)
VDE_API const char * vde_version(void)
VDE_API void vde_free_buffer(uint8_t *data)
VDE_API int vde_save_mesh(VdeHandle ctx, VdeMeshHandle mesh, const char *path, const char *format)
VDE_API VdeMeshHandle vde_mesh_smooth(VdeHandle ctx, VdeMeshHandle mesh, int iterations)
VDE_API void vde_body_free(VdeBodyHandle body)
VDE_API int vde_collision_ray_mesh(VdeHandle ctx, VdeMeshHandle mesh, double ox, double oy, double oz, double dx, double dy, double dz, double *out_t, double *out_x, double *out_y, double *out_z)
struct VdeSolver * VdeSolverHandle
VDE_API size_t vde_serialize_mesh(VdeHandle ctx, VdeMeshHandle mesh, uint8_t **out_data)
VDE_API int vde_curve_degree(VdeCurveHandle curve)
VDE_API VdeBodyHandle vde_body_create_cylinder(VdeHandle ctx, double r, double h, int segs)
VDE_API VdeMeshHandle vde_body_to_mesh(VdeHandle ctx, VdeBodyHandle body, double deflection)
VDE_API VdeMeshHandle vde_load_mesh(VdeHandle ctx, const char *path)
struct VdeContext * VdeHandle
struct VdeMesh * VdeMeshHandle
VDE_API int vde_solver_solve(VdeSolverHandle solver, int max_iter, double tol)
VDE_API VdeCurveHandle vde_curve_create_bezier(VdeHandle ctx, const double *control_points, int num_points, int dimension)
struct VdeBody * VdeBodyHandle
VDE_API int vde_collision_gjk_spheres(VdeHandle ctx, double cx1, double cy1, double cz1, double r1, double cx2, double cy2, double cz2, double r2)
VDE_API void vde_mesh_get_vertex(VdeMeshHandle mesh, size_t idx, double *out_x, double *out_y, double *out_z)
VDE_API VdeMeshHandle vde_mesh_simplify(VdeHandle ctx, VdeMeshHandle mesh, double target_ratio)
VDE_API int vde_solver_add_point(VdeSolverHandle solver, double x, double y, int fixed)
VDE_API void vde_curve_evaluate(VdeCurveHandle curve, double t, double *out_x, double *out_y, double *out_z)
VDE_API const char * vde_last_error(VdeHandle ctx)
VDE_API void vde_mesh_free(VdeMeshHandle mesh)
VDE_API void vde_solver_free(VdeSolverHandle solver)
VDE_API int vde_solver_add_line(VdeSolverHandle solver, int p0, int p1)
VDE_API VdeBodyHandle vde_body_create_sphere(VdeHandle ctx, double r, int su, int sv)
VDE_API void vde_solver_add_distance_constraint(VdeSolverHandle solver, int p0, int p1, double d)
VDE_API VdeSolverHandle vde_solver_create(void)
struct VdeBVH * VdeBVHHandle
VDE_API VdeMeshHandle vde_deserialize_mesh(VdeHandle ctx, const uint8_t *data, size_t len)
VDE_API VdeHandle vde_create(void)
VDE_API void vde_mesh_get_bounds(VdeMeshHandle mesh, double *out_min_x, double *out_min_y, double *out_min_z, double *out_max_x, double *out_max_y, double *out_max_z)
VDE_API void vde_solver_add_horizontal(VdeSolverHandle solver, int line_id)
struct VdeCurve * VdeCurveHandle
VDE_API size_t vde_mesh_num_faces(VdeMeshHandle mesh)
struct VdeSurface * VdeSurfaceHandle
VDE_API void vde_curve_free(VdeCurveHandle curve)
VDE_API VdeMeshHandle vde_mesh_boolean(VdeHandle ctx, VdeMeshHandle a, VdeMeshHandle b, int operation)
VDE_API void vde_destroy(VdeHandle ctx)
VDE_API size_t vde_mesh_num_vertices(VdeMeshHandle mesh)
VDE_API void vde_solver_add_vertical(VdeSolverHandle solver, int line_id)
VDE_API void vde_solver_get_point(VdeSolverHandle solver, int idx, double *x, double *y)
struct VdeSolver * VdeSolverHandle
约束求解器句柄 — 二维草图约束
struct VdeContext * VdeHandle
引擎上下文句柄 — 管理错误状态和内部资源
struct VdeMesh * VdeMeshHandle
三角网格句柄 — 顶点+面集合
struct VdeBody * VdeBodyHandle
B-Rep 实体句柄 — 边界表示模型
struct VdeCurve * VdeCurveHandle
参数曲线句柄 — NURBS 曲线