|
Blender V4.3
|
#include <algorithm>#include "MEM_guardedalloc.h"#include "bmesh.hh"#include "BLI_math_geom.h"#include "BLI_math_vector.h"#include "BKE_customdata.hh"#include "BKE_deform.hh"#include "bmesh_wireframe.hh"Go to the source code of this file.
Macros | |
| #define | VERT_DUPE_TEST_ORIG(v) (verts_neg[BM_elem_index_get(v)] != nullptr) |
| #define | VERT_DUPE_TEST(v) (verts_pos[BM_elem_index_get(v)] != nullptr) |
| #define | VERT_DUPE_CLEAR(v) |
Functions | |
| static BMLoop * | bm_edge_tag_faceloop (BMEdge *e) |
| static void | bm_vert_boundary_tangent (BMVert *v, float r_no[3], float r_no_face[3], BMVert **r_va_other, BMVert **r_vb_other) |
| static bool | bm_loop_is_radial_boundary (BMLoop *l_first) |
| void | BM_mesh_wireframe (BMesh *bm, const float offset, const float offset_fac, const float offset_fac_vg, const bool use_replace, const bool use_boundary, const bool use_even_offset, const bool use_relative_offset, const bool use_crease, const float crease_weight, const int defgrp_index, const bool defgrp_invert, const short mat_offset, const int mat_max, const bool use_tag) |
Creates a solid wireframe from connected faces.
Definition in file bmesh_wireframe.cc.
Referenced by BM_mesh_wireframe().
| #define VERT_DUPE_TEST | ( | v | ) | (verts_pos[BM_elem_index_get(v)] != nullptr) |
Referenced by BM_mesh_wireframe().
| #define VERT_DUPE_TEST_ORIG | ( | v | ) | (verts_neg[BM_elem_index_get(v)] != nullptr) |
Referenced by BM_mesh_wireframe().
Definition at line 25 of file bmesh_wireframe.cc.
References BM_elem_flag_test, BM_ELEM_TAG, e, BMLoop::f, l, and BMLoop::radial_next.
Referenced by bm_vert_boundary_tangent().
|
static |
Definition at line 127 of file bmesh_wireframe.cc.
References BM_elem_flag_test, BM_ELEM_TAG, BMLoop::f, l, and BMLoop::radial_next.
Referenced by BM_mesh_wireframe().
| void BM_mesh_wireframe | ( | BMesh * | bm, |
| float | offset, | ||
| float | offset_fac, | ||
| float | offset_fac_vg, | ||
| bool | use_replace, | ||
| bool | use_boundary, | ||
| bool | use_even_offset, | ||
| bool | use_relative_offset, | ||
| bool | use_crease, | ||
| float | crease_weight, | ||
| int | defgrp_index, | ||
| bool | defgrp_invert, | ||
| short | mat_offset, | ||
| int | mat_max, | ||
| bool | use_tag ) |
| defgrp_index | Vertex group index, -1 for no vertex groups. |
MOD_solidify.cc. Definition at line 144 of file bmesh_wireframe.cc.
References angle_on_axis_v3v3v3_v3(), BKE_defvert_find_weight(), BLI_assert, bm, BM_CREATE_NOP, BM_data_layer_add_named(), BM_edge_exists(), BM_elem_attrs_copy(), BM_ELEM_CD_GET_VOID_P, BM_ELEM_CD_SET_FLOAT, BM_elem_flag_disable, BM_elem_flag_enable, BM_elem_flag_set, BM_elem_flag_test, BM_elem_index_get, BM_elem_index_set, BM_ELEM_TAG, BM_face_create_quad_tri(), BM_FACE_FIRST_LOOP, BM_FACES_OF_MESH, BM_ITER_ELEM, BM_ITER_MESH, BM_ITER_MESH_INDEX, BM_LOOP, BM_loop_calc_face_angle(), BM_loop_calc_face_tangent(), bm_loop_is_radial_boundary(), BM_LOOPS_OF_FACE, BM_mesh_elem_hflag_disable_all(), BM_VERT, bm_vert_boundary_tangent(), BM_vert_calc_median_tagged_edge_length(), BM_vert_create(), BM_vert_kill(), BM_VERTS_OF_MESH, CD_MDEFORMVERT, CD_PROP_FLOAT, BMVert::co, CustomData_get_offset(), CustomData_get_offset_named(), BMLoop::e, BMesh::edata, BMesh::elem_index_dirty, l, BMFace::len, M_PI, madd_v3_v3fl(), madd_v3_v3v3fl(), BMFace::mat_nr, MEM_freeN(), MEM_mallocN, BMLoop::next, BMVert::no, BMLoop::prev, shell_angle_to_dist(), BMesh::totvert, BMLoop::v, BMesh::vdata, VERT_DUPE_CLEAR, VERT_DUPE_TEST, and VERT_DUPE_TEST_ORIG.
Referenced by bmo_wireframe_exec(), and WireframeModifier_do().
|
static |
Definition at line 40 of file bmesh_wireframe.cc.
References add_v3_v3(), add_v3_v3v3(), BM_edge_calc_face_tangent(), BM_edge_other_vert(), bm_edge_tag_faceloop(), BM_EDGES_OF_VERT, BM_elem_flag_test, BM_ELEM_TAG, BM_ITER_ELEM, BMVert::co, copy_v3_v3(), cross_v3_v3v3(), dot_v3v3(), BMLoop::f, l_b, negate_v3(), BMFace::no, normalize_v3(), sub_v3_v3v3(), and v.
Referenced by BM_mesh_wireframe().