Blender
V3.3
|
Go to the source code of this file.
Typedefs | |
typedef enum eMassSpringSolverStatus | eMassSpringSolverStatus |
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) |
typedef enum eMassSpringSolverStatus eMassSpringSolverStatus |
Enumerator | |
---|---|
SIM_SOLVER_SUCCESS | |
SIM_SOLVER_NUMERICAL_ISSUE | |
SIM_SOLVER_NO_CONVERGENCE | |
SIM_SOLVER_INVALID_INPUT |
Definition at line 20 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 1256 of file SIM_mass_spring.cpp.
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, Cloth::implicit, interp_v3_v3v3(), mul_v3_fl(), Cloth::mvert_num, result, scene, 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, 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 205 of file SIM_mass_spring.cpp.
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 | ||
) |
void SIM_cloth_solver_set_positions | ( | struct ClothModifierData * | clmd | ) |
Definition at line 215 of file SIM_mass_spring.cpp.
References ClothModifierData::clothObject, ClothModifierData::hairdata, 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 236 of file SIM_mass_spring.cpp.
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 200 of file SIM_mass_spring.cpp.
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 672 of file implicit_blender.c.
References create_bfmatrix(), create_lfvector(), I, id, initdiag_bfmatrix(), and MEM_callocN.
Referenced by SIM_cloth_solver_init().
void SIM_mass_spring_solver_free | ( | struct Implicit_Data * | id | ) |
Definition at line 700 of file implicit_blender.c.
References del_bfmatrix(), del_lfvector(), id, and MEM_freeN.
Referenced by SIM_cloth_solver_free().
int SIM_mass_spring_solver_numvert | ( | struct Implicit_Data * | id | ) |