Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacques Lucke <jacques@blender.org>2020-07-16 15:27:47 +0300
committerJacques Lucke <jacques@blender.org>2020-07-16 15:28:38 +0300
commit9363c4de0635394548fa2eb8d205581313029775 (patch)
tree18f0a4be6ed78a8c8f8f5a33d575f2465ed95ee9 /source/blender/simulation/BPH_mass_spring.h
parent66b48ad8fb3bea4c0b643fe23fd25e70843067cd (diff)
Simulation: Rename `physics` directory to `simulation`
Function names will be updated in a separate commit. This will be the place for the new particle system and other code related to the Simulation data block. We don't want to have all that code in blenkernel. Approved by brecht.
Diffstat (limited to 'source/blender/simulation/BPH_mass_spring.h')
-rw-r--r--source/blender/simulation/BPH_mass_spring.h62
1 files changed, 62 insertions, 0 deletions
diff --git a/source/blender/simulation/BPH_mass_spring.h b/source/blender/simulation/BPH_mass_spring.h
new file mode 100644
index 00000000000..5a8c78812a4
--- /dev/null
+++ b/source/blender/simulation/BPH_mass_spring.h
@@ -0,0 +1,62 @@
+/*
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) Blender Foundation
+ * All rights reserved.
+ */
+
+/** \file
+ * \ingroup bph
+ */
+
+#ifndef __BPH_MASS_SPRING_H__
+#define __BPH_MASS_SPRING_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct ClothModifierData;
+struct Depsgraph;
+struct Implicit_Data;
+struct ListBase;
+struct Object;
+
+typedef enum eMassSpringSolverStatus {
+ BPH_SOLVER_SUCCESS = (1 << 0),
+ BPH_SOLVER_NUMERICAL_ISSUE = (1 << 1),
+ BPH_SOLVER_NO_CONVERGENCE = (1 << 2),
+ BPH_SOLVER_INVALID_INPUT = (1 << 3),
+} eMassSpringSolverStatus;
+
+struct Implicit_Data *BPH_mass_spring_solver_create(int numverts, int numsprings);
+void BPH_mass_spring_solver_free(struct Implicit_Data *id);
+int BPH_mass_spring_solver_numvert(struct Implicit_Data *id);
+
+int BPH_cloth_solver_init(struct Object *ob, struct ClothModifierData *clmd);
+void BPH_cloth_solver_free(struct ClothModifierData *clmd);
+int BPH_cloth_solve(struct Depsgraph *depsgraph,
+ struct Object *ob,
+ float frame,
+ struct ClothModifierData *clmd,
+ struct ListBase *effectors);
+void BKE_cloth_solver_set_positions(struct ClothModifierData *clmd);
+void BKE_cloth_solver_set_volume(ClothModifierData *clmd);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif