|
Blender V5.0
|
Go to the source code of this file.
Enumerations | |
| enum | eMassSpringSolverStatus { SIM_SOLVER_SUCCESS = (1 << 0) , SIM_SOLVER_NUMERICAL_ISSUE = (1 << 1) , SIM_SOLVER_NO_CONVERGENCE = (1 << 2) , SIM_SOLVER_INVALID_INPUT = (1 << 3) } |
Functions | |
| struct Implicit_Data * | SIM_mass_spring_solver_create (int numverts, int numsprings) |
| void | SIM_mass_spring_solver_free (struct Implicit_Data *id) |
| int | SIM_mass_spring_solver_numvert (struct Implicit_Data *id) |
| int | SIM_cloth_solver_init (struct Object *ob, struct ClothModifierData *clmd) |
| void | SIM_mass_spring_set_implicit_vertex_mass (struct Implicit_Data *data, int index, float mass) |
| void | SIM_cloth_solver_free (struct ClothModifierData *clmd) |
| int | SIM_cloth_solve (struct Depsgraph *depsgraph, struct Object *ob, float frame, struct ClothModifierData *clmd, struct ListBase *effectors) |
| void | SIM_cloth_solver_set_positions (struct ClothModifierData *clmd) |
| void | SIM_cloth_solver_set_volume (struct ClothModifierData *clmd) |
| Enumerator | |
|---|---|
| SIM_SOLVER_SUCCESS | |
| SIM_SOLVER_NUMERICAL_ISSUE | |
| SIM_SOLVER_NO_CONVERGENCE | |
| SIM_SOLVER_INVALID_INPUT | |
Definition at line 17 of file SIM_mass_spring.h.
| int SIM_cloth_solve | ( | struct Depsgraph * | depsgraph, |
| struct Object * | ob, | ||
| float | frame, | ||
| struct ClothModifierData * | clmd, | ||
| struct ListBase * | effectors ) |
Definition at line 1254 of file SIM_mass_spring.cc.
References Cloth::average_acceleration, BKE_sim_debug_data_clear_category(), cloth_calc_average_acceleration(), cloth_calc_force(), cloth_clear_result(), cloth_continuum_step(), cloth_record_result(), cloth_setup_constraints(), CLOTH_SIMSETTINGS_FLAG_PRESSURE, cloth_solve_collisions(), CLOTH_VERT_FLAG_PINNED, ClothModifierData::clothObject, copy_v3_v3(), DEG_get_evaluated_scene(), depsgraph, ClothSimSettings::dt, ClothSimSettings::flags, ClothSimSettings::fluid_density, ClothModifierData::hairdata, i, Cloth::implicit, interp_v3_v3v3(), MEM_callocN(), mul_v3_fl(), Cloth::mvert_num, result, SIM_mass_spring_apply_result(), SIM_mass_spring_clear_forces(), SIM_mass_spring_get_motion_state(), SIM_mass_spring_set_position(), SIM_mass_spring_set_velocity(), SIM_mass_spring_solve_positions(), SIM_mass_spring_solve_velocities(), ClothModifierData::sim_parms, ClothModifierData::solver_result, step, sub_v3_v3v3(), ClothSimSettings::time_scale, ClothSimSettings::timescale, v, Cloth::verts, verts, ClothSimSettings::vgroup_mass, x, and zero_v3().
Referenced by do_step_cloth().
| void SIM_cloth_solver_free | ( | struct ClothModifierData * | clmd | ) |
Definition at line 207 of file SIM_mass_spring.cc.
References ClothModifierData::clothObject, Cloth::implicit, and SIM_mass_spring_solver_free().
Referenced by cloth_free_modifier(), and cloth_free_modifier_extern().
| int SIM_cloth_solver_init | ( | struct Object * | ob, |
| struct ClothModifierData * | clmd ) |
Definition at line 180 of file SIM_mass_spring.cc.
References cloth_count_nondiag_blocks(), ClothModifierData::clothObject, i, Cloth::implicit, Cloth::mvert_num, SIM_mass_spring_set_implicit_vertex_mass(), SIM_mass_spring_set_motion_state(), SIM_mass_spring_solver_create(), Cloth::verts, verts, x, and ZERO.
Referenced by cloth_from_object().
| void SIM_cloth_solver_set_positions | ( | struct ClothModifierData * | clmd | ) |
Definition at line 217 of file SIM_mass_spring.cc.
References ClothModifierData::clothObject, ClothModifierData::hairdata, i, I3, Cloth::implicit, Cloth::mvert_num, ClothHairData::rot, SIM_mass_spring_set_motion_state(), SIM_mass_spring_set_rest_transform(), v, Cloth::verts, verts, and x.
Referenced by cloth_from_object(), clothModifier_do(), and do_init_cloth().
| void SIM_cloth_solver_set_volume | ( | struct ClothModifierData * | clmd | ) |
Definition at line 238 of file SIM_mass_spring.cc.
References cloth_calc_rest_volume(), ClothModifierData::clothObject, and Cloth::initial_mesh_volume.
Referenced by do_init_cloth().
| void SIM_mass_spring_set_implicit_vertex_mass | ( | struct Implicit_Data * | data, |
| int | index, | ||
| float | mass ) |
Definition at line 202 of file SIM_mass_spring.cc.
References data, and SIM_mass_spring_set_vertex_mass().
Referenced by do_step_cloth(), and SIM_cloth_solver_init().
| struct Implicit_Data * SIM_mass_spring_solver_create | ( | int | numverts, |
| int | numsprings ) |
Definition at line 657 of file implicit_blender.cc.
References Implicit_Data::bigI, create_bfmatrix(), create_lfvector(), I, initdiag_bfmatrix(), and MEM_callocN().
Referenced by SIM_cloth_solver_init().
| void SIM_mass_spring_solver_free | ( | struct Implicit_Data * | id | ) |
Definition at line 685 of file implicit_blender.cc.
References Implicit_Data::A, Implicit_Data::B, Implicit_Data::bigI, del_bfmatrix(), del_lfvector(), Implicit_Data::dFdV, Implicit_Data::dFdX, Implicit_Data::dV, Implicit_Data::F, Implicit_Data::M, MEM_freeN(), Implicit_Data::P, Implicit_Data::Pinv, Implicit_Data::S, Implicit_Data::tfm, Implicit_Data::V, Implicit_Data::Vnew, Implicit_Data::X, Implicit_Data::Xnew, and Implicit_Data::z.
Referenced by SIM_cloth_solver_free().
| int SIM_mass_spring_solver_numvert | ( | struct Implicit_Data * | id | ) |