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:
-rw-r--r--build_files/cmake/macros.cmake1
-rw-r--r--source/blender/CMakeLists.txt1
-rw-r--r--source/blender/blenkernel/BKE_cloth.h13
-rw-r--r--source/blender/blenkernel/CMakeLists.txt6
-rw-r--r--source/blender/blenkernel/intern/cloth.c2
-rw-r--r--source/blender/physics/BPH_mass_spring.h38
-rw-r--r--source/blender/physics/CMakeLists.txt51
-rw-r--r--source/blender/physics/intern/BPH_mass_spring.cpp0
-rw-r--r--source/blender/physics/intern/ConstrainedConjugateGradient.h (renamed from source/blender/blenkernel/intern/ConstrainedConjugateGradient.h)0
-rw-r--r--source/blender/physics/intern/implicit.h (renamed from source/blender/blenkernel/intern/implicit.h)6
-rw-r--r--source/blender/physics/intern/implicit_blender.c (renamed from source/blender/blenkernel/intern/implicit.c)4
-rw-r--r--source/blender/physics/intern/implicit_eigen.cpp (renamed from source/blender/blenkernel/intern/implicit_eigen.cpp)4
-rw-r--r--source/blender/render/intern/source/voxeldata.c3
13 files changed, 105 insertions, 24 deletions
diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake
index 30c761b59be..ecdb1d06d38 100644
--- a/build_files/cmake/macros.cmake
+++ b/build_files/cmake/macros.cmake
@@ -508,6 +508,7 @@ macro(SETUP_BLENDER_SORTED_LIBS)
bf_modifiers
bf_bmesh
bf_blenkernel
+ bf_physics
bf_nodes
bf_rna
bf_gpu
diff --git a/source/blender/CMakeLists.txt b/source/blender/CMakeLists.txt
index 0d309523daf..1cc232a8ed6 100644
--- a/source/blender/CMakeLists.txt
+++ b/source/blender/CMakeLists.txt
@@ -102,6 +102,7 @@ add_subdirectory(render)
add_subdirectory(blenfont)
add_subdirectory(blenloader)
add_subdirectory(ikplugin)
+add_subdirectory(physics)
add_subdirectory(gpu)
add_subdirectory(imbuf)
add_subdirectory(nodes)
diff --git a/source/blender/blenkernel/BKE_cloth.h b/source/blender/blenkernel/BKE_cloth.h
index e0710ee7e63..3dec5c82da2 100644
--- a/source/blender/blenkernel/BKE_cloth.h
+++ b/source/blender/blenkernel/BKE_cloth.h
@@ -209,19 +209,6 @@ void cloth_free_contacts(ColliderContacts *collider_contacts, int totcolliders);
////////////////////////////////////////////////
-
-////////////////////////////////////////////////
-// implicit.c
-////////////////////////////////////////////////
-
-// needed for cloth.c
-int implicit_init (struct Object *ob, struct ClothModifierData *clmd );
-int implicit_free (struct ClothModifierData *clmd );
-int implicit_solver (struct Object *ob, float frame, struct ClothModifierData *clmd, struct ListBase *effectors );
-void implicit_set_positions (struct ClothModifierData *clmd );
-
-bool implicit_hair_volume_get_texture_data(struct Object *UNUSED(ob), struct ClothModifierData *clmd, struct ListBase *UNUSED(effectors), struct VoxelData *vd);
-
/////////////////////////////////////////////////
// cloth.c
////////////////////////////////////////////////
diff --git a/source/blender/blenkernel/CMakeLists.txt b/source/blender/blenkernel/CMakeLists.txt
index a560bcc8be0..28b6aaa3b7c 100644
--- a/source/blender/blenkernel/CMakeLists.txt
+++ b/source/blender/blenkernel/CMakeLists.txt
@@ -36,6 +36,7 @@ set(INC
../bmesh
../modifiers
../nodes
+ ../physics
../render/extern/include
../../../intern/ghost
../../../intern/guardedalloc
@@ -47,7 +48,6 @@ set(INC
../../../intern/smoke/extern
../../../intern/atomic
../../../extern/libmv
- ../../../extern/Eigen3
# XXX - BAD LEVEL CALL WM_api.h
../windowmanager
@@ -107,10 +107,6 @@ set(SRC
intern/idprop.c
intern/image.c
intern/image_gen.c
- intern/implicit.h
- intern/implicit.c
- intern/implicit_eigen.cpp
- intern/ConstrainedConjugateGradient.h # XXX move this to a better place
intern/ipo.c
intern/key.c
intern/lamp.c
diff --git a/source/blender/blenkernel/intern/cloth.c b/source/blender/blenkernel/intern/cloth.c
index 3932a8ead2f..89ad084b59e 100644
--- a/source/blender/blenkernel/intern/cloth.c
+++ b/source/blender/blenkernel/intern/cloth.c
@@ -47,6 +47,8 @@
#include "BKE_modifier.h"
#include "BKE_pointcache.h"
+#include "BPH_mass_spring.h"
+
// #include "PIL_time.h" /* timing for debug prints */
/* Our available solvers. */
diff --git a/source/blender/physics/BPH_mass_spring.h b/source/blender/physics/BPH_mass_spring.h
new file mode 100644
index 00000000000..2960082852f
--- /dev/null
+++ b/source/blender/physics/BPH_mass_spring.h
@@ -0,0 +1,38 @@
+/*
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * 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.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): Lukas Toenne
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+#ifndef __BPH_MASS_SPRING_H__
+#define __BPH_MASS_SPRING_H__
+
+int implicit_init (struct Object *ob, struct ClothModifierData *clmd );
+int implicit_free (struct ClothModifierData *clmd );
+int implicit_solver (struct Object *ob, float frame, struct ClothModifierData *clmd, struct ListBase *effectors );
+void implicit_set_positions (struct ClothModifierData *clmd );
+
+bool implicit_hair_volume_get_texture_data(struct Object *UNUSED(ob), struct ClothModifierData *clmd, struct ListBase *UNUSED(effectors), struct VoxelData *vd);
+
+#endif
diff --git a/source/blender/physics/CMakeLists.txt b/source/blender/physics/CMakeLists.txt
new file mode 100644
index 00000000000..b08cf177f44
--- /dev/null
+++ b/source/blender/physics/CMakeLists.txt
@@ -0,0 +1,51 @@
+# ***** BEGIN GPL LICENSE BLOCK *****
+#
+# 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) 2014, Blender Foundation
+# All rights reserved.
+#
+# The Original Code is: all of this file.
+#
+# Contributor(s): Lukas Toenne
+#
+# ***** END GPL LICENSE BLOCK *****
+
+set(INC
+ .
+ intern
+ ../blenlib
+ ../blenkernel
+ ../imbuf
+ ../makesdna
+ ../../../intern/guardedalloc
+ ../../../extern/Eigen3
+)
+
+set(INC_SYS
+
+)
+
+set(SRC
+ intern/BPH_mass_spring.cpp
+ intern/ConstrainedConjugateGradient.h
+ intern/implicit.h
+ intern/implicit_blender.c
+ intern/implicit_eigen.cpp
+
+ BPH_mass_spring.h
+)
+
+blender_add_lib(bf_physics "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/physics/intern/BPH_mass_spring.cpp b/source/blender/physics/intern/BPH_mass_spring.cpp
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/source/blender/physics/intern/BPH_mass_spring.cpp
diff --git a/source/blender/blenkernel/intern/ConstrainedConjugateGradient.h b/source/blender/physics/intern/ConstrainedConjugateGradient.h
index 2d4389f6766..2d4389f6766 100644
--- a/source/blender/blenkernel/intern/ConstrainedConjugateGradient.h
+++ b/source/blender/physics/intern/ConstrainedConjugateGradient.h
diff --git a/source/blender/blenkernel/intern/implicit.h b/source/blender/physics/intern/implicit.h
index 31b8069846e..edddd1b0486 100644
--- a/source/blender/blenkernel/intern/implicit.h
+++ b/source/blender/physics/intern/implicit.h
@@ -25,11 +25,11 @@
* ***** END GPL LICENSE BLOCK *****
*/
-#ifndef __BKE_IMPLICIT_H__
-#define __BKE_IMPLICIT_H__
+#ifndef __BPH_IMPLICIT_H__
+#define __BPH_IMPLICIT_H__
/** \file implicit.h
- * \ingroup bke
+ * \ingroup bph
*/
#include "stdio.h"
diff --git a/source/blender/blenkernel/intern/implicit.c b/source/blender/physics/intern/implicit_blender.c
index 9ae53293397..76b1e356299 100644
--- a/source/blender/blenkernel/intern/implicit.c
+++ b/source/blender/physics/intern/implicit_blender.c
@@ -26,7 +26,7 @@
*/
/** \file blender/blenkernel/intern/implicit.c
- * \ingroup bke
+ * \ingroup bph
*/
#include "implicit.h"
@@ -50,6 +50,8 @@
#include "BKE_effect.h"
#include "BKE_global.h"
+#include "BPH_mass_spring.h"
+
#ifdef __GNUC__
# pragma GCC diagnostic ignored "-Wtype-limits"
#endif
diff --git a/source/blender/blenkernel/intern/implicit_eigen.cpp b/source/blender/physics/intern/implicit_eigen.cpp
index 863c715a99b..230ca6f4f6a 100644
--- a/source/blender/blenkernel/intern/implicit_eigen.cpp
+++ b/source/blender/physics/intern/implicit_eigen.cpp
@@ -26,7 +26,7 @@
*/
/** \file blender/blenkernel/intern/implicit_eigen.cpp
- * \ingroup bke
+ * \ingroup bph
*/
#include "implicit.h"
@@ -75,6 +75,8 @@ extern "C" {
#include "BKE_collision.h"
#include "BKE_effect.h"
#include "BKE_global.h"
+
+#include "BPH_mass_spring.h"
}
/* ==== hash functions for debugging ==== */
diff --git a/source/blender/render/intern/source/voxeldata.c b/source/blender/render/intern/source/voxeldata.c
index d360282d985..6f3c50bca62 100644
--- a/source/blender/render/intern/source/voxeldata.c
+++ b/source/blender/render/intern/source/voxeldata.c
@@ -380,7 +380,8 @@ static void init_frame_hair(VoxelData *vd, int UNUSED(cfra))
ParticleSystemModifierData *pmd = (ParticleSystemModifierData *)md;
if (pmd->psys && pmd->psys->clmd) {
- found |= implicit_hair_volume_get_texture_data(ob, pmd->psys->clmd, NULL, vd);
+ // XXX TODO was moved into own subfolder, figure out how to handle this (perhaps make a wrapper in BKE)
+// found |= implicit_hair_volume_get_texture_data(ob, pmd->psys->clmd, NULL, vd);
}
}