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:
authorJoseph Eagar <joeedh@gmail.com>2011-02-27 09:19:40 +0300
committerJoseph Eagar <joeedh@gmail.com>2011-02-27 09:19:40 +0300
commitf01261d040be27337db9f9996d648a279c89b7c4 (patch)
treec448230939b3c90d53ce8852dd00925d6052e3a4 /source/blender/modifiers/intern/MOD_collision.c
parentdcaeda5c4e3a0687251b8511de4f2e8b85ef75c0 (diff)
parent2198cfdb2deec8b2e85e242c74a032f43d0b26ca (diff)
merge with/from trunk at r35190
Diffstat (limited to 'source/blender/modifiers/intern/MOD_collision.c')
-rw-r--r--source/blender/modifiers/intern/MOD_collision.c30
1 files changed, 23 insertions, 7 deletions
diff --git a/source/blender/modifiers/intern/MOD_collision.c b/source/blender/modifiers/intern/MOD_collision.c
index fd43e057144..07b35cdf334 100644
--- a/source/blender/modifiers/intern/MOD_collision.c
+++ b/source/blender/modifiers/intern/MOD_collision.c
@@ -30,6 +30,11 @@
*
*/
+/** \file blender/modifiers/intern/MOD_collision.c
+ * \ingroup modifiers
+ */
+
+
#include "DNA_scene_types.h"
#include "DNA_object_types.h"
#include "DNA_meshdata_types.h"
@@ -37,6 +42,8 @@
#include "MEM_guardedalloc.h"
#include "BLI_math.h"
+#include "BLI_utildefines.h"
+
#include "BKE_collision.h"
#include "BKE_cdderivedmesh.h"
@@ -46,6 +53,7 @@
#include "BKE_pointcache.h"
#include "BKE_scene.h"
+#include "MOD_util.h"
static void initData(ModifierData *md)
{
@@ -94,19 +102,20 @@ static void freeData(ModifierData *md)
}
}
-static int dependsOnTime(ModifierData *md)
+static int dependsOnTime(ModifierData *UNUSED(md))
{
return 1;
}
-static void deformVerts(
- ModifierData *md, Object *ob, DerivedMesh *derivedData,
- float (*vertexCos)[3], int numVerts, int useRenderParams, int isFinalCalc)
+static void deformVerts(ModifierData *md, Object *ob,
+ DerivedMesh *derivedData,
+ float (*vertexCos)[3],
+ int UNUSED(numVerts),
+ int UNUSED(useRenderParams),
+ int UNUSED(isFinalCalc))
{
CollisionModifierData *collmd = (CollisionModifierData*) md;
DerivedMesh *dm = NULL;
- float current_time = 0;
- unsigned int numverts = 0, i = 0;
MVert *tempVert = NULL;
/* if possible use/create DerivedMesh */
@@ -121,6 +130,9 @@ static void deformVerts(
if(dm)
{
+ float current_time = 0;
+ unsigned int numverts = 0;
+
CDDM_apply_vert_coords(dm, vertexCos);
CDDM_calc_normals(dm);
@@ -132,7 +144,9 @@ static void deformVerts(
numverts = dm->getNumVerts ( dm );
if((current_time > collmd->time)|| (BKE_ptcache_get_continue_physics()))
- {
+ {
+ unsigned int i;
+
// check if mesh has changed
if(collmd->x && (numverts != collmd->numverts))
freeData((ModifierData *)collmd);
@@ -238,6 +252,7 @@ ModifierTypeInfo modifierType_Collision = {
/* copyData */ 0,
/* deformVerts */ deformVerts,
+ /* deformMatrices */ 0,
/* deformVertsEM */ 0,
/* deformMatricesEM */ 0,
/* applyModifier */ 0,
@@ -248,6 +263,7 @@ ModifierTypeInfo modifierType_Collision = {
/* isDisabled */ 0,
/* updateDepgraph */ 0,
/* dependsOnTime */ dependsOnTime,
+ /* dependsOnNormals */ 0,
/* foreachObjectLink */ 0,
/* foreachIDLink */ 0,
};