37 return static_cast<const Mesh *
>(ob_eval->
data);
69 if (
mesh != this->mesh_ref ||
mesh->runtime != this->runtime_ref ||
70 mesh->runtime->edit_data.get() != this->edit_data_ref)
91 MEM_CXX_CLASS_ALLOC_FUNCS(
"SnapCache_EditMesh")
113 const bool use_threading = (
mesh->faces_num +
mesh->edges_num) > 1024;
173 const Mesh *mesh_ref = (
G.moving) ?
179 if (std::unique_ptr<SnapObjectContext::SnapCache> *em_cache_p = sctx->
editmesh_caches.lookup_ptr(
191 std::unique_ptr<SnapCache_EditMesh> em_cache_ptr = std::make_unique<SnapCache_EditMesh>();
192 em_cache = em_cache_ptr.get();
222 else if (
bm->totedge) {
225 else if (
bm->totvert) {
228 return snap_mode_supported;
246 if (em_cache !=
nullptr) {
268 if (em_cache && em_cache->
mesh) {
BMEditMesh * BKE_editmesh_from_object(Object *ob)
Return the BMEditMesh for a given object.
void BKE_id_free(Main *bmain, void *idv)
void * BKE_id_new_nomain(short type, const char *name)
General operations, lookup, etc. for blender objects.
const Mesh * BKE_object_get_editmesh_eval_cage(const Object *object)
const Mesh * BKE_object_get_editmesh_eval_final(const Object *object)
@ SCE_SNAP_INDIVIDUAL_NEAREST
#define BM_elem_flag_test_bool(ele, hflag)
#define BM_ITER_MESH_INDEX(ele, iter, bm, itype, indexvar)
void BM_mesh_bm_to_me_compact(BMesh &bm, Mesh &mesh, const CustomData_MeshMasks *mask, const bool add_mesh_attributes)
ATTR_WARN_UNUSED_RESULT const BMVert const BMEdge * e
ATTR_WARN_UNUSED_RESULT const BMVert * v
GSpanAttributeWriter lookup_or_add_for_write_only_span(StringRef attribute_id, AttrDomain domain, AttrType data_type)
void parallel_invoke(Functions &&...functions)
MatBase< float, 4, 4 > float4x4
static void init(bNodeTree *, bNode *node)
MeshRuntimeHandle * runtime
ObjectRuntimeHandle * runtime
MutableVArraySpan< T > span
struct blender::ed::transform::SnapObjectContext::@170374026073064374202114033260227063176045253050 runtime
bool(* test_edge_fn)(BMEdge *, void *user_data)
bool(* test_face_fn)(BMFace *, void *user_data)
bool(* test_vert_fn)(BMVert *, void *user_data)
struct blender::ed::transform::SnapObjectContext::@057303224201065302154130247374246316157207360104 callbacks
Map< const ID *, std::unique_ptr< SnapCache > > editmesh_caches
struct blender::ed::transform::SnapObjectContext::@057303224201065302154130247374246316157207360104::@052144141244060360354325332176274005342203076127 edit_mesh