Blender V2.61 - r43446
|
Go to the source code of this file.
Definition in file BKE_modifier.h.
typedef void(* IDWalkFunc)(void *userData, struct Object *ob, struct ID **idpoin) |
Definition at line 106 of file BKE_modifier.h.
typedef struct ModifierTypeInfo ModifierTypeInfo |
typedef void(* ObjectWalkFunc)(void *userData, struct Object *ob, struct Object **obpoin) |
Definition at line 105 of file BKE_modifier.h.
typedef void(* TexWalkFunc)(void *userData, struct Object *ob, struct ModifierData *md, const char *propname) |
Definition at line 107 of file BKE_modifier.h.
enum ModifierTypeFlag |
Definition at line 75 of file BKE_modifier.h.
enum ModifierTypeType |
eModifierTypeType_None | |
eModifierTypeType_OnlyDeform | |
eModifierTypeType_Constructive | |
eModifierTypeType_Nonconstructive | |
eModifierTypeType_DeformOrConstruct | |
eModifierTypeType_NonGeometrical |
Definition at line 49 of file BKE_modifier.h.
void modifier_copyData | ( | struct ModifierData * | md, |
struct ModifierData * | target | ||
) |
Definition at line 217 of file modifier.c.
References ModifierTypeInfo::copyData, ModifierData::mode, modifierType_getInfo(), mti, and ModifierData::type.
Referenced by copy_attr(), copy_object(), copy_particlesystem(), ED_object_modifier_copy(), modifiers_convertToReal(), and object_link_modifiers().
int modifier_couldBeCage | ( | struct Scene * | scene, |
struct ModifierData * | md | ||
) |
Definition at line 227 of file modifier.c.
References eModifierMode_Editmode, eModifierMode_Realtime, ModifierTypeInfo::isDisabled, ModifierData::mode, modifier_supportsMapping(), modifierType_getInfo(), mti, ModifierData::scene, and ModifierData::type.
Referenced by draw_modifier().
int modifier_dependsOnTime | ( | struct ModifierData * | md | ) |
Definition at line 130 of file modifier.c.
References ModifierTypeInfo::dependsOnTime, modifierType_getInfo(), mti, and ModifierData::type.
Referenced by BL_ModifierDeformer::HasCompatibleDeformer(), and object_modifiers_use_time().
void modifier_free | ( | struct ModifierData * | md | ) |
Definition at line 111 of file modifier.c.
References ModifierData::error, ModifierTypeInfo::freeData, MEM_freeN(), modifierType_getInfo(), mti, and ModifierData::type.
Referenced by ED_object_modifier_apply(), free_hair(), lib_link_particlesystems(), modifiers_getVirtualModifierList(), object_free_modifiers(), object_hook_remove_exec(), object_modifier_remove(), and object_remove_particle_system().
void modifier_freeTemporaryData | ( | struct ModifierData * | md | ) |
Definition at line 558 of file modifier.c.
References eModifierType_Armature, MEM_freeN(), NULL, ArmatureModifierData::prevCos, and ModifierData::type.
Referenced by mesh_calc_modifiers().
int modifier_isCorrectableDeformed | ( | struct ModifierData * | md | ) |
Definition at line 525 of file modifier.c.
References eModifierType_Armature, eModifierType_ShapeKey, and ModifierData::type.
Referenced by editmesh_get_first_deform_matrices(), and modifiers_isCorrectableDeformed().
int modifier_isEnabled | ( | struct Scene * | scene, |
struct ModifierData * | md, | ||
int | required_mode | ||
) |
Definition at line 331 of file modifier.c.
References eModifierMode_DisableTemporary, eModifierMode_Editmode, eModifierMode_Render, eModifierTypeFlag_SupportsEditmode, ModifierTypeInfo::flags, ModifierTypeInfo::isDisabled, ModifierData::mode, modifierType_getInfo(), mti, ModifierData::scene, and ModifierData::type.
Referenced by crazyspace_build_sculpt(), curve_get_tesselate_point(), editmesh_modifier_is_enabled(), find_multires_modifier_before(), get_multires_modifier(), mesh_calc_modifiers(), modifiers_calcDataMasks(), multiresbake_check(), object_is_modified(), sculpt_get_first_deform_matrices(), sculpt_has_active_modifiers(), sculpt_modifiers_active(), and sculpt_multires_active().
void modifier_mdef_compact_influences | ( | struct ModifierData * | md | ) |
Definition at line 371 of file MOD_meshdeform.c.
References MeshDeformModifierData::bindinfluences, MeshDeformModifierData::bindoffsets, MeshDeformModifierData::bindweights, MEM_callocN(), MEM_freeN(), MESHDEFORM_MIN_INFLUENCE, NULL, MeshDeformModifierData::totcagevert, MeshDeformModifierData::totinfluence, MeshDeformModifierData::totvert, Mesh::totvert, MDefInfluence::vertex, and MDefInfluence::weight.
Referenced by do_version_mdef_250(), and mesh_deform_bind().
struct ModifierData* modifier_new | ( | int | type | ) | [read] |
Definition at line 91 of file modifier.c.
References BLI_strncpy(), eModifierMode_Editmode, eModifierMode_Expanded, eModifierMode_Realtime, eModifierMode_Render, eModifierTypeFlag_EnableInEditmode, ModifierTypeInfo::flags, ModifierTypeInfo::initData, MEM_callocN(), ModifierData::mode, modifierType_getInfo(), mti, ModifierTypeInfo::name, ModifierData::name, ModifierTypeInfo::structName, ModifierTypeInfo::structSize, and ModifierData::type.
Referenced by add_hook_object(), copy_attr(), copy_object(), copy_particlesystem(), direct_link_object(), do_hair_dynamics(), do_versions(), ED_object_modifier_add(), ED_object_modifier_copy(), modifiers_convertToReal(), modifiers_getVirtualModifierList(), multires_load_old(), object_add_particle_system(), and object_link_modifiers().
int modifier_nonGeometrical | ( | ModifierData * | md | ) |
Definition at line 246 of file modifier.c.
References eModifierTypeType_NonGeometrical, modifierType_getInfo(), mti, ModifierData::type, and ModifierTypeInfo::type.
Referenced by draw_modifier().
void modifier_path_init | ( | char * | path, |
int | path_maxlen, | ||
const char * | name | ||
) |
Definition at line 613 of file modifier.c.
References BLI_join_dirfile(), BLI_temporary_dir(), and G.
Referenced by dynamicPaint_createNewSurface(), fluidsim_init(), and initData().
const char* modifier_path_relbase | ( | struct Object * | ob | ) |
Definition at line 600 of file modifier.c.
References BLI_temporary_dir(), G, Object::id, ID_BLEND_PATH, and ID::lib.
Referenced by ocean_bake_exec(), and particles_fluid_step().
int modifier_sameTopology | ( | ModifierData * | md | ) |
Definition at line 239 of file modifier.c.
References ELEM3, eModifierTypeType_Nonconstructive, eModifierTypeType_NonGeometrical, eModifierTypeType_OnlyDeform, modifierType_getInfo(), mti, ModifierTypeInfo::type, and ModifierData::type.
Referenced by draw_modifier(), and modifier_apply_shape().
void modifier_setError | ( | struct ModifierData * | md, |
const char * | format, | ||
... | |||
) |
Definition at line 252 of file modifier.c.
References BLI_strdup(), ModifierData::error, and MEM_freeN().
Referenced by cloth_from_mesh(), cloth_from_object(), editmesh_modifier_is_enabled(), mesh_calc_modifiers(), meshdeform_matrix_solve(), and meshdeformModifier_do().
int modifier_supportsMapping | ( | struct ModifierData * | md | ) |
Definition at line 137 of file modifier.c.
References eModifierTypeFlag_SupportsMapping, eModifierTypeType_OnlyDeform, ModifierTypeInfo::flags, modifierType_getInfo(), mti, ModifierData::type, and ModifierTypeInfo::type.
Referenced by mesh_calc_modifiers(), modifier_couldBeCage(), and modifiers_getCageIndex().
void modifier_unique_name | ( | struct ListBase * | modifiers, |
struct ModifierData * | md | ||
) |
Definition at line 121 of file modifier.c.
References BLI_uniquename(), modifierType_getInfo(), mti, ModifierData::name, ModifierTypeInfo::name, and ModifierData::type.
Referenced by add_hook_object(), direct_link_object(), do_versions(), ED_object_modifier_add(), ED_object_modifier_copy(), modifiers_convertToReal(), and object_add_particle_system().
struct LinkNode* modifiers_calcDataMasks | ( | struct Scene * | scene, |
struct Object * | ob, | ||
struct ModifierData * | md, | ||
CustomDataMask | dataMask, | ||
int | required_mode | ||
) | [read] |
Definition at line 346 of file modifier.c.
References BLI_linklist_prepend(), BLI_linklist_reverse(), GET_INT_FROM_POINTER, LinkNode::link, modifier_isEnabled(), modifierType_getInfo(), mti, ModifierData::next, LinkNode::next, NULL, ModifierTypeInfo::requiredDataMask, SET_INT_IN_POINTER, and ModifierData::type.
Referenced by editmesh_calc_modifiers(), and mesh_calc_modifiers().
void modifiers_clearErrors | ( | struct Object * | ob | ) |
Definition at line 161 of file modifier.c.
References ModifierData::error, ListBase::first, MEM_freeN(), Object::modifiers, ModifierData::next, and NULL.
Referenced by editmesh_calc_modifiers(), editmesh_get_first_deform_matrices(), and mesh_calc_modifiers().
struct ModifierData* modifiers_findByName | ( | struct Object * | ob, |
const char * | name | ||
) | [read] |
Definition at line 156 of file modifier.c.
References BLI_findstring(), and Object::modifiers.
Referenced by edit_modifier_property_get().
struct ModifierData* modifiers_findByType | ( | struct Object * | ob, |
ModifierType | type | ||
) | [read] |
Definition at line 145 of file modifier.c.
References ListBase::first, Object::modifiers, ModifierData::next, and ModifierData::type.
Referenced by add_collider_cache_object(), add_collision_object(), add_verts_to_dgroups(), boid_find_ground(), buttons_context(), ccd_mesh_make(), ccd_mesh_update(), cloth_bvh_objcollision(), copy_attr(), do_versions(), draw_mesh_fancy(), draw_object(), dynamicPaint_doStep(), dynamicPaint_initBake(), ED_object_modifier_add(), get_orco_coords_dm(), init_frame_smoke(), lib_link_object(), load_fluidsimspeedvectors(), modifiers_isClothEnabled(), modifiers_isParticleEnabled(), modifiers_isSoftbodyEnabled(), multires_force_render_update(), object_remove_particle_system(), ocean_texture(), output_toggle_exec(), particle_edit_toggle_poll(), particles_fluid_step(), precalculate_effector(), RE_Database_FromScene_Vectors(), subframe_updateObject(), surface_getBrushFlags(), surface_slot_add_exec(), surface_slot_remove_exec(), type_toggle_exec(), updateDepgraph(), and view3d_modeselect_pup().
void modifiers_foreachIDLink | ( | struct Object * | ob, |
IDWalkFunc | walk, | ||
void * | userData | ||
) |
Definition at line 189 of file modifier.c.
References ListBase::first, ModifierTypeInfo::foreachIDLink, ModifierTypeInfo::foreachObjectLink, Object::modifiers, modifierType_getInfo(), mti, ModifierData::next, and ModifierData::type.
Referenced by dag_id_flush_update(), expand_object(), lib_link_modifiers(), and object_relink().
void modifiers_foreachObjectLink | ( | struct Object * | ob, |
ObjectWalkFunc | walk, | ||
void * | userData | ||
) |
Definition at line 176 of file modifier.c.
References ListBase::first, ModifierTypeInfo::foreachObjectLink, Object::modifiers, modifierType_getInfo(), mti, ModifierData::next, and ModifierData::type.
Referenced by unlink_object().
void modifiers_foreachTexLink | ( | struct Object * | ob, |
TexWalkFunc | walk, | ||
void * | userData | ||
) |
Definition at line 205 of file modifier.c.
References ListBase::first, ModifierTypeInfo::foreachTexLink, Object::modifiers, modifierType_getInfo(), mti, ModifierData::next, and ModifierData::type.
Referenced by buttons_texture_users_from_context().
int modifiers_getCageIndex | ( | struct Scene * | scene, |
struct Object * | ob, | ||
int * | lastPossibleCageIndex_r, | ||
int | virtual_ | ||
) |
Definition at line 276 of file modifier.c.
References eModifierMode_DisableTemporary, eModifierMode_Editmode, eModifierMode_OnCage, eModifierMode_Realtime, eModifierTypeFlag_SupportsEditmode, ListBase::first, ModifierTypeInfo::flags, i, ModifierTypeInfo::isDisabled, modifier_supportsMapping(), Object::modifiers, modifiers_getVirtualModifierList(), modifierType_getInfo(), mti, and ModifierData::next.
Referenced by createTransEditVerts(), editmesh_calc_modifiers(), editmesh_get_first_deform_matrices(), modifiers_setOnCage(), and uiTemplateModifier().
struct ModifierData* modifiers_getVirtualModifierList | ( | struct Object * | ob | ) | [read] |
Definition at line 388 of file modifier.c.
References Object::data, CurveModifierData::defaxis, ArmatureModifierData::deformflag, ELEM, eModifierMode_Editmode, eModifierMode_OnCage, eModifierMode_Virtual, eModifierType_Armature, eModifierType_Curve, eModifierType_Lattice, eModifierType_ShapeKey, ListBase::first, init(), ModifierData::mode, ShapeKeyModifierData::modifier, LatticeModifierData::modifier, CurveModifierData::modifier, ArmatureModifierData::modifier, modifier_free(), modifier_new(), Object::modifiers, ModifierData::next, OB_ARMATURE, OB_CURVE, ob_get_key(), OB_LATTICE, OB_MESH, OB_SHAPE_EDIT_MODE, LatticeModifierData::object, CurveModifierData::object, ArmatureModifierData::object, Object::parent, PARSKEL, Object::partype, Object::shapeflag, Object::trackflag, and Object::type.
Referenced by crazyspace_build_sculpt(), curve_calc_modifiers_post(), curve_calc_modifiers_pre(), curve_calc_orcodm(), curve_get_tesselate_point(), editmesh_calc_modifiers(), editmesh_get_first_deform_matrices(), lattice_calc_modifiers(), mesh_calc_modifiers(), modifiers_getCageIndex(), modifiers_isCorrectableDeformed(), modifiers_isDeformedByArmature(), modifiers_isDeformedByLattice(), modifiers_usesArmature(), object_is_modified(), sculpt_get_first_deform_matrices(), sculpt_has_active_modifiers(), sculpt_modifiers_active(), sculpt_multires_active(), uiTemplateModifier(), and wpaint_make_validmap().
int modifiers_indexInObject | ( | struct Object * | ob, |
struct ModifierData * | md | ||
) |
Definition at line 548 of file modifier.c.
References ListBase::first, i, Object::modifiers, and ModifierData::next.
Referenced by mesh_calc_modifiers().
int modifiers_isClothEnabled | ( | struct Object * | ob | ) |
Definition at line 317 of file modifier.c.
References eModifierMode_Realtime, eModifierMode_Render, eModifierType_Cloth, ModifierData::mode, and modifiers_findByType().
Referenced by build_dag_object().
int modifiers_isCorrectableDeformed | ( | struct Object * | ob | ) |
Definition at line 535 of file modifier.c.
References eModifierMode_Editmode, ModifierData::mode, Object::mode, modifier_isCorrectableDeformed(), modifiers_getVirtualModifierList(), ModifierData::next, and OB_MODE_EDIT.
Referenced by createTransEditVerts().
Definition at line 462 of file modifier.c.
References eModifierType_Armature, Object::flag, modifiers_getVirtualModifierList(), ModifierData::next, NULL, ArmatureModifierData::object, SELECT, and ModifierData::type.
Referenced by createTransData(), draw_armature(), object_pose_armature_get(), ringcut_invoke(), set_wpaint(), weight_from_bones_exec(), weight_from_bones_poll(), and wpaint_stroke_test_start().
Definition at line 487 of file modifier.c.
References eModifierType_Lattice, Object::flag, modifiers_getVirtualModifierList(), ModifierData::next, NULL, LatticeModifierData::object, SELECT, and ModifierData::type.
Referenced by ringcut_invoke().
int modifiers_isParticleEnabled | ( | struct Object * | ob | ) |
Definition at line 324 of file modifier.c.
References eModifierMode_Realtime, eModifierMode_Render, eModifierType_ParticleSystem, ModifierData::mode, and modifiers_findByType().
int modifiers_isSoftbodyEnabled | ( | struct Object * | ob | ) |
Definition at line 310 of file modifier.c.
References eModifierMode_Realtime, eModifierMode_Render, eModifierType_Softbody, ModifierData::mode, and modifiers_findByType().
Referenced by build_dag_object().
Definition at line 510 of file modifier.c.
References Object::data, eModifierType_Armature, modifiers_getVirtualModifierList(), ModifierData::next, ArmatureModifierData::object, and ModifierData::type.
Referenced by ED_armature_bone_rename().
ModifierTypeInfo* modifierType_getInfo | ( | ModifierType | type | ) |
Definition at line 70 of file modifier.c.
References modifier_type_init(), NULL, NUM_MODIFIER_TYPES, and types.
Referenced by add_hook_object(), build_dag_object(), crazyspace_build_sculpt(), curve_calc_modifiers_post(), curve_calc_modifiers_pre(), curve_calc_orcodm(), curve_get_tesselate_point(), direct_link_modifiers(), do_versions(), draw_modifier(), ED_object_modifier_add(), ED_object_modifier_move_down(), ED_object_modifier_move_up(), editmesh_calc_modifiers(), editmesh_get_first_deform_matrices(), editmesh_modifier_is_enabled(), get_multires_dm(), lattice_calc_modifiers(), mesh_calc_modifiers(), mesh_create_derived_for_modifier(), modifier_add_itemf(), modifier_apply_obdata(), modifier_apply_shape(), modifier_copyData(), modifier_couldBeCage(), modifier_dependsOnTime(), modifier_free(), modifier_isEnabled(), modifier_new(), modifier_nonGeometrical(), modifier_sameTopology(), modifier_supportsMapping(), modifier_unique_name(), modifiers_calcDataMasks(), modifiers_foreachIDLink(), modifiers_foreachObjectLink(), modifiers_foreachTexLink(), modifiers_getCageIndex(), multires_load_old(), multiresModifier_reshapeFromDeformMod(), sculpt_get_first_deform_matrices(), sculpt_modifiers_active(), and write_modifiers().
void test_object_modifiers | ( | struct Object * | ob | ) |
Definition at line 571 of file modifier.c.
References eModifierType_Multires, ListBase::first, Object::modifiers, multiresModifier_set_levels_from_disps(), ModifierData::next, OB_MESH, Object::type, and ModifierData::type.
Referenced by set_mesh().