[Bf-blender-cvs] [536578a] fracture_modifier: fix attempt for some dynamic fracture rotation glitches
Martin Felke
noreply at git.blender.org
Sun Mar 27 23:20:36 CEST 2016
Commit: 536578a189886cc7dd27e44bd25e9ce31f310213
Author: Martin Felke
Date: Sun Mar 27 23:19:32 2016 +0200
Branches: fracture_modifier
https://developer.blender.org/rB536578a189886cc7dd27e44bd25e9ce31f310213
fix attempt for some dynamic fracture rotation glitches
===================================================================
M source/blender/blenkernel/BKE_blender.h
M source/blender/blenkernel/intern/fracture.c
M source/blender/blenkernel/intern/rigidbody.c
M source/blender/modifiers/intern/MOD_fracture.c
===================================================================
diff --git a/source/blender/blenkernel/BKE_blender.h b/source/blender/blenkernel/BKE_blender.h
index 23b6e2b..4f8184b 100644
--- a/source/blender/blenkernel/BKE_blender.h
+++ b/source/blender/blenkernel/BKE_blender.h
@@ -51,7 +51,7 @@ extern "C" {
/* can be left blank, otherwise a,b,c... etc with no quotes */
#define BLENDER_VERSION_CHAR
/* alpha/beta/rc/release, docs use this */
-#define BLENDER_VERSION_CYCLE release
+#define BLENDER_VERSION_CYCLE alpha
extern char versionstr[]; /* from blender.c */
diff --git a/source/blender/blenkernel/intern/fracture.c b/source/blender/blenkernel/intern/fracture.c
index 39bd38b..b5550b7 100644
--- a/source/blender/blenkernel/intern/fracture.c
+++ b/source/blender/blenkernel/intern/fracture.c
@@ -1964,6 +1964,11 @@ void BKE_match_vertex_coords(MeshIsland* mi, MeshIsland *par, Object *ob, int fr
mul_qt_qtqt(qrot, rot, par->rot);
mul_qt_qtqt(qrot, quat, qrot);
}
+ else
+ {
+ invert_qt_qt(qrot, par->rot);
+ mul_qt_qtqt(qrot, rot, qrot);
+ }
if (is_parent)
{
diff --git a/source/blender/blenkernel/intern/rigidbody.c b/source/blender/blenkernel/intern/rigidbody.c
index 9e95113..ee1d92a 100644
--- a/source/blender/blenkernel/intern/rigidbody.c
+++ b/source/blender/blenkernel/intern/rigidbody.c
@@ -1934,12 +1934,13 @@ static int filterCallback(void* world, void* island1, void* island2, void *blend
int ob_index1 = -1, ob_index2 = -1;
bool validOb = true;
- FractureModifierData *fmd1 = (FractureModifierData*)modifiers_findByType((Object*)blenderOb1, eModifierType_Fracture);
- FractureModifierData *fmd2 = (FractureModifierData*)modifiers_findByType((Object*)blenderOb2, eModifierType_Fracture);
-
mi1 = (MeshIsland*)island1;
mi2 = (MeshIsland*)island2;
+#if 0
+ FractureModifierData *fmd1 = (FractureModifierData*)modifiers_findByType((Object*)blenderOb1, eModifierType_Fracture);
+ FractureModifierData *fmd2 = (FractureModifierData*)modifiers_findByType((Object*)blenderOb2, eModifierType_Fracture);
+
if ((fmd1 && fmd1->fracture_mode == MOD_FRACTURE_DYNAMIC) ||
(fmd2 && fmd2->fracture_mode == MOD_FRACTURE_DYNAMIC))
{
@@ -1949,6 +1950,7 @@ static int filterCallback(void* world, void* island1, void* island2, void *blend
ob2 = blenderOb2;
return check_colgroup_ghost(ob1, ob2);
}
+#endif
if (rbw == NULL)
{
diff --git a/source/blender/modifiers/intern/MOD_fracture.c b/source/blender/modifiers/intern/MOD_fracture.c
index fac1d4f..8111474 100644
--- a/source/blender/modifiers/intern/MOD_fracture.c
+++ b/source/blender/modifiers/intern/MOD_fracture.c
@@ -2460,10 +2460,10 @@ static void create_constraints(FractureModifierData *rmd)
}
else if (rmd->constraint_target == MOD_FRACTURE_VERTEX) {
MVert mv;
- MeshIsland *mi = NULL;
+ MeshIsland *mii = NULL;
rmd->visible_mesh_cached->getVert(rmd->visible_mesh_cached, i, &mv);
- mi = BLI_ghash_lookup(rmd->vertex_island_map, SET_INT_IN_POINTER(i));
- search_tree_based(rmd, mi, mesh_islands, &coord_tree, mv.co, max_mass);
+ mii = BLI_ghash_lookup(rmd->vertex_island_map, SET_INT_IN_POINTER(i));
+ search_tree_based(rmd, mii, mesh_islands, &coord_tree, mv.co, max_mass);
}
}
More information about the Bf-blender-cvs
mailing list