Blender V4.3
bmo_mesh_convert.cc
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
13#include "DNA_key_types.h"
14#include "DNA_mesh_types.h"
15#include "DNA_object_types.h"
16
17#include "bmesh.hh"
19
20#include "BKE_global.hh"
21
23{
24 Object *ob = static_cast<Object *>(BMO_slot_ptr_get(op->slots_in, "object"));
25 Mesh *mesh = static_cast<Mesh *>(BMO_slot_ptr_get(op->slots_in, "mesh"));
26 bool set_key = BMO_slot_bool_get(op->slots_in, "use_shapekey");
27
29 params.use_shapekey = set_key;
30 params.active_shapekey = ob->shapenr;
32
33 if (mesh->key && ob->shapenr > mesh->key->totkey) {
34 ob->shapenr = mesh->key->totkey - 1;
35 }
36}
37
39{
40 Object *ob = static_cast<Object *>(BMO_slot_ptr_get(op->slots_in, "object"));
41 // Scene *scene = BMO_slot_ptr_get(op, "scene");
42 Mesh *mesh = static_cast<Mesh *>(ob->data);
43
44 BMO_op_callf(bm, op->flag, "bmesh_to_mesh mesh=%p object=%p", mesh, ob);
45}
46
48{
49 Mesh *mesh = static_cast<Mesh *>(BMO_slot_ptr_get(op->slots_in, "mesh"));
50 // Object *ob = BMO_slot_ptr_get(op, "object");
51
53 params.calc_object_remap = true;
54
55 BM_mesh_bm_to_me(G.main, bm, mesh, &params);
56}
Object is a sort of wrapper for general info.
ATTR_WARN_UNUSED_RESULT BMesh * bm
void BM_mesh_bm_from_me(BMesh *bm, const Mesh *mesh, const BMeshFromMeshParams *params)
void BM_mesh_bm_to_me(Main *bmain, BMesh *bm, Mesh *mesh, const BMeshToMeshParams *params)
void * BMO_slot_ptr_get(BMOpSlot slot_args[BMO_OP_MAX_SLOTS], const char *slot_name)
bool BMO_op_callf(BMesh *bm, int flag, const char *fmt,...)
bool BMO_slot_bool_get(BMOpSlot slot_args[BMO_OP_MAX_SLOTS], const char *slot_name)
void bmo_bmesh_to_mesh_exec(BMesh *bm, BMOperator *op)
void bmo_object_load_bmesh_exec(BMesh *bm, BMOperator *op)
void bmo_mesh_to_bmesh_exec(BMesh *bm, BMOperator *op)
uiWidgetBaseParameters params[MAX_WIDGET_BASE_BATCH]
#define G(x, y, z)
struct BMOpSlot slots_in[BMO_OP_MAX_SLOTS]