[Bf-blender-cvs] [4efbfb0] hair_system: Basic implementation of the hair solver API functions.
Lukas Tönne
noreply at git.blender.org
Sun Oct 5 14:56:45 CEST 2014
Commit: 4efbfb04fbc703789535ebe9be115759ef31be46
Author: Lukas Tönne
Date: Thu Sep 25 10:07:33 2014 +0200
Branches: hair_system
https://developer.blender.org/rB4efbfb04fbc703789535ebe9be115759ef31be46
Basic implementation of the hair solver API functions.
With a couple of stubs to be implemented later.
===================================================================
M source/blender/editors/space_view3d/drawobject.c
M source/blender/editors/space_view3d/view3d_intern.h
M source/blender/physics/intern/BPH_mass_spring.cpp
===================================================================
diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c
index 2290820..dbb3e51 100644
--- a/source/blender/editors/space_view3d/drawobject.c
+++ b/source/blender/editors/space_view3d/drawobject.c
@@ -7633,8 +7633,6 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, const short
HairModifierData *hmd = (HairModifierData *)modifiers_findByType(ob, eModifierType_Hair);
if (hmd) {
draw_hair_system(scene, v3d, ar, base, hmd->hairsys);
- if (hmd->debug_flag & MOD_HAIR_DEBUG_SHOW)
- draw_hair_debug_info(scene, v3d, ar, base, hmd);
}
}
diff --git a/source/blender/editors/space_view3d/view3d_intern.h b/source/blender/editors/space_view3d/view3d_intern.h
index 0005472..4006780 100644
--- a/source/blender/editors/space_view3d/view3d_intern.h
+++ b/source/blender/editors/space_view3d/view3d_intern.h
@@ -135,7 +135,6 @@ void draw_motion_paths_cleanup(View3D *v3d);
/* drawhair.c */
bool draw_hair_system(Scene *scene, View3D *v3d, ARegion *ar, Base *base, struct HairSystem *hsys);
-void draw_hair_debug_info(Scene *scene, View3D *v3d, ARegion *ar, Base *base, struct HairModifierData *hmd);
/* drawobject.c */
void draw_object(Scene *scene, struct ARegion *ar, View3D *v3d, Base *base, const short dflag);
diff --git a/source/blender/physics/intern/BPH_mass_spring.cpp b/source/blender/physics/intern/BPH_mass_spring.cpp
index 56923b6..61a3140 100644
--- a/source/blender/physics/intern/BPH_mass_spring.cpp
+++ b/source/blender/physics/intern/BPH_mass_spring.cpp
@@ -51,6 +51,8 @@ extern "C" {
#include "BPH_mass_spring.h"
#include "implicit.h"
+/* ======== Cloth Solver ======== */
+
/* Number of off-diagonal non-zero matrix blocks.
* Basically there is one of these for each vertex-vertex interaction.
*/
@@ -716,3 +718,49 @@ int BPH_cloth_solve(Object *ob, float frame, ClothModifierData *clmd, ListBase *
return 1;
}
+
+/* ======== Cloth Solver ======== */
+
+struct HairSolverData {
+ Implicit_Data *id;
+ ListBase *effectors;
+};
+
+HairSolverData *BPH_hair_solver_create(void)
+{
+ HairSolverData *data = (HairSolverData *)MEM_callocN(sizeof(HairSolverData), "hair solver data");
+
+ return data;
+}
+
+void BPH_hair_solver_free(HairSolverData *data)
+{
+ if (data) {
+ MEM_freeN(data);
+ }
+}
+
+void BPH_hair_solver_set_externals(HairSolverData *data, Scene *scene, Object *ob, DerivedMesh *dm, EffectorWeights *effector_weights)
+{
+ data->effectors = pdInitEffectors(scene, ob, NULL, effector_weights, true);
+}
+
+void BPH_hair_solver_free_effectors(HairSolverData *data)
+{
+ pdEndEffectors(&data->effectors);
+}
+
+void BPH_hair_solver_set_positions(HairSolverData *data, Scene *scene, Object *ob, HairSystem *hsys)
+{
+ // XXX TODO
+}
+
+void BPH_hair_solve(struct HairSolverData *data, HairParams *params, float time, float timestep, SimDebugData *debug_data)
+{
+ // XXX TODO
+}
+
+void BPH_hair_solver_apply_positions(HairSolverData *data, Scene *scene, Object *ob, HairSystem *hsys)
+{
+ // XXX TODO
+}
More information about the Bf-blender-cvs
mailing list