diff options
Diffstat (limited to 'source/blender/blenkernel/BKE_subdiv_mesh.h')
-rw-r--r-- | source/blender/blenkernel/BKE_subdiv_mesh.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/source/blender/blenkernel/BKE_subdiv_mesh.h b/source/blender/blenkernel/BKE_subdiv_mesh.h index ede7ae60dc9..b24db517143 100644 --- a/source/blender/blenkernel/BKE_subdiv_mesh.h +++ b/source/blender/blenkernel/BKE_subdiv_mesh.h @@ -14,6 +14,7 @@ extern "C" { #endif struct Mesh; +struct MEdge; struct Subdiv; typedef struct SubdivToMeshSettings { @@ -33,6 +34,14 @@ struct Mesh *BKE_subdiv_to_mesh(struct Subdiv *subdiv, const SubdivToMeshSettings *settings, const struct Mesh *coarse_mesh); +/* Interpolate a position along the `coarse_edge` at the relative `u` coordinate. If `is_simple` is + * false, this will perform a B-Spline interpolation using the edge neighbors, otherwise a linear + * interpolation will be done base on the edge vertices. */ +void BKE_subdiv_mesh_interpolate_position_on_edge(const struct Mesh *coarse_mesh, + const struct MEdge *coarse_edge, + bool is_simple, + float u, + float pos_r[3]); #ifdef __cplusplus } #endif |