Blender  V3.3
Functions
bmesh_bevel.h File Reference

Go to the source code of this file.

Functions

void BM_mesh_bevel (BMesh *bm, float offset, int offset_type, int profile_type, int segments, float profile, bool affect_type, bool use_weights, bool limit_offset, const struct MDeformVert *dvert, int vertex_group, int mat, bool loop_slide, bool mark_seam, bool mark_sharp, bool harden_normals, int face_strength_mode, int miter_outer, int miter_inner, float spread, float smoothresh, const struct CurveProfile *custom_profile, int vmesh_method)
 

Function Documentation

◆ BM_mesh_bevel()

void BM_mesh_bevel ( BMesh bm,
float  offset,
int  offset_type,
int  profile_type,
int  segments,
float  profile,
bool  affect_type,
bool  use_weights,
bool  limit_offset,
const struct MDeformVert dvert,
int  vertex_group,
int  mat,
bool  loop_slide,
bool  mark_seam,
bool  mark_sharp,
bool  harden_normals,
int  face_strength_mode,
int  miter_outer,
int  miter_inner,
float  spread,
float  smoothresh,
const struct CurveProfile custom_profile,
int  vmesh_method 
)
  • Currently only bevels BM_ELEM_TAG'd verts and edges.
  • Newly created faces, edges, and verts are BM_ELEM_TAG'd too, the caller needs to ensure these are cleared before calling if its going to use this tag.
  • If limit_offset is set, adjusts offset down if necessary to avoid geometry collisions.
Warning
all tagged edges must be manifold.

Definition at line 7704 of file bmesh_bevel.c.

References adjust_offsets(), BevelParams::affect_type, BEVEL_AFFECT_VERTICES, BEVEL_AMT_ABSOLUTE, BEVEL_AMT_PERCENT, bevel_build_edge_polygons(), bevel_extend_edge_data(), BEVEL_FACE_STRENGTH_NONE, bevel_harden_normals(), bevel_limit_offset(), BEVEL_MITER_SHARP, BEVEL_PROFILE_CUSTOM, bevel_reattach_wires(), bevel_rebuild_existing_polygons(), bevel_set_weighted_normal_face_strength(), bevel_vert_construct(), BEVEL_VMESH_CUTOFF, BLI_assert, BLI_ghash_flag_set(), BLI_ghash_free(), BLI_ghash_ptr_new(), BLI_memarena_free(), BLI_memarena_new(), BLI_memarena_use_calloc(), bm, BevelParams::bm, BM_EDGES_OF_MESH, BM_elem_flag_disable, BM_elem_flag_enable, BM_elem_flag_test, BM_ELEM_LONG_TAG, BM_ELEM_TAG, BM_FACES_OF_MESH, BM_ITER_ELEM, BM_ITER_MESH, BM_ITER_MESH_MUTABLE, BM_LOOPS_OF_FACE, BM_vert_kill(), BM_VERTS_OF_MESH, BMO_edge_flag_test, BMO_vert_flag_test, build_boundary(), build_vmesh(), e, EDGE_OUT, ELEM, F_EDGE, fabsf, BevelParams::face_hash, BevelParams::face_strength_mode, find_bevvert(), find_profile_fullness(), ProfileSpacing::fullness, get_face_kind(), GHASH_FLAG_ALLOW_DUPES, BevelParams::harden_normals, l, logf, math_layer_info_init(), max_ii(), BevelParams::mem_arena, MEM_SIZE_OPTIMAL, BevelParams::miter_inner, BevelParams::miter_outer, NULL, offset, BevelParams::offset, BevelParams::offset_adjust, PIL_check_seconds_timer(), PRO_CIRCLE_R, PRO_LINE_R, BevelParams::pro_spacing, BevelParams::pro_spacing_miter, PRO_SQUARE_IN_R, PRO_SQUARE_R, BevelParams::pro_super_r, BevelParams::profile_type, regularize_profile_orientation(), BevelParams::seg, set_profile_spacing(), sqrtf, BMesh::use_toolflags, v, BevelParams::vert_hash, VERT_OUT, and BevelParams::vmesh_method.

Referenced by bmo_bevel_exec(), and modifyMesh().