diff options
Diffstat (limited to 'source/blender/blenkernel/BKE_mesh.h')
-rw-r--r-- | source/blender/blenkernel/BKE_mesh.h | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/source/blender/blenkernel/BKE_mesh.h b/source/blender/blenkernel/BKE_mesh.h index d2f5e0faa0f..249da2478b7 100644 --- a/source/blender/blenkernel/BKE_mesh.h +++ b/source/blender/blenkernel/BKE_mesh.h @@ -43,6 +43,7 @@ struct MFace; struct MEdge; struct MVert; struct MCol; +struct BMesh; struct Object; struct MTFace; struct VecNor; @@ -54,12 +55,30 @@ extern "C" { struct EditMesh *BKE_mesh_get_editmesh(struct Mesh *me); void BKE_mesh_end_editmesh(struct Mesh *me, struct EditMesh *em); +struct BMesh *BKE_mesh_to_bmesh(struct Mesh *me); + +/* + this function recreates a tesselation. + returns number of tesselation faces. + */ +int mesh_recalcTesselation(struct CustomData *fdata, struct CustomData *ldata, + struct CustomData *pdata, struct MVert *mvert, int totface, + int totloop, int totpoly); + +/*calculates a face normal.*/ +void mesh_calc_poly_normal(struct MPoly *mpoly, struct MLoop *loopstart, + struct MVert *mvarray, float *no); void unlink_mesh(struct Mesh *me); -void free_mesh(struct Mesh *me); +void free_mesh(struct Mesh *me, int unlink); struct Mesh *add_mesh(char *name); struct Mesh *copy_mesh(struct Mesh *me); void mesh_update_customdata_pointers(struct Mesh *me); + +/*this ensures grouped customdata (e.g. mtexpoly and mloopuv and mtface, or + mloopcol and mcol) have the same relative active/render/clone/mask indices.*/ +void mesh_update_linked_customdata(struct Mesh *me); + void make_local_tface(struct Mesh *me); void make_local_mesh(struct Mesh *me); void boundbox_mesh(struct Mesh *me, float *loc, float *size); @@ -136,8 +155,6 @@ int mesh_layers_menu_charlen(struct CustomData *data, int type); /* use this to void mesh_layers_menu_concat(struct CustomData *data, int type, char *str); int mesh_layers_menu(struct CustomData *data, int type); - - #ifdef __cplusplus } #endif |