Listing the "Blender Foundation" as copyright holder implied the Blender Foundation holds copyright to files which may include work from many developers. While keeping copyright on headers makes sense for isolated libraries, Blender's own code may be refactored or moved between files in a way that makes the per file copyright holders less meaningful. Copyright references to the "Blender Foundation" have been replaced with "Blender Authors", with the exception of `./extern/` since these this contains libraries which are more isolated, any changed to license headers there can be handled on a case-by-case basis. Some directories in `./intern/` have also been excluded: - `./intern/cycles/` it's own `AUTHORS` file is planned. - `./intern/opensubdiv/`. An "AUTHORS" file has been added, using the chromium projects authors file as a template. Design task: #110784 Ref !110783.
47 lines
1.3 KiB
C
47 lines
1.3 KiB
C
/* SPDX-FileCopyrightText: Blender Authors
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
|
|
/** \file
|
|
* \ingroup sim
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
struct ClothModifierData;
|
|
struct Depsgraph;
|
|
struct Implicit_Data;
|
|
struct ListBase;
|
|
struct Object;
|
|
|
|
typedef 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),
|
|
} eMassSpringSolverStatus;
|
|
|
|
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);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|