36 struct DepsNodeHandle;
124 const char *propname);
200 float (*vertexCos)[3],
209 float (*vertexCos)[3],
210 float (*defMats)[3][3],
219 float (*vertexCos)[3],
227 float (*vertexCos)[3],
228 float (*defMats)[3][3],
400 #define MODIFIER_TYPE_PANEL_PREFIX "MOD_PT_"
458 int *r_lastPossibleCageIndex,
536 float (*vertexCos)[3],
543 float (*vertexCos)[3],
547 const bool get_cage_mesh);
typedef float(TangentPoint)[2]
CustomData interface, see also DNA_customdata_types.h.
void BKE_modifier_copydata(struct ModifierData *md, struct ModifierData *target)
bool BKE_modifier_is_non_geometrical(ModifierData *md)
void BKE_modifier_path_init(char *path, int path_maxlen, const char *name)
void BKE_modifier_check_uuids_unique_and_report(const struct Object *object)
struct VirtualModifierData VirtualModifierData
const ModifierTypeInfo * BKE_modifier_get_info(ModifierType type)
void BKE_modifier_mdef_compact_influences(struct ModifierData *md)
bool BKE_modifiers_is_particle_enabled(struct Object *ob)
struct Object * BKE_modifiers_is_deformed_by_armature(struct Object *ob)
struct Object * BKE_modifiers_is_deformed_by_curve(struct Object *ob)
struct CDMaskLink CDMaskLink
bool BKE_modifiers_uses_armature(struct Object *ob, struct bArmature *arm)
void BKE_modifier_deform_vertsEM(ModifierData *md, const struct ModifierEvalContext *ctx, struct BMEditMesh *em, struct Mesh *me, float(*vertexCos)[3], int numVerts)
void BKE_modifier_blend_read_lib(struct BlendLibReader *reader, struct Object *ob)
bool BKE_modifier_is_enabled(const struct Scene *scene, struct ModifierData *md, int required_mode)
bool BKE_modifier_is_nonlocal_in_liboverride(const struct Object *ob, const struct ModifierData *md)
bool BKE_modifiers_is_softbody_enabled(struct Object *ob)
struct Mesh * BKE_modifier_modify_mesh(ModifierData *md, const struct ModifierEvalContext *ctx, struct Mesh *me)
void BKE_modifier_free_ex(struct ModifierData *md, const int flag)
void(* IDWalkFunc)(void *userData, struct Object *ob, struct ID **idpoin, int cb_flag)
@ eModifierTypeFlag_AcceptsBMesh
@ eModifierTypeFlag_Single
@ eModifierTypeFlag_UsesPointCache
@ eModifierTypeFlag_NoUserAdd
@ eModifierTypeFlag_AcceptsCVs
@ eModifierTypeFlag_SupportsMapping
@ eModifierTypeFlag_UsesPreview
@ eModifierTypeFlag_EnableInEditmode
@ eModifierTypeFlag_SupportsEditmode
@ eModifierTypeFlag_AcceptsVertexCosOnly
@ eModifierTypeFlag_RequiresOriginalData
@ eModifierTypeFlag_AcceptsMesh
void BKE_modifier_deform_verts(ModifierData *md, const struct ModifierEvalContext *ctx, struct Mesh *me, float(*vertexCos)[3], int numVerts)
void(* TexWalkFunc)(void *userData, struct Object *ob, struct ModifierData *md, const char *propname)
struct ModifierUpdateDepsgraphContext ModifierUpdateDepsgraphContext
bool BKE_modifiers_uses_subsurf_facedots(const struct Scene *scene, struct Object *ob)
bool BKE_modifier_depends_ontime(struct ModifierData *md)
void BKE_modifier_free(struct ModifierData *md)
void BKE_modifiers_foreach_tex_link(struct Object *ob, TexWalkFunc walk, void *userData)
struct ModifierData * BKE_modifier_get_last_preview(const struct Scene *scene, struct ModifierData *md, int required_mode)
struct ModifierData * BKE_modifiers_get_virtual_modifierlist(const struct Object *ob, struct VirtualModifierData *data)
void bool BKE_modifier_is_preview(struct ModifierData *md)
void BKE_modifier_panel_expand(struct ModifierData *md)
const char * BKE_modifier_path_relbase_from_global(struct Object *ob)
bool BKE_modifier_couldbe_cage(struct Scene *scene, struct ModifierData *md)
const char * BKE_modifier_path_relbase(struct Main *bmain, struct Object *ob)
void BKE_modifiers_test_object(struct Object *ob)
struct ModifierData * BKE_modifier_get_evaluated(struct Depsgraph *depsgraph, struct Object *object, struct ModifierData *md)
struct ModifierEvalContext ModifierEvalContext
struct ModifierTypeInfo ModifierTypeInfo
void BKE_modifier_copydata_ex(struct ModifierData *md, struct ModifierData *target, const int flag)
struct ModifierData * BKE_modifiers_findby_type(const struct Object *ob, ModifierType type)
bool BKE_modifier_is_same_topology(ModifierData *md)
void BKE_modifier_remove_from_list(struct Object *ob, struct ModifierData *md)
bool BKE_modifier_supports_mapping(struct ModifierData *md)
struct ModifierData * BKE_modifier_new(int type)
bool BKE_modifier_supports_cage(struct Scene *scene, struct ModifierData *md)
bool BKE_modifiers_is_correctable_deformed(const struct Scene *scene, struct Object *ob)
void BKE_modifier_copydata_generic(const struct ModifierData *md, struct ModifierData *md_dst, const int flag)
@ eModifierTypeType_OnlyDeform
@ eModifierTypeType_NonGeometrical
@ eModifierTypeType_DeformOrConstruct
@ eModifierTypeType_Constructive
@ eModifierTypeType_Nonconstructive
void BKE_modifiers_foreach_ID_link(struct Object *ob, IDWalkFunc walk, void *userData)
void BKE_modifier_blend_write(struct BlendWriter *writer, struct ListBase *modbase)
bool BKE_modifier_is_correctable_deformed(struct ModifierData *md)
void BKE_modifier_blend_read_data(struct BlendDataReader *reader, struct ListBase *lb, struct Object *ob)
struct ModifierData * BKE_modifiers_findby_name(const struct Object *ob, const char *name)
struct Object * BKE_modifiers_is_deformed_by_lattice(struct Object *ob)
void BKE_modifier_free_temporary_data(struct ModifierData *md)
struct ModifierData * BKE_modifier_get_original(struct ModifierData *md)
void BKE_modifier_set_error(const struct Object *ob, struct ModifierData *md, const char *format,...) ATTR_PRINTF_FORMAT(3
void BKE_modifiers_clear_errors(struct Object *ob)
struct CDMaskLink * BKE_modifier_calc_data_masks(const struct Scene *scene, struct Object *ob, struct ModifierData *md, struct CustomData_MeshMasks *final_datamask, int required_mode, ModifierData *previewmd, const struct CustomData_MeshMasks *previewmask)
void BKE_modifier_type_panel_id(ModifierType type, char *r_idname)
@ MOD_APPLY_IGNORE_SIMPLIFY
int BKE_modifiers_get_cage_index(const struct Scene *scene, struct Object *ob, int *r_lastPossibleCageIndex, bool is_virtual)
bool BKE_modifiers_uses_multires(struct Object *ob)
struct Object * BKE_modifiers_is_deformed_by_meshdeform(struct Object *ob)
bool BKE_modifiers_is_modifier_enabled(struct Object *ob, int modifierType)
void BKE_modifier_session_uuid_generate(struct ModifierData *md)
bool BKE_modifiers_is_cloth_enabled(struct Object *ob)
void BKE_modifier_init(void)
bool BKE_modifier_unique_name(struct ListBase *modifiers, struct ModifierData *md)
struct Mesh * BKE_modifier_get_evaluated_mesh_from_evaluated_object(struct Object *ob_eval, const bool get_cage_mesh)
size_t ATTR_PRINTF_FORMAT(3, 4)
struct Depsgraph Depsgraph
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
const Depsgraph * depsgraph
struct Depsgraph * depsgraph
bool(* isDisabled)(const struct Scene *scene, struct ModifierData *md, bool userRenderParams)
void(* modifyGeometrySet)(struct ModifierData *md, const struct ModifierEvalContext *ctx, struct GeometrySet *geometry_set)
void(* copyData)(const struct ModifierData *md, struct ModifierData *target, const int flag)
void(* deformVertsEM)(struct ModifierData *md, const struct ModifierEvalContext *ctx, struct BMEditMesh *editData, struct Mesh *mesh, float(*vertexCos)[3], int numVerts)
void(* updateDepsgraph)(struct ModifierData *md, const ModifierUpdateDepsgraphContext *ctx)
void(* freeData)(struct ModifierData *md)
void(* panelRegister)(struct ARegionType *region_type)
void(* blendWrite)(struct BlendWriter *writer, const struct ModifierData *md)
void(* deformVerts)(struct ModifierData *md, const struct ModifierEvalContext *ctx, struct Mesh *mesh, float(*vertexCos)[3], int numVerts)
void(* foreachTexLink)(struct ModifierData *md, struct Object *ob, TexWalkFunc walk, void *userData)
void(* blendRead)(struct BlendDataReader *reader, struct ModifierData *md)
void(* requiredDataMask)(struct Object *ob, struct ModifierData *md, struct CustomData_MeshMasks *r_cddata_masks)
void(* deformMatrices)(struct ModifierData *md, const struct ModifierEvalContext *ctx, struct Mesh *mesh, float(*vertexCos)[3], float(*defMats)[3][3], int numVerts)
void(* freeRuntimeData)(void *runtime_data)
bool(* dependsOnNormals)(struct ModifierData *md)
bool(* dependsOnTime)(struct ModifierData *md)
void(* foreachIDLink)(struct ModifierData *md, struct Object *ob, IDWalkFunc walk, void *userData)
void(* initData)(struct ModifierData *md)
void(* deformMatricesEM)(struct ModifierData *md, const struct ModifierEvalContext *ctx, struct BMEditMesh *editData, struct Mesh *mesh, float(*vertexCos)[3], float(*defMats)[3][3], int numVerts)
struct DepsNodeHandle * node
ccl_device_inline float4 mask(const int4 &mask, const float4 &a)