Blender V5.0
mesh_data_update.cc File Reference
#include "DNA_cloth_types.h"
#include "DNA_customdata_types.h"
#include "DNA_key_types.h"
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "BLI_linklist.h"
#include "BLI_math_geom.h"
#include "BLI_math_matrix.h"
#include "BLI_math_vector_types.hh"
#include "BLI_span.hh"
#include "BLI_string.h"
#include "BLI_task.hh"
#include "BLI_utildefines.h"
#include "BLI_vector.hh"
#include "BKE_editmesh.hh"
#include "BKE_editmesh_cache.hh"
#include "BKE_geometry_set.hh"
#include "BKE_key.hh"
#include "BKE_layer.hh"
#include "BKE_lib_id.hh"
#include "BKE_material.hh"
#include "BKE_mesh.hh"
#include "BKE_mesh_iterators.hh"
#include "BKE_mesh_runtime.hh"
#include "BKE_mesh_wrapper.hh"
#include "BKE_modifier.hh"
#include "BKE_multires.hh"
#include "BKE_object.hh"
#include "BKE_object_types.hh"
#include "BKE_paint.hh"
#include "BKE_shrinkwrap.hh"
#include "DEG_depsgraph.hh"
#include "DEG_depsgraph_query.hh"

Go to the source code of this file.

Classes

struct  blender::bke::MappedUserData

Namespaces

namespace  blender
namespace  blender::bke

Macros

#define ASSERT_IS_VALID_MESH_INPUT(mesh)
#define ASSERT_IS_VALID_MESH_OUTPUT(mesh)

Functions

static void blender::bke::mesh_init_origspace (Mesh &mesh)
static void blender::bke::mesh_set_only_copy (Mesh *mesh, const CustomData_MeshMasks *mask)
static Span< float3blender::bke::get_orco_coords (const Object &ob, const BMEditMesh *em, eCustomDataType layer_type, Array< float3 > &storage)
static Meshblender::bke::create_orco_mesh (const Object &ob, const Mesh &mesh, const BMEditMesh *em, eCustomDataType layer)
static MutableSpan< float3blender::bke::orco_coord_layer_ensure (Mesh &mesh, const eCustomDataType layer)
static void blender::bke::add_orco_mesh (Object &ob, const BMEditMesh *em, Mesh &mesh, const Mesh *mesh_orco, const eCustomDataType layer)
static void blender::bke::mesh_calc_finalize (const Mesh &mesh_input, Mesh &mesh_eval)
static Meshblender::bke::modifier_modify_mesh_and_geometry_set (ModifierData *md, const ModifierEvalContext &mectx, Mesh *input_mesh, GeometrySet &geometry_set)
static void blender::bke::set_rest_position (Mesh &mesh)
static void blender::bke::mesh_calc_modifiers (Depsgraph &depsgraph, const Scene &scene, Object &ob, const bool use_deform, const bool need_mapping, const CustomData_MeshMasks &dataMask, const bool use_cache, const bool allow_shared_mesh, Mesh **r_deform, Mesh **r_final, GeometrySet **r_geometry_set)
bool blender::bke::editbmesh_modifier_is_enabled (const Scene *scene, const Object *ob, ModifierData *md, bool has_prev_mesh)
static MutableSpan< float3blender::bke::mesh_wrapper_vert_coords_ensure_for_write (Mesh *mesh)
static void blender::bke::editbmesh_calc_modifiers (Depsgraph &depsgraph, const Scene &scene, Object &ob, const CustomData_MeshMasks &dataMask, Mesh **r_cage, Mesh **r_final, GeometrySet **r_geometry_set)
static void blender::bke::mesh_build_extra_data (const Depsgraph &depsgraph, const Object &ob, const Mesh &mesh_eval)
static void blender::bke::mesh_build_data (Depsgraph &depsgraph, const Scene &scene, Object &ob, const CustomData_MeshMasks &dataMask, const bool need_mapping)
static void blender::bke::editbmesh_build_data (Depsgraph &depsgraph, const Scene &scene, Object &obedit, CustomData_MeshMasks &dataMask)
static void blender::bke::object_get_datamask (const Depsgraph &depsgraph, Object &ob, CustomData_MeshMasks &r_mask, bool *r_need_mapping)
Meshblender::bke::mesh_get_eval_deform (Depsgraph *depsgraph, const Scene *scene, Object *ob, const CustomData_MeshMasks *dataMask)
Meshblender::bke::mesh_create_eval_final (Depsgraph *depsgraph, const Scene *scene, Object *ob, const CustomData_MeshMasks *dataMask)
Meshblender::bke::mesh_create_eval_no_deform (Depsgraph *depsgraph, const Scene *scene, Object *ob, const CustomData_MeshMasks *dataMask)
Meshblender::bke::mesh_create_eval_no_deform_render (Depsgraph *depsgraph, const Scene *scene, Object *ob, const CustomData_MeshMasks *dataMask)
Meshblender::bke::editbmesh_get_eval_cage (Depsgraph *depsgraph, const Scene *scene, Object *obedit, BMEditMesh *em, const CustomData_MeshMasks *dataMask)
Meshblender::bke::editbmesh_get_eval_cage_from_orig (Depsgraph *depsgraph, const Scene *scene, Object *obedit, const CustomData_MeshMasks *dataMask)
static void blender::bke::make_vertexcos__mapFunc (void *user_data, int index, const float co[3], const float[3])
void blender::bke::mesh_get_mapped_verts_coords (Mesh *mesh_eval, MutableSpan< float3 > r_cos)
Topology Queries
void blender::bke::mesh_data_update (Depsgraph &depsgraph, const Scene &scene, Object &ob, const CustomData_MeshMasks &dataMask)

Macro Definition Documentation

◆ ASSERT_IS_VALID_MESH_INPUT

#define ASSERT_IS_VALID_MESH_INPUT ( mesh)
Value:
{ \
(void)mesh; \
};

Validate all meshes being modified, input and output. This is slow (even for debug mode), enable manually when investigating bugs.

Note
Validating the input as well as the output can be useful to rule out corrupt input.

Definition at line 64 of file mesh_data_update.cc.

Referenced by blender::bke::editbmesh_calc_modifiers(), and blender::bke::mesh_calc_modifiers().

◆ ASSERT_IS_VALID_MESH_OUTPUT

#define ASSERT_IS_VALID_MESH_OUTPUT ( mesh)
Value:
{ \
(void)mesh; \
};

Definition at line 68 of file mesh_data_update.cc.

Referenced by blender::bke::editbmesh_calc_modifiers(), and blender::bke::mesh_calc_modifiers().