diff options
Diffstat (limited to 'source/blender/blenkernel/BKE_mesh_legacy_convert.h')
-rw-r--r-- | source/blender/blenkernel/BKE_mesh_legacy_convert.h | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/source/blender/blenkernel/BKE_mesh_legacy_convert.h b/source/blender/blenkernel/BKE_mesh_legacy_convert.h index 909fd0e0dea..92182f8045b 100644 --- a/source/blender/blenkernel/BKE_mesh_legacy_convert.h +++ b/source/blender/blenkernel/BKE_mesh_legacy_convert.h @@ -10,6 +10,11 @@ #include "BLI_utildefines.h" #ifdef __cplusplus +# include "BLI_span.hh" +# include "DNA_customdata_types.h" +#endif + +#ifdef __cplusplus extern "C" { #endif @@ -17,6 +22,68 @@ struct CustomData; struct Mesh; struct MFace; +#ifdef __cplusplus + +/** + * Move face sets to the legacy type from a generic type. + */ +void BKE_mesh_legacy_face_set_from_generic( + Mesh *mesh, blender::MutableSpan<CustomDataLayer> poly_layers_to_write); +/** + * Copy face sets to the generic data type from the legacy type. + */ +void BKE_mesh_legacy_face_set_to_generic(struct Mesh *mesh); + +/** + * Copy edge creases from a separate layer into edges. + */ +void BKE_mesh_legacy_edge_crease_from_layers(struct Mesh *mesh); +/** + * Copy edge creases from edges to a separate layer. + */ +void BKE_mesh_legacy_edge_crease_to_layers(struct Mesh *mesh); + +/** + * Copy bevel weights from separate layers into vertices and edges. + */ +void BKE_mesh_legacy_bevel_weight_from_layers(struct Mesh *mesh); +/** + * Copy bevel weights from vertices and edges to separate layers. + */ +void BKE_mesh_legacy_bevel_weight_to_layers(struct Mesh *mesh); + +/** + * Convert the hidden element attributes to the old flag format for writing. + */ +void BKE_mesh_legacy_convert_hide_layers_to_flags(struct Mesh *mesh); +/** + * Convert the old hide flags (#ME_HIDE) to the hidden element attribute for reading. + * Only add the attributes when there are any elements in each domain hidden. + */ +void BKE_mesh_legacy_convert_flags_to_hide_layers(struct Mesh *mesh); + +/** + * Convert the selected element attributes to the old flag format for writing. + */ +void BKE_mesh_legacy_convert_selection_layers_to_flags(struct Mesh *mesh); +/** + * Convert the old selection flags (#SELECT/#ME_FACE_SEL) to the selected element attribute for + * reading. Only add the attributes when there are any elements in each domain selected. + */ +void BKE_mesh_legacy_convert_flags_to_selection_layers(struct Mesh *mesh); + +/** + * Move material indices from a generic attribute to #MPoly. + */ +void BKE_mesh_legacy_convert_material_indices_to_mpoly(struct Mesh *mesh); +/** + * Move material indices from the #MPoly struct to a generic attributes. + * Only add the attribute when the indices are not all zero. + */ +void BKE_mesh_legacy_convert_mpoly_to_material_indices(struct Mesh *mesh); + +#endif + /** * Recreate #MFace Tessellation. * |