26#include "RNA_prototypes.hh"
34 const int quad_method,
35 const int ngon_method,
36 const int min_vertices,
51 memcpy(data, mesh->corner_normals().data(), mesh->corner_normals().size_in_bytes());
58 bmesh_from_mesh_params.calc_vert_normal =
false;
59 bmesh_from_mesh_params.cd_mask_extra = cd_mask_extra;
64 bm, quad_method, ngon_method, min_vertices,
false,
nullptr,
nullptr,
nullptr);
70 float(*corner_normals)[3] =
static_cast<float(*)[3]
>(
129 "TriangulateModifierData",
131 &RNA_TriangulateModifier,
136 ICON_MOD_TRIANGULATE,
void CustomData_free_layers(CustomData *data, eCustomDataType type, int totelem)
void * CustomData_get_layer_for_write(CustomData *data, eCustomDataType type, int totelem)
void * CustomData_add_layer(CustomData *data, eCustomDataType type, eCDAllocType alloctype, int totelem)
Mesh * BKE_mesh_from_bmesh_for_eval_nomain(BMesh *bm, const CustomData_MeshMasks *cd_mask_extra, const Mesh *me_settings)
void BKE_mesh_set_custom_normals_normalized(Mesh *mesh, float(*r_custom_loop_normals)[3])
BMesh * BKE_mesh_to_bmesh_ex(const Mesh *mesh, const BMeshCreateParams *create_params, const BMeshFromMeshParams *convert_params)
void BKE_modifier_copydata_generic(const ModifierData *md, ModifierData *md_dst, int flag)
@ eModifierTypeFlag_AcceptsCVs
@ eModifierTypeFlag_SupportsMapping
@ eModifierTypeFlag_EnableInEditmode
@ eModifierTypeFlag_SupportsEditmode
@ eModifierTypeFlag_AcceptsMesh
#define MEMCMP_STRUCT_AFTER_IS_ZERO(struct_var, member)
#define MEMCPY_STRUCT_AFTER(struct_dst, struct_src, member)
#define CD_MASK_ORIGINDEX
#define DNA_struct_default_get(struct_name)
@ eModifierType_Triangulate
struct TriangulateModifierData TriangulateModifierData
@ MOD_TRIANGULATE_KEEP_CUSTOMLOOP_NORMALS
Read Guarded memory(de)allocation.
static void init_data(ModifierData *md)
static Mesh * triangulate_mesh(Mesh *mesh, const int quad_method, const int ngon_method, const int min_vertices, const int flag)
static void panel_register(ARegionType *region_type)
ModifierTypeInfo modifierType_Triangulate
static Mesh * modify_mesh(ModifierData *md, const ModifierEvalContext *, Mesh *mesh)
static void panel_draw(const bContext *, Panel *panel)
void modifier_panel_end(uiLayout *layout, PointerRNA *ptr)
PanelType * modifier_panel_register(ARegionType *region_type, ModifierType type, PanelDrawFn draw)
PointerRNA * modifier_panel_get_property_pointers(Panel *panel, PointerRNA *r_ob_ptr)
void uiLayoutSetPropSep(uiLayout *layout, bool is_sep)
void uiItemR(uiLayout *layout, PointerRNA *ptr, const char *propname, eUI_Item_Flag flag, const char *name, int icon)
ATTR_WARN_UNUSED_RESULT BMesh * bm
void BM_mesh_free(BMesh *bm)
BMesh Free Mesh.
void BM_mesh_triangulate(BMesh *bm, const int quad_method, const int ngon_method, const int min_vertices, const bool tag_only, BMOperator *op, BMOpSlot *slot_facemap_out, BMOpSlot *slot_facemap_double_out)
draw_view in_light_buf[] float