Blender  V2.93
Functions
bmesh_bevel.h File Reference

Go to the source code of this file.

Functions

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

Function Documentation

◆ BM_mesh_bevel()

void BM_mesh_bevel ( BMesh bm,
const float  offset,
const int  offset_type,
const int  profile_type,
const int  segments,
const float  profile,
const bool  affect_type,
const bool  use_weights,
const bool  limit_offset,
const struct MDeformVert dvert,
const int  vertex_group,
const int  mat,
const bool  loop_slide,
const bool  mark_seam,
const bool  mark_sharp,
const bool  harden_normals,
const int  face_strength_mode,
const int  miter_outer,
const int  miter_inner,
const float  spread,
const float  smoothresh,
const struct CurveProfile custom_profile,
const 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 7454 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, 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().