Blender
V3.3
|
#include "BLI_utildefines.h"
#include "BLI_math.h"
#include "BLT_translation.h"
#include "DNA_defaults.h"
#include "DNA_mesh_types.h"
#include "DNA_object_types.h"
#include "DNA_screen_types.h"
#include "BKE_context.h"
#include "BKE_mesh.h"
#include "BKE_modifier.h"
#include "BKE_screen.h"
#include "UI_interface.h"
#include "UI_resources.h"
#include "RNA_access.h"
#include "RNA_prototypes.h"
#include "bmesh.h"
#include "bmesh_tools.h"
#include "MOD_modifiertypes.h"
#include "MOD_ui_common.h"
Go to the source code of this file.
Functions | |
Mesh * | doEdgeSplit (const Mesh *mesh, EdgeSplitModifierData *emd) |
static void | initData (ModifierData *md) |
static Mesh * | modifyMesh (ModifierData *md, const ModifierEvalContext *UNUSED(ctx), Mesh *mesh) |
static void | panel_draw (const bContext *UNUSED(C), Panel *panel) |
static void | panelRegister (ARegionType *region_type) |
Variables | |
ModifierTypeInfo | modifierType_EdgeSplit |
Edge Split modifier
Splits edges in the mesh according to sharpness flag or edge angle (can be used to achieve auto-smoothing)
Definition in file MOD_edgesplit.c.
Mesh * doEdgeSplit | ( | const Mesh * | mesh, |
EdgeSplitModifierData * | emd | ||
) |
Definition at line 44 of file MOD_edgesplit.c.
References BKE_mesh_from_bmesh_for_eval_nomain(), BKE_mesh_to_bmesh_ex(), bm, BM_EDGES_OF_MESH, BM_elem_flag_enable, BM_elem_flag_test, BM_ELEM_SMOOTH, BM_ELEM_TAG, BM_ITER_MESH, BM_mesh_edgesplit(), BM_mesh_free(), CD_MASK_ORIGINDEX, cosf, dot_v3v3(), e, BMLoop::f, EdgeSplitModifierData::flags, M_PI, mesh, MOD_EDGESPLIT_FROMANGLE, MOD_EDGESPLIT_FROMFLAG, BMFace::no, NULL, BMLoop::radial_next, result, EdgeSplitModifierData::split_angle, threshold, and UNLIKELY.
Referenced by modifyMesh().
|
static |
Definition at line 108 of file MOD_edgesplit.c.
References BLI_assert, DNA_struct_default_get, MEMCMP_STRUCT_AFTER_IS_ZERO, and MEMCPY_STRUCT_AFTER.
|
static |
Definition at line 117 of file MOD_edgesplit.c.
References doEdgeSplit(), EdgeSplitModifierData::flags, mesh, MOD_EDGESPLIT_FROMANGLE, MOD_EDGESPLIT_FROMFLAG, and result.
Definition at line 131 of file MOD_edgesplit.c.
References IFACE_, Panel::layout, modifier_panel_end(), modifier_panel_get_property_pointers(), NULL, ptr, RNA_boolean_get(), uiItemR(), uiLayoutRow(), uiLayoutRowWithHeading(), uiLayoutSetActive(), and uiLayoutSetPropSep().
Referenced by panelRegister().
|
static |
Definition at line 151 of file MOD_edgesplit.c.
References eModifierType_EdgeSplit, modifier_panel_register(), and panel_draw().
ModifierTypeInfo modifierType_EdgeSplit |
Definition at line 156 of file MOD_edgesplit.c.