Blender V5.0
BKE_editmesh.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
14
15#include <array>
16
17#include "BLI_array.hh"
19
20#include "bmesh.hh"
21
22struct BMLoop;
23struct BMPartialUpdate;
24struct BMesh;
26struct Depsgraph;
27struct Mesh;
28struct Object;
29struct Scene;
30
40struct BMEditMesh {
41 /* Always owned by an original mesh in edit mode. */
43
51
55 short mat_nr;
56
59
65};
66
67/* editmesh.cc */
68
72 BMPartialUpdate *bmpinfo,
76
82
96
102bool BKE_editmesh_eval_orig_map_available(const Mesh &mesh_eval, const Mesh *mesh_orig);
103
108
110 BMEditMesh *em,
111 Scene *scene,
112 Object *ob);
115 Depsgraph *depsgraph,
116 BMEditMesh *em,
117 Scene *scene,
118 Object *obedit,
120
void BKE_editmesh_free_data(BMEditMesh *em)
Definition editmesh.cc:132
blender::Span< blender::float3 > BKE_editmesh_vert_coords_when_deformed(Depsgraph *depsgraph, BMEditMesh *em, Scene *scene, Object *obedit, blender::Array< blender::float3 > &r_alloc)
BMEditMesh * BKE_editmesh_from_object(Object *ob)
Return the BMEditMesh for a given object.
Definition editmesh.cc:61
BMEditMesh * BKE_editmesh_create(BMesh *bm)
Definition editmesh.cc:32
blender::Array< blender::float3 > BKE_editmesh_vert_coords_alloc_orco(BMEditMesh *em)
Definition editmesh.cc:215
blender::Array< blender::float3 > BKE_editmesh_vert_coords_alloc(Depsgraph *depsgraph, BMEditMesh *em, Scene *scene, Object *ob)
Definition editmesh.cc:160
void BKE_editmesh_looptris_and_normals_calc_with_partial(BMEditMesh *em, BMPartialUpdate *bmpinfo)
Definition editmesh.cc:122
void BKE_editmesh_looptris_calc_with_partial_ex(BMEditMesh *em, BMPartialUpdate *bmpinfo, const BMeshCalcTessellation_Params *params)
Definition editmesh.cc:105
void BKE_editmesh_looptris_calc(BMEditMesh *em)
Definition editmesh.cc:88
void BKE_editmesh_looptris_calc_ex(BMEditMesh *em, const BMeshCalcTessellation_Params *params)
Definition editmesh.cc:81
void BKE_editmesh_looptris_and_normals_calc(BMEditMesh *em)
Definition editmesh.cc:95
void BKE_editmesh_lnorspace_update(BMEditMesh *em)
Definition editmesh.cc:220
BMEditMesh * BKE_editmesh_copy(BMEditMesh *em)
Definition editmesh.cc:39
bool BKE_editmesh_eval_orig_map_available(const Mesh &mesh_eval, const Mesh *mesh_orig)
Definition editmesh.cc:67
void BKE_editmesh_looptris_calc_with_partial(BMEditMesh *em, BMPartialUpdate *bmpinfo)
Definition editmesh.cc:115
BMesh * bm
BPy_StructRNA * depsgraph
uiWidgetBaseParameters params[MAX_WIDGET_BASE_BATCH]
short selectmode
blender::Array< std::array< BMLoop *, 3 > > looptris
char needs_flush_to_id