Blender V2.61 - r43446
|
Go to the source code of this file.
Functions | |
void | resizelattice (struct Lattice *lt, int u, int v, int w, struct Object *ltOb) |
struct Lattice * | add_lattice (const char *name) |
struct Lattice * | copy_lattice (struct Lattice *lt) |
void | free_lattice (struct Lattice *lt) |
void | make_local_lattice (struct Lattice *lt) |
void | calc_lat_fudu (int flag, int res, float *fu, float *du) |
void | init_latt_deform (struct Object *oblatt, struct Object *ob) |
void | calc_latt_deform (struct Object *, float *co, float weight) |
void | end_latt_deform (struct Object *) |
int | object_deform_mball (struct Object *ob, struct ListBase *dispbase) |
void | outside_lattice (struct Lattice *lt) |
void | curve_deform_verts (struct Scene *scene, struct Object *cuOb, struct Object *target, struct DerivedMesh *dm, float(*vertexCos)[3], int numVerts, const char *vgroup, short defaxis) |
void | curve_deform_vector (struct Scene *scene, struct Object *cuOb, struct Object *target, float *orco, float *vec, float mat[][3], int no_rot_axis) |
void | lattice_deform_verts (struct Object *laOb, struct Object *target, struct DerivedMesh *dm, float(*vertexCos)[3], int numVerts, const char *vgroup) |
void | armature_deform_verts (struct Object *armOb, struct Object *target, struct DerivedMesh *dm, float(*vertexCos)[3], float(*defMats)[3][3], int numVerts, int deformflag, float(*prevCos)[3], const char *defgrp_name) |
float(* | lattice_getVertexCos (struct Object *ob, int *numVerts_r))[3] |
void | lattice_applyVertexCos (struct Object *ob, float(*vertexCos)[3]) |
void | lattice_calc_modifiers (struct Scene *scene, struct Object *ob) |
struct MDeformVert * | lattice_get_deform_verts (struct Object *lattice) |
Definition in file BKE_lattice.h.
struct Lattice* add_lattice | ( | const char * | name | ) | [read] |
Definition at line 187 of file lattice.c.
References alloc_libblock(), Lattice::def, Lattice::flag, G, ID_LT, KEY_BSPLINE, LT_GRID, MEM_callocN(), NULL, resizelattice(), Lattice::typeu, Lattice::typev, and Lattice::typew.
Referenced by add_obdata_from_type().
void armature_deform_verts | ( | struct Object * | armOb, |
struct Object * | target, | ||
struct DerivedMesh * | dm, | ||
float(*) | vertexCos[3], | ||
float(*) | defMats[3][3], | ||
int | numVerts, | ||
int | deformflag, | ||
float(*) | prevCos[3], | ||
const char * | defgrp_name | ||
) |
Definition at line 813 of file armature.c.
References add_v3_v3(), add_v3_v3v3(), ARM_DEF_ENVELOPE, ARM_DEF_INVERT_VGROUP, ARM_DEF_QUATERNION, ARM_DEF_VGROUP, Bone::arm_head, Bone::arm_mat, Bone::arm_tail, bPoseChanDeform::b_bone_dual_quats, bPoseChanDeform::b_bone_mats, BLI_countlist(), BLI_findindex(), bPoseChannel::bone, BONE_MULT_VG_ENV, BONE_NO_DEFORM, CD_MDEFORMVERT, bPoseChannel::chan_mat, bPose::chanbase, co, copy_m3_m3(), copy_m3_m4(), copy_m4_m4(), copy_v3_v3(), Object::data, MDeformWeight::def_nr, Object::defbase, defgroup_name_index(), defvert_find_weight(), Bone::dist, dist_bone_deform(), distfactor_to_bone(), bPoseChanDeform::dual_quat, Lattice::dvert, Mesh::dvert, MDeformVert::dw, bArmature::edbo, ELEM, ListBase::first, bPoseChannel::flag, Bone::flag, get_pose_channel(), DerivedMesh::getVertData, i, invert_m4_m4(), mat4_to_dquat(), MEM_callocN(), MEM_freeN(), mul_m3_fl(), mul_m4_v3(), mul_serie_m3(), mul_v3_fl(), mul_v3m3_dq(), mult_m4_m4m4(), bDeformGroup::name, bPoseChannel::next, bDeformGroup::next, normalize_dq(), NULL, OB_LATTICE, OB_MESH, Object::obmat, pchan_b_bone_defmats(), pchan_bone_deform(), Lattice::pntsu, Lattice::pntsv, Lattice::pntsw, Object::pose, post, Bone::rad_head, Bone::rad_tail, Bone::segments, sub_v3_v3(), Mesh::totvert, MDeformVert::totweight, Object::type, MDeformWeight::weight, and zero_m3().
Referenced by BL_SkinDeformer::BlenderDeformVerts(), deformMatrices(), deformMatricesEM(), deformVerts(), and deformVertsEM().
void calc_lat_fudu | ( | int | flag, |
int | res, | ||
float * | fu, | ||
float * | du | ||
) |
Definition at line 70 of file lattice.c.
References LT_GRID.
Referenced by do_versions(), and resizelattice().
void calc_latt_deform | ( | struct Object * | , |
float * | co, | ||
float | weight | ||
) |
Definition at line 344 of file lattice.c.
References copy_v3_v3(), Object::data, defgroup_name_index(), defvert_find_weight(), Lattice::du, Lattice::dv, Lattice::dw, Lattice::editlatt, Lattice::fu, Lattice::fv, Lattice::fw, interp_v3_v3v3(), key_curve_position_weights(), Lattice::latmat, EditLatt::latt, lattice_get_deform_verts(), Lattice::latticedata, madd_v3_v3fl(), mul_v3_m4v3(), NULL, Lattice::pntsu, Lattice::pntsv, Lattice::pntsw, Lattice::typeu, Lattice::typev, Lattice::typew, Lattice::vgroup, and simple_enum_gen::w.
Referenced by lattice_deform_verts(), psys_apply_hair_lattice(), psys_get_particle_on_path(), and psys_get_particle_state().
Definition at line 203 of file lattice.c.
References copy_dverts(), copy_key(), copy_libblock(), Lattice::def, Lattice::dvert, Lattice::editlatt, Key::from, Lattice::id, Lattice::key, MEM_dupallocN(), MEM_mallocN(), NULL, Lattice::pntsu, Lattice::pntsv, and Lattice::pntsw.
Referenced by id_copy(), make_local_lattice(), object_add_duplicate_internal(), and single_obdata_users().
void curve_deform_vector | ( | struct Scene * | scene, |
struct Object * | cuOb, | ||
struct Object * | target, | ||
float * | orco, | ||
float * | vec, | ||
float | mat[][3], | ||
int | no_rot_axis | ||
) |
Definition at line 790 of file lattice.c.
References calc_curve_deform(), copy_v3_v3(), CurveDeform::curvespace, CurveDeform::dmax, CurveDeform::dmin, init_curve_deform(), mul_m3_m3m3(), mul_m4_v3(), CurveDeform::no_rot_axis, OB_CURVE, CurveDeform::objectspace, CurveDeform::objectspace3, quat_to_mat3(), Object::trackflag, Object::type, and unit_m3().
void curve_deform_verts | ( | struct Scene * | scene, |
struct Object * | cuOb, | ||
struct Object * | target, | ||
struct DerivedMesh * | dm, | ||
float(*) | vertexCos[3], | ||
int | numVerts, | ||
const char * | vgroup, | ||
short | defaxis | ||
) |
Definition at line 661 of file lattice.c.
References calc_curve_deform(), CD_MDEFORMVERT, copy_v3_v3(), CU_DEFORM_BOUNDS_OFF, CU_FOLLOW, CU_PATH, CU_STRETCH, CurveDeform::curvespace, Object::data, defgroup_name_index(), defvert_find_weight(), CurveDeform::dmax, CurveDeform::dmin, DO_MINMAX, Mesh::dvert, Curve::flag, DerivedMesh::getVertData, init_curve_deform(), INIT_MINMAX, interp_v3_v3v3(), mul_m4_v3(), NULL, OB_CURVE, OB_MESH, CurveDeform::objectspace, and Object::type.
Referenced by deformVerts().
void end_latt_deform | ( | struct Object * | ) |
Definition at line 450 of file lattice.c.
References Object::data, Lattice::editlatt, EditLatt::latt, Lattice::latticedata, MEM_freeN(), and NULL.
Referenced by applyModifier(), cached_step(), draw_new_particle_system(), explodeMesh(), lattice_deform_verts(), new_particle_duplilist(), pointdensity_cache_psys(), psys_apply_hair_lattice(), psys_threads_free(), render_new_particle_system(), and system_step().
void free_lattice | ( | struct Lattice * | lt | ) |
Definition at line 224 of file lattice.c.
References Lattice::adt, BKE_free_animdata(), Lattice::def, Lattice::dvert, Lattice::editlatt, free_dverts(), Lattice::id, EditLatt::latt, MEM_freeN(), NULL, Lattice::pntsu, Lattice::pntsv, and Lattice::pntsw.
Referenced by free_libblock().
Definition at line 292 of file lattice.c.
References co, Object::data, Lattice::def, Object::disp, DL_VERTS, Lattice::du, Lattice::dv, Lattice::dw, Lattice::editlatt, find_displist(), Lattice::fu, Lattice::fv, Lattice::fw, invert_m4_m4(), Lattice::latmat, EditLatt::latt, Lattice::latticedata, MEM_mallocN(), mul_mat3_m4_v3(), mult_m4_m4m4(), NULL, Object::obmat, Lattice::pntsu, Lattice::pntsv, Lattice::pntsw, BPoint::vec, DispList::verts, and simple_enum_gen::w.
Referenced by lattice_deform_verts(), and psys_get_lattice().
void lattice_applyVertexCos | ( | struct Object * | ob, |
float(*) | vertexCos[3] | ||
) |
Definition at line 979 of file lattice.c.
References copy_v3_v3(), Object::data, Lattice::def, i, Lattice::pntsu, Lattice::pntsv, Lattice::pntsw, and BPoint::vec.
Definition at line 989 of file lattice.c.
References BLI_addtail(), Object::data, ModifierTypeInfo::deformVerts, Object::disp, DL_VERTS, Lattice::editlatt, eModifierMode_Editmode, eModifierMode_Realtime, eModifierTypeType_OnlyDeform, freedisplist(), ModifierTypeInfo::isDisabled, lattice_getVertexCos(), MEM_callocN(), ModifierData::mode, modifiers_getVirtualModifierList(), modifierType_getInfo(), mti, ModifierData::next, DispList::nr, NULL, DispList::parts, ModifierData::scene, DispList::type, ModifierTypeInfo::type, ModifierData::type, and DispList::verts.
Referenced by drawlattice(), meshdeform_bind_exec(), and object_handle_update().
void lattice_deform_verts | ( | struct Object * | laOb, |
struct Object * | target, | ||
struct DerivedMesh * | dm, | ||
float(*) | vertexCos[3], | ||
int | numVerts, | ||
const char * | vgroup | ||
) |
Definition at line 821 of file lattice.c.
References calc_latt_deform(), CD_MDEFORMVERT, Object::data, defgroup_name_index(), defvert_find_weight(), Mesh::dvert, end_latt_deform(), DerivedMesh::getVertData, init_latt_deform(), OB_LATTICE, OB_MESH, and Object::type.
Referenced by deformVerts(), object_deform_mball(), and resizelattice().
struct MDeformVert* lattice_get_deform_verts | ( | struct Object * | lattice | ) | [read] |
Definition at line 1026 of file lattice.c.
References BLI_assert, Object::data, Lattice::dvert, Lattice::editlatt, EditLatt::latt, OB_LATTICE, and Object::type.
Referenced by calc_latt_deform(), modifier_get_vgroup(), and shrinkwrapModifier_deform().
float(* lattice_getVertexCos | ( | struct Object * | ob, |
int * | numVerts_r | ||
) | )[3] |
Definition at line 961 of file lattice.c.
References copy_v3_v3(), Lattice::def, Lattice::editlatt, i, EditLatt::latt, MEM_mallocN(), Lattice::pntsu, Lattice::pntsv, Lattice::pntsw, and BPoint::vec.
Referenced by lattice_calc_modifiers().
void make_local_lattice | ( | struct Lattice * | lt | ) |
Definition at line 246 of file lattice.c.
References BKE_id_lib_local_paths(), copy_lattice(), Object::data, ELEM, FALSE, ListBase::first, G, Object::id, Lattice::id, id_clear_lib_data(), ID::lib, ID::next, NULL, Main::object, TRUE, and ID::us.
Referenced by id_make_local().
Definition at line 870 of file lattice.c.
References ListBase::first, lattice_deform_verts(), DispList::next, DispList::nr, NULL, OB_LATTICE, Object::parent, PARSKEL, Object::partype, Object::type, and DispList::verts.
Referenced by makeDispListMBall(), and makeDispListMBall_forRender().
void outside_lattice | ( | struct Lattice * | lt | ) |
Definition at line 891 of file lattice.c.
References Lattice::def, BPoint::f1, Lattice::flag, BPoint::hide, latt_bp(), LT_OUTSIDE, mul_v3_fl(), Lattice::pntsu, Lattice::pntsv, Lattice::pntsw, SELECT, BPoint::vec, and simple_enum_gen::w.
Referenced by do_latt_key(), recalcData_view3d(), and special_transvert_update().
Definition at line 86 of file lattice.c.
References calc_lat_fudu(), co, copy_m4_m4(), copy_v3_v3(), Lattice::def, Object::disp, Lattice::du, Lattice::dv, Lattice::dvert, Lattice::dw, Lattice::flag, free_dverts(), freedisplist(), Lattice::fu, Lattice::fv, Lattice::fw, i, KEY_LINEAR, lattice_deform_verts(), MEM_callocN(), MEM_freeN(), MEM_mallocN(), NULL, Object::obmat, Lattice::pntsu, Lattice::pntsv, Lattice::pntsw, Lattice::typeu, Lattice::typev, Lattice::typew, unit_m4(), BPoint::vec, and simple_enum_gen::w.
Referenced by add_lattice(), and make_regular_exec().