Cleanup: modifier arg wrapping

This commit is contained in:
2018-05-12 08:04:56 +02:00
parent f197134426
commit c84b8d4801
59 changed files with 584 additions and 444 deletions

View File

@@ -121,11 +121,12 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "Armature Modifier"); DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "Armature Modifier");
} }
static void deformVerts(ModifierData *md, Object *ob, static void deformVerts(
DerivedMesh *derivedData, ModifierData *md, Object *ob,
float (*vertexCos)[3], DerivedMesh *derivedData,
int numVerts, float (*vertexCos)[3],
ModifierApplyFlag UNUSED(flag)) int numVerts,
ModifierApplyFlag UNUSED(flag))
{ {
ArmatureModifierData *amd = (ArmatureModifierData *) md; ArmatureModifierData *amd = (ArmatureModifierData *) md;
@@ -180,8 +181,9 @@ static void deformMatricesEM(
if (!derivedData) dm->release(dm); if (!derivedData) dm->release(dm);
} }
static void deformMatrices(ModifierData *md, Object *ob, DerivedMesh *derivedData, static void deformMatrices(
float (*vertexCos)[3], float (*defMats)[3][3], int numVerts) ModifierData *md, Object *ob, DerivedMesh *derivedData,
float (*vertexCos)[3], float (*defMats)[3][3], int numVerts)
{ {
ArmatureModifierData *amd = (ArmatureModifierData *) md; ArmatureModifierData *amd = (ArmatureModifierData *) md;
DerivedMesh *dm = derivedData; DerivedMesh *dm = derivedData;

View File

@@ -791,9 +791,10 @@ static DerivedMesh *arrayModifier_doArray(
} }
static DerivedMesh *applyModifier(ModifierData *md, Object *ob, static DerivedMesh *applyModifier(
DerivedMesh *dm, ModifierData *md, Object *ob,
ModifierApplyFlag flag) DerivedMesh *dm,
ModifierApplyFlag flag)
{ {
ArrayModifierData *amd = (ArrayModifierData *) md; ArrayModifierData *amd = (ArrayModifierData *) md;
return arrayModifier_doArray(amd, md->scene, ob, dm, flag); return arrayModifier_doArray(amd, md->scene, ob, dm, flag);

View File

@@ -77,9 +77,10 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md)
/* /*
* This calls the new bevel code (added since 2.64) * This calls the new bevel code (added since 2.64)
*/ */
static DerivedMesh *applyModifier(ModifierData *md, struct Object *ob, static DerivedMesh *applyModifier(
DerivedMesh *dm, ModifierData *md, struct Object *ob,
ModifierApplyFlag UNUSED(flag)) DerivedMesh *dm,
ModifierApplyFlag UNUSED(flag))
{ {
DerivedMesh *result; DerivedMesh *result;
BMesh *bm; BMesh *bm;

View File

@@ -66,9 +66,10 @@ static bool dependsOnTime(ModifierData *UNUSED(md))
return true; return true;
} }
static DerivedMesh *applyModifier(ModifierData *md, Object *UNUSED(ob), static DerivedMesh *applyModifier(
DerivedMesh *derivedData, ModifierData *md, Object *UNUSED(ob),
ModifierApplyFlag UNUSED(flag)) DerivedMesh *derivedData,
ModifierApplyFlag UNUSED(flag))
{ {
DerivedMesh *dm = derivedData; DerivedMesh *dm = derivedData;
DerivedMesh *result; DerivedMesh *result;

View File

@@ -434,11 +434,12 @@ static void cuboid_do(
} }
} }
static void deformVerts(ModifierData *md, Object *ob, static void deformVerts(
DerivedMesh *derivedData, ModifierData *md, Object *ob,
float (*vertexCos)[3], DerivedMesh *derivedData,
int numVerts, float (*vertexCos)[3],
ModifierApplyFlag UNUSED(flag)) int numVerts,
ModifierApplyFlag UNUSED(flag))
{ {
DerivedMesh *dm = NULL; DerivedMesh *dm = NULL;
CastModifierData *cmd = (CastModifierData *)md; CastModifierData *cmd = (CastModifierData *)md;

View File

@@ -72,8 +72,9 @@ static void initData(ModifierData *md)
cloth_init(clmd); cloth_init(clmd);
} }
static void deformVerts(ModifierData *md, Object *ob, DerivedMesh *derivedData, float (*vertexCos)[3], static void deformVerts(
int numVerts, ModifierApplyFlag UNUSED(flag)) ModifierData *md, Object *ob, DerivedMesh *derivedData, float (*vertexCos)[3],
int numVerts, ModifierApplyFlag UNUSED(flag))
{ {
DerivedMesh *dm; DerivedMesh *dm;
ClothModifierData *clmd = (ClothModifierData *) md; ClothModifierData *clmd = (ClothModifierData *) md;
@@ -219,8 +220,9 @@ static void freeData(ModifierData *md)
} }
} }
static void foreachIDLink(ModifierData *md, Object *ob, static void foreachIDLink(
IDWalkFunc walk, void *userData) ModifierData *md, Object *ob,
IDWalkFunc walk, void *userData)
{ {
ClothModifierData *clmd = (ClothModifierData *) md; ClothModifierData *clmd = (ClothModifierData *) md;

View File

@@ -95,11 +95,12 @@ static bool dependsOnTime(ModifierData *UNUSED(md))
return true; return true;
} }
static void deformVerts(ModifierData *md, Object *ob, static void deformVerts(
DerivedMesh *derivedData, ModifierData *md, Object *ob,
float (*vertexCos)[3], DerivedMesh *derivedData,
int UNUSED(numVerts), float (*vertexCos)[3],
ModifierApplyFlag UNUSED(flag)) int UNUSED(numVerts),
ModifierApplyFlag UNUSED(flag))
{ {
CollisionModifierData *collmd = (CollisionModifierData *) md; CollisionModifierData *collmd = (CollisionModifierData *) md;
DerivedMesh *dm = NULL; DerivedMesh *dm = NULL;

View File

@@ -706,7 +706,8 @@ static void correctivesmooth_modifier_do(
/* when the modifier fails to execute */ /* when the modifier fails to execute */
error: error:
MEM_SAFE_FREE(csmd->delta_cache); MEM_SAFE_FREE(
csmd->delta_cache);
csmd->delta_cache_num = 0; csmd->delta_cache_num = 0;
} }

View File

@@ -114,11 +114,12 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "Curve Modifier"); DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "Curve Modifier");
} }
static void deformVerts(ModifierData *md, Object *ob, static void deformVerts(
DerivedMesh *derivedData, ModifierData *md, Object *ob,
float (*vertexCos)[3], DerivedMesh *derivedData,
int numVerts, float (*vertexCos)[3],
ModifierApplyFlag UNUSED(flag)) int numVerts,
ModifierApplyFlag UNUSED(flag))
{ {
CurveModifierData *cmd = (CurveModifierData *) md; CurveModifierData *cmd = (CurveModifierData *) md;

View File

@@ -163,8 +163,9 @@ static bool isDisabled(ModifierData *md, int UNUSED(useRenderParams))
DT_TYPE_SHARP_FACE \ DT_TYPE_SHARP_FACE \
) )
static DerivedMesh *applyModifier(ModifierData *md, Object *ob, DerivedMesh *derivedData, static DerivedMesh *applyModifier(
ModifierApplyFlag UNUSED(flag)) ModifierData *md, Object *ob, DerivedMesh *derivedData,
ModifierApplyFlag UNUSED(flag))
{ {
DataTransferModifierData *dtmd = (DataTransferModifierData *) md; DataTransferModifierData *dtmd = (DataTransferModifierData *) md;
DerivedMesh *dm = derivedData; DerivedMesh *dm = derivedData;

View File

@@ -77,9 +77,10 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md)
return dataMask; return dataMask;
} }
static DerivedMesh *applyModifier(ModifierData *md, Object *ob, static DerivedMesh *applyModifier(
DerivedMesh *derivedData, ModifierData *md, Object *ob,
ModifierApplyFlag UNUSED(flag)) DerivedMesh *derivedData,
ModifierApplyFlag UNUSED(flag))
{ {
DecimateModifierData *dmd = (DecimateModifierData *) md; DecimateModifierData *dmd = (DecimateModifierData *) md;
DerivedMesh *dm = derivedData, *result = NULL; DerivedMesh *dm = derivedData, *result = NULL;

View File

@@ -107,16 +107,18 @@ static bool dependsOnNormals(ModifierData *md)
return ELEM(dmd->direction, MOD_DISP_DIR_NOR, MOD_DISP_DIR_CLNOR); return ELEM(dmd->direction, MOD_DISP_DIR_NOR, MOD_DISP_DIR_CLNOR);
} }
static void foreachObjectLink(ModifierData *md, Object *ob, static void foreachObjectLink(
ObjectWalkFunc walk, void *userData) ModifierData *md, Object *ob,
ObjectWalkFunc walk, void *userData)
{ {
DisplaceModifierData *dmd = (DisplaceModifierData *) md; DisplaceModifierData *dmd = (DisplaceModifierData *) md;
walk(userData, ob, &dmd->map_object, IDWALK_CB_NOP); walk(userData, ob, &dmd->map_object, IDWALK_CB_NOP);
} }
static void foreachIDLink(ModifierData *md, Object *ob, static void foreachIDLink(
IDWalkFunc walk, void *userData) ModifierData *md, Object *ob,
IDWalkFunc walk, void *userData)
{ {
DisplaceModifierData *dmd = (DisplaceModifierData *) md; DisplaceModifierData *dmd = (DisplaceModifierData *) md;
@@ -125,8 +127,9 @@ static void foreachIDLink(ModifierData *md, Object *ob,
foreachObjectLink(md, ob, (ObjectWalkFunc)walk, userData); foreachObjectLink(md, ob, (ObjectWalkFunc)walk, userData);
} }
static void foreachTexLink(ModifierData *md, Object *ob, static void foreachTexLink(
TexWalkFunc walk, void *userData) ModifierData *md, Object *ob,
TexWalkFunc walk, void *userData)
{ {
walk(userData, ob, md, "texture"); walk(userData, ob, md, "texture");
} }
@@ -380,11 +383,12 @@ static void displaceModifier_do(
} }
} }
static void deformVerts(ModifierData *md, Object *ob, static void deformVerts(
DerivedMesh *derivedData, ModifierData *md, Object *ob,
float (*vertexCos)[3], DerivedMesh *derivedData,
int numVerts, float (*vertexCos)[3],
ModifierApplyFlag UNUSED(flag)) int numVerts,
ModifierApplyFlag UNUSED(flag))
{ {
DerivedMesh *dm = get_cddm(ob, NULL, derivedData, vertexCos, dependsOnNormals(md)); DerivedMesh *dm = get_cddm(ob, NULL, derivedData, vertexCos, dependsOnNormals(md));

View File

@@ -103,9 +103,10 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md)
return dataMask; return dataMask;
} }
static DerivedMesh *applyModifier(ModifierData *md, Object *ob, static DerivedMesh *applyModifier(
DerivedMesh *dm, ModifierData *md, Object *ob,
ModifierApplyFlag flag) DerivedMesh *dm,
ModifierApplyFlag flag)
{ {
DynamicPaintModifierData *pmd = (DynamicPaintModifierData *) md; DynamicPaintModifierData *pmd = (DynamicPaintModifierData *) md;
@@ -163,8 +164,9 @@ static bool dependsOnTime(ModifierData *UNUSED(md))
return true; return true;
} }
static void foreachIDLink(ModifierData *md, Object *ob, static void foreachIDLink(
IDWalkFunc walk, void *userData) ModifierData *md, Object *ob,
IDWalkFunc walk, void *userData)
{ {
DynamicPaintModifierData *pmd = (DynamicPaintModifierData *) md; DynamicPaintModifierData *pmd = (DynamicPaintModifierData *) md;
@@ -184,8 +186,9 @@ static void foreachIDLink(ModifierData *md, Object *ob,
} }
} }
static void foreachTexLink(ModifierData *UNUSED(md), Object *UNUSED(ob), static void foreachTexLink(
TexWalkFunc UNUSED(walk), void *UNUSED(userData)) ModifierData *UNUSED(md), Object *UNUSED(ob),
TexWalkFunc UNUSED(walk), void *UNUSED(userData))
{ {
//walk(userData, ob, md, ""); /* re-enable when possible */ //walk(userData, ob, md, ""); /* re-enable when possible */
} }

View File

@@ -112,8 +112,9 @@ static void initData(ModifierData *md)
emd->flags = MOD_EDGESPLIT_FROMANGLE | MOD_EDGESPLIT_FROMFLAG; emd->flags = MOD_EDGESPLIT_FROMANGLE | MOD_EDGESPLIT_FROMFLAG;
} }
static DerivedMesh *applyModifier(ModifierData *md, Object *UNUSED(ob), DerivedMesh *dm, static DerivedMesh *applyModifier(
ModifierApplyFlag UNUSED(flag)) ModifierData *md, Object *UNUSED(ob), DerivedMesh *dm,
ModifierApplyFlag UNUSED(flag))
{ {
DerivedMesh *result; DerivedMesh *result;
EdgeSplitModifierData *emd = (EdgeSplitModifierData *) md; EdgeSplitModifierData *emd = (EdgeSplitModifierData *) md;

View File

@@ -94,9 +94,10 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md)
return dataMask; return dataMask;
} }
static void createFacepa(ExplodeModifierData *emd, static void createFacepa(
ParticleSystemModifierData *psmd, ExplodeModifierData *emd,
DerivedMesh *dm) ParticleSystemModifierData *psmd,
DerivedMesh *dm)
{ {
ParticleSystem *psys = psmd->psys; ParticleSystem *psys = psmd->psys;
MFace *fa = NULL, *mface = NULL; MFace *fa = NULL, *mface = NULL;
@@ -785,9 +786,10 @@ static DerivedMesh *cutEdges(ExplodeModifierData *emd, DerivedMesh *dm)
return splitdm; return splitdm;
} }
static DerivedMesh *explodeMesh(ExplodeModifierData *emd, static DerivedMesh *explodeMesh(
ParticleSystemModifierData *psmd, Scene *scene, Object *ob, ExplodeModifierData *emd,
DerivedMesh *to_explode) ParticleSystemModifierData *psmd, Scene *scene, Object *ob,
DerivedMesh *to_explode)
{ {
DerivedMesh *explode, *dm = to_explode; DerivedMesh *explode, *dm = to_explode;
MFace *mf = NULL, *mface; MFace *mf = NULL, *mface;
@@ -993,9 +995,10 @@ static ParticleSystemModifierData *findPrecedingParticlesystem(Object *ob, Modif
} }
return psmd; return psmd;
} }
static DerivedMesh *applyModifier(ModifierData *md, Object *ob, static DerivedMesh *applyModifier(
DerivedMesh *derivedData, ModifierData *md, Object *ob,
ModifierApplyFlag UNUSED(flag)) DerivedMesh *derivedData,
ModifierApplyFlag UNUSED(flag))
{ {
DerivedMesh *dm = derivedData; DerivedMesh *dm = derivedData;
ExplodeModifierData *emd = (ExplodeModifierData *) md; ExplodeModifierData *emd = (ExplodeModifierData *) md;

View File

@@ -85,9 +85,10 @@ static void copyData(const ModifierData *md, ModifierData *target)
static DerivedMesh *applyModifier(ModifierData *md, Object *ob, static DerivedMesh *applyModifier(
DerivedMesh *dm, ModifierData *md, Object *ob,
ModifierApplyFlag flag) DerivedMesh *dm,
ModifierApplyFlag flag)
{ {
FluidsimModifierData *fluidmd = (FluidsimModifierData *) md; FluidsimModifierData *fluidmd = (FluidsimModifierData *) md;
DerivedMesh *result = NULL; DerivedMesh *result = NULL;

View File

@@ -304,8 +304,9 @@ static DerivedMesh *fluidsim_read_obj(const char *filename, const MPoly *mp_exam
} }
void fluid_get_bb(MVert *mvert, int totvert, float obmat[4][4], void fluid_get_bb(
/*RET*/ float start[3], /*RET*/ float size[3]) MVert *mvert, int totvert, float obmat[4][4],
/*RET*/ float start[3], /*RET*/ float size[3])
{ {
float bbsx = 0.0, bbsy = 0.0, bbsz = 0.0; float bbsx = 0.0, bbsy = 0.0, bbsz = 0.0;
float bbex = 1.0, bbey = 1.0, bbez = 1.0; float bbex = 1.0, bbey = 1.0, bbez = 1.0;
@@ -425,8 +426,9 @@ static void fluidsim_read_vel_cache(FluidsimModifierData *fluidmd, DerivedMesh *
gzclose(gzf); gzclose(gzf);
} }
static DerivedMesh *fluidsim_read_cache(Object *ob, DerivedMesh *orgdm, static DerivedMesh *fluidsim_read_cache(
FluidsimModifierData *fluidmd, int framenr, int useRenderParams) Object *ob, DerivedMesh *orgdm,
FluidsimModifierData *fluidmd, int framenr, int useRenderParams)
{ {
int curFrame = framenr /* - 1 */ /*scene->r.sfra*/; /* start with 0 at start frame */ int curFrame = framenr /* - 1 */ /*scene->r.sfra*/; /* start with 0 at start frame */
/* why start with 0 as start frame?? Animations + time are frozen for frame 0 anyway. (See physics_fluid.c for that. - DG */ /* why start with 0 as start frame?? Animations + time are frozen for frame 0 anyway. (See physics_fluid.c for that. - DG */
@@ -509,10 +511,11 @@ static DerivedMesh *fluidsim_read_cache(Object *ob, DerivedMesh *orgdm,
} }
#endif // WITH_MOD_FLUID #endif // WITH_MOD_FLUID
DerivedMesh *fluidsimModifier_do(FluidsimModifierData *fluidmd, Scene *scene, DerivedMesh *fluidsimModifier_do(
Object *ob, FluidsimModifierData *fluidmd, Scene *scene,
DerivedMesh *dm, Object *ob,
int useRenderParams, int UNUSED(isFinalCalc)) DerivedMesh *dm,
int useRenderParams, int UNUSED(isFinalCalc))
{ {
#ifdef WITH_MOD_FLUID #ifdef WITH_MOD_FLUID
DerivedMesh *result = NULL; DerivedMesh *result = NULL;

View File

@@ -42,9 +42,10 @@ struct DerivedMesh;
void fluidsim_init(struct FluidsimModifierData *fluidmd); void fluidsim_init(struct FluidsimModifierData *fluidmd);
void fluidsim_free(struct FluidsimModifierData *fluidmd); void fluidsim_free(struct FluidsimModifierData *fluidmd);
struct DerivedMesh *fluidsimModifier_do(struct FluidsimModifierData *fluidmd, struct DerivedMesh *fluidsimModifier_do(
struct Scene *scene, struct Object *ob, struct DerivedMesh *dm, struct FluidsimModifierData *fluidmd,
int useRenderParams, int isFinalCalc); struct Scene *scene, struct Object *ob, struct DerivedMesh *dm,
int useRenderParams, int isFinalCalc);
#endif #endif

View File

@@ -264,8 +264,9 @@ static void hook_co_apply(struct HookData_cb *hd, const int j)
} }
} }
static void deformVerts_do(HookModifierData *hmd, Object *ob, DerivedMesh *dm, static void deformVerts_do(
float (*vertexCos)[3], int numVerts) HookModifierData *hmd, Object *ob, DerivedMesh *dm,
float (*vertexCos)[3], int numVerts)
{ {
bPoseChannel *pchan = BKE_pose_channel_find_name(hmd->object->pose, hmd->subtarget); bPoseChannel *pchan = BKE_pose_channel_find_name(hmd->object->pose, hmd->subtarget);
float dmat[4][4]; float dmat[4][4];
@@ -361,9 +362,10 @@ static void deformVerts_do(HookModifierData *hmd, Object *ob, DerivedMesh *dm,
} }
} }
static void deformVerts(ModifierData *md, Object *ob, DerivedMesh *derivedData, static void deformVerts(
float (*vertexCos)[3], int numVerts, ModifierData *md, Object *ob, DerivedMesh *derivedData,
ModifierApplyFlag UNUSED(flag)) float (*vertexCos)[3], int numVerts,
ModifierApplyFlag UNUSED(flag))
{ {
HookModifierData *hmd = (HookModifierData *) md; HookModifierData *hmd = (HookModifierData *) md;
DerivedMesh *dm = derivedData; DerivedMesh *dm = derivedData;
@@ -377,8 +379,9 @@ static void deformVerts(ModifierData *md, Object *ob, DerivedMesh *derivedData,
dm->release(dm); dm->release(dm);
} }
static void deformVertsEM(ModifierData *md, Object *ob, struct BMEditMesh *editData, static void deformVertsEM(
DerivedMesh *derivedData, float (*vertexCos)[3], int numVerts) ModifierData *md, Object *ob, struct BMEditMesh *editData,
DerivedMesh *derivedData, float (*vertexCos)[3], int numVerts)
{ {
HookModifierData *hmd = (HookModifierData *) md; HookModifierData *hmd = (HookModifierData *) md;
DerivedMesh *dm = derivedData; DerivedMesh *dm = derivedData;

View File

@@ -509,8 +509,9 @@ static bool isValidVertexGroup(LaplacianDeformModifierData *lmd, Object *ob, Der
return (dvert != NULL); return (dvert != NULL);
} }
static void initSystem(LaplacianDeformModifierData *lmd, Object *ob, DerivedMesh *dm, static void initSystem(
float (*vertexCos)[3], int numVerts) LaplacianDeformModifierData *lmd, Object *ob, DerivedMesh *dm,
float (*vertexCos)[3], int numVerts)
{ {
int i; int i;
int defgrp_index; int defgrp_index;
@@ -724,8 +725,9 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md)
return dataMask; return dataMask;
} }
static void deformVerts(ModifierData *md, Object *ob, DerivedMesh *derivedData, static void deformVerts(
float (*vertexCos)[3], int numVerts, ModifierApplyFlag UNUSED(flag)) ModifierData *md, Object *ob, DerivedMesh *derivedData,
float (*vertexCos)[3], int numVerts, ModifierApplyFlag UNUSED(flag))
{ {
DerivedMesh *dm = get_dm(ob, NULL, derivedData, NULL, false, false); DerivedMesh *dm = get_dm(ob, NULL, derivedData, NULL, false, false);

View File

@@ -495,8 +495,9 @@ static CustomDataMask required_data_mask(Object *UNUSED(ob), ModifierData *md)
return dataMask; return dataMask;
} }
static void deformVerts(ModifierData *md, Object *ob, DerivedMesh *derivedData, static void deformVerts(
float (*vertexCos)[3], int numVerts, ModifierApplyFlag UNUSED(flag)) ModifierData *md, Object *ob, DerivedMesh *derivedData,
float (*vertexCos)[3], int numVerts, ModifierApplyFlag UNUSED(flag))
{ {
DerivedMesh *dm; DerivedMesh *dm;

View File

@@ -103,11 +103,12 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "Lattice Modifier"); DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "Lattice Modifier");
} }
static void deformVerts(ModifierData *md, Object *ob, static void deformVerts(
DerivedMesh *derivedData, ModifierData *md, Object *ob,
float (*vertexCos)[3], DerivedMesh *derivedData,
int numVerts, float (*vertexCos)[3],
ModifierApplyFlag UNUSED(flag)) int numVerts,
ModifierApplyFlag UNUSED(flag))
{ {
LatticeModifierData *lmd = (LatticeModifierData *) md; LatticeModifierData *lmd = (LatticeModifierData *) md;

View File

@@ -96,9 +96,10 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
} }
} }
static DerivedMesh *applyModifier(ModifierData *md, Object *ob, static DerivedMesh *applyModifier(
DerivedMesh *dm, ModifierData *md, Object *ob,
ModifierApplyFlag UNUSED(flag)) DerivedMesh *dm,
ModifierApplyFlag UNUSED(flag))
{ {
MaskModifierData *mmd = (MaskModifierData *)md; MaskModifierData *mmd = (MaskModifierData *)md;
const bool found_test = (mmd->flag & MOD_MASK_INV) == 0; const bool found_test = (mmd->flag & MOD_MASK_INV) == 0;

View File

@@ -263,11 +263,12 @@ static void meshcache_do(
} }
} }
static void deformVerts(ModifierData *md, Object *ob, static void deformVerts(
DerivedMesh *derivedData, ModifierData *md, Object *ob,
float (*vertexCos)[3], DerivedMesh *derivedData,
int numVerts, float (*vertexCos)[3],
ModifierApplyFlag UNUSED(flag)) int numVerts,
ModifierApplyFlag UNUSED(flag))
{ {
MeshCacheModifierData *mcmd = (MeshCacheModifierData *)md; MeshCacheModifierData *mcmd = (MeshCacheModifierData *)md;

View File

@@ -48,9 +48,10 @@ typedef struct MDDHead {
int verts_tot; int verts_tot;
} MDDHead; /* frames, verts */ } MDDHead; /* frames, verts */
static bool meshcache_read_mdd_head(FILE *fp, const int verts_tot, static bool meshcache_read_mdd_head(
MDDHead *mdd_head, FILE *fp, const int verts_tot,
const char **err_str) MDDHead *mdd_head,
const char **err_str)
{ {
if (!fread(mdd_head, sizeof(*mdd_head), 1, fp)) { if (!fread(mdd_head, sizeof(*mdd_head), 1, fp)) {
*err_str = "Missing header"; *err_str = "Missing header";
@@ -78,11 +79,12 @@ static bool meshcache_read_mdd_head(FILE *fp, const int verts_tot,
/** /**
* Gets the index frange and factor * Gets the index frange and factor
*/ */
static bool meshcache_read_mdd_range(FILE *fp, static bool meshcache_read_mdd_range(
const int verts_tot, FILE *fp,
const float frame, const char interp, const int verts_tot,
int r_index_range[2], float *r_factor, const float frame, const char interp,
const char **err_str) int r_index_range[2], float *r_factor,
const char **err_str)
{ {
MDDHead mdd_head; MDDHead mdd_head;
@@ -97,11 +99,12 @@ static bool meshcache_read_mdd_range(FILE *fp,
return true; return true;
} }
static bool meshcache_read_mdd_range_from_time(FILE *fp, static bool meshcache_read_mdd_range_from_time(
const int verts_tot, FILE *fp,
const float time, const float UNUSED(fps), const int verts_tot,
float *r_frame, const float time, const float UNUSED(fps),
const char **err_str) float *r_frame,
const char **err_str)
{ {
MDDHead mdd_head; MDDHead mdd_head;
int i; int i;
@@ -144,10 +147,11 @@ static bool meshcache_read_mdd_range_from_time(FILE *fp,
return true; return true;
} }
bool MOD_meshcache_read_mdd_index(FILE *fp, bool MOD_meshcache_read_mdd_index(
float (*vertexCos)[3], const int verts_tot, FILE *fp,
const int index, const float factor, float (*vertexCos)[3], const int verts_tot,
const char **err_str) const int index, const float factor,
const char **err_str)
{ {
MDDHead mdd_head; MDDHead mdd_head;
@@ -212,10 +216,11 @@ bool MOD_meshcache_read_mdd_index(FILE *fp,
return true; return true;
} }
bool MOD_meshcache_read_mdd_frame(FILE *fp, bool MOD_meshcache_read_mdd_frame(
float (*vertexCos)[3], const int verts_tot, const char interp, FILE *fp,
const float frame, float (*vertexCos)[3], const int verts_tot, const char interp,
const char **err_str) const float frame,
const char **err_str)
{ {
int index_range[2]; int index_range[2];
float factor; float factor;
@@ -253,10 +258,11 @@ bool MOD_meshcache_read_mdd_frame(FILE *fp,
} }
} }
bool MOD_meshcache_read_mdd_times(const char *filepath, bool MOD_meshcache_read_mdd_times(
float (*vertexCos)[3], const int verts_tot, const char interp, const char *filepath,
const float time, const float fps, const char time_mode, float (*vertexCos)[3], const int verts_tot, const char interp,
const char **err_str) const float time, const float fps, const char time_mode,
const char **err_str)
{ {
float frame; float frame;

View File

@@ -52,9 +52,10 @@ typedef struct PC2Head {
int frame_tot; int frame_tot;
} PC2Head; /* frames, verts */ } PC2Head; /* frames, verts */
static bool meshcache_read_pc2_head(FILE *fp, const int verts_tot, static bool meshcache_read_pc2_head(
PC2Head *pc2_head, FILE *fp, const int verts_tot,
const char **err_str) PC2Head *pc2_head,
const char **err_str)
{ {
if (!fread(pc2_head, sizeof(*pc2_head), 1, fp)) { if (!fread(pc2_head, sizeof(*pc2_head), 1, fp)) {
*err_str = "Missing header"; *err_str = "Missing header";
@@ -90,11 +91,12 @@ static bool meshcache_read_pc2_head(FILE *fp, const int verts_tot,
* *
* currently same as for MDD * currently same as for MDD
*/ */
static bool meshcache_read_pc2_range(FILE *fp, static bool meshcache_read_pc2_range(
const int verts_tot, FILE *fp,
const float frame, const char interp, const int verts_tot,
int r_index_range[2], float *r_factor, const float frame, const char interp,
const char **err_str) int r_index_range[2], float *r_factor,
const char **err_str)
{ {
PC2Head pc2_head; PC2Head pc2_head;
@@ -109,11 +111,12 @@ static bool meshcache_read_pc2_range(FILE *fp,
return true; return true;
} }
static bool meshcache_read_pc2_range_from_time(FILE *fp, static bool meshcache_read_pc2_range_from_time(
const int verts_tot, FILE *fp,
const float time, const float fps, const int verts_tot,
float *r_frame, const float time, const float fps,
const char **err_str) float *r_frame,
const char **err_str)
{ {
PC2Head pc2_head; PC2Head pc2_head;
float frame; float frame;
@@ -135,10 +138,11 @@ static bool meshcache_read_pc2_range_from_time(FILE *fp,
return true; return true;
} }
bool MOD_meshcache_read_pc2_index(FILE *fp, bool MOD_meshcache_read_pc2_index(
float (*vertexCos)[3], const int verts_tot, FILE *fp,
const int index, const float factor, float (*vertexCos)[3], const int verts_tot,
const char **err_str) const int index, const float factor,
const char **err_str)
{ {
PC2Head pc2_head; PC2Head pc2_head;
@@ -188,10 +192,11 @@ bool MOD_meshcache_read_pc2_index(FILE *fp,
} }
bool MOD_meshcache_read_pc2_frame(FILE *fp, bool MOD_meshcache_read_pc2_frame(
float (*vertexCos)[3], const int verts_tot, const char interp, FILE *fp,
const float frame, float (*vertexCos)[3], const int verts_tot, const char interp,
const char **err_str) const float frame,
const char **err_str)
{ {
int index_range[2]; int index_range[2];
float factor; float factor;
@@ -229,10 +234,11 @@ bool MOD_meshcache_read_pc2_frame(FILE *fp,
} }
} }
bool MOD_meshcache_read_pc2_times(const char *filepath, bool MOD_meshcache_read_pc2_times(
float (*vertexCos)[3], const int verts_tot, const char interp, const char *filepath,
const float time, const float fps, const char time_mode, float (*vertexCos)[3], const int verts_tot, const char interp,
const char **err_str) const float time, const float fps, const char time_mode,
const char **err_str)
{ {
float frame; float frame;

View File

@@ -31,9 +31,10 @@
#include "MOD_meshcache_util.h" #include "MOD_meshcache_util.h"
void MOD_meshcache_calc_range(const float frame, const char interp, void MOD_meshcache_calc_range(
const int frame_tot, const float frame, const char interp,
int r_index_range[2], float *r_factor) const int frame_tot,
int r_index_range[2], float *r_factor)
{ {
if (interp == MOD_MESHCACHE_INTERP_NONE) { if (interp == MOD_MESHCACHE_INTERP_NONE) {
r_index_range[0] = r_index_range[1] = max_ii(0, min_ii(frame_tot - 1, round_fl_to_int(frame))); r_index_range[0] = r_index_range[1] = max_ii(0, min_ii(frame_tot - 1, round_fl_to_int(frame)));

View File

@@ -29,37 +29,44 @@
/* MOD_meshcache_mdd.c */ /* MOD_meshcache_mdd.c */
bool MOD_meshcache_read_mdd_index(FILE *fp, bool MOD_meshcache_read_mdd_index(
float (*vertexCos)[3], const int vertex_tot, FILE *fp,
const int index, const float factor, float (*vertexCos)[3], const int vertex_tot,
const char **err_str); const int index, const float factor,
bool MOD_meshcache_read_mdd_frame(FILE *fp, const char **err_str);
float (*vertexCos)[3], const int verts_tot, const char interp, bool MOD_meshcache_read_mdd_frame(
const float frame, FILE *fp,
const char **err_str); float (*vertexCos)[3], const int verts_tot, const char interp,
bool MOD_meshcache_read_mdd_times(const char *filepath, const float frame,
float (*vertexCos)[3], const int verts_tot, const char interp, const char **err_str);
const float time, const float fps, const char time_mode, bool MOD_meshcache_read_mdd_times(
const char **err_str); const char *filepath,
float (*vertexCos)[3], const int verts_tot, const char interp,
const float time, const float fps, const char time_mode,
const char **err_str);
/* MOD_meshcache_pc2.c */ /* MOD_meshcache_pc2.c */
bool MOD_meshcache_read_pc2_index(FILE *fp, bool MOD_meshcache_read_pc2_index(
float (*vertexCos)[3], const int verts_tot, FILE *fp,
const int index, const float factor, float (*vertexCos)[3], const int verts_tot,
const char **err_str); const int index, const float factor,
bool MOD_meshcache_read_pc2_frame(FILE *fp, const char **err_str);
float (*vertexCos)[3], const int verts_tot, const char interp, bool MOD_meshcache_read_pc2_frame(
const float frame, FILE *fp,
const char **err_str); float (*vertexCos)[3], const int verts_tot, const char interp,
bool MOD_meshcache_read_pc2_times(const char *filepath, const float frame,
float (*vertexCos)[3], const int verts_tot, const char interp, const char **err_str);
const float time, const float fps, const char time_mode, bool MOD_meshcache_read_pc2_times(
const char **err_str); const char *filepath,
float (*vertexCos)[3], const int verts_tot, const char interp,
const float time, const float fps, const char time_mode,
const char **err_str);
/* MOD_meshcache_util.c */ /* MOD_meshcache_util.c */
void MOD_meshcache_calc_range(const float frame, const char interp, void MOD_meshcache_calc_range(
const int frame_tot, const float frame, const char interp,
int r_index_range[2], float *r_factor); const int frame_tot,
int r_index_range[2], float *r_factor);
#define FRAME_SNAP_EPS 0.0001f #define FRAME_SNAP_EPS 0.0001f

View File

@@ -422,11 +422,12 @@ static void meshdeformModifier_do(
cagedm->release(cagedm); cagedm->release(cagedm);
} }
static void deformVerts(ModifierData *md, Object *ob, static void deformVerts(
DerivedMesh *derivedData, ModifierData *md, Object *ob,
float (*vertexCos)[3], DerivedMesh *derivedData,
int numVerts, float (*vertexCos)[3],
ModifierApplyFlag UNUSED(flag)) int numVerts,
ModifierApplyFlag UNUSED(flag))
{ {
DerivedMesh *dm = get_dm(ob, NULL, derivedData, NULL, false, false); DerivedMesh *dm = get_dm(ob, NULL, derivedData, NULL, false, false);
@@ -438,11 +439,12 @@ static void deformVerts(ModifierData *md, Object *ob,
dm->release(dm); dm->release(dm);
} }
static void deformVertsEM(ModifierData *md, Object *ob, static void deformVertsEM(
struct BMEditMesh *UNUSED(editData), ModifierData *md, Object *ob,
DerivedMesh *derivedData, struct BMEditMesh *UNUSED(editData),
float (*vertexCos)[3], DerivedMesh *derivedData,
int numVerts) float (*vertexCos)[3],
int numVerts)
{ {
DerivedMesh *dm = get_dm(ob, NULL, derivedData, NULL, false, false); DerivedMesh *dm = get_dm(ob, NULL, derivedData, NULL, false, false);

View File

@@ -88,9 +88,10 @@ static bool isDisabled(ModifierData *md, int UNUSED(useRenderParams))
return (mcmd->cache_file == NULL) || (mcmd->object_path[0] == '\0'); return (mcmd->cache_file == NULL) || (mcmd->object_path[0] == '\0');
} }
static DerivedMesh *applyModifier(ModifierData *md, Object *ob, static DerivedMesh *applyModifier(
DerivedMesh *dm, ModifierData *md, Object *ob,
ModifierApplyFlag UNUSED(flag)) DerivedMesh *dm,
ModifierApplyFlag UNUSED(flag))
{ {
#ifdef WITH_ALEMBIC #ifdef WITH_ALEMBIC
MeshSeqCacheModifierData *mcmd = (MeshSeqCacheModifierData *) md; MeshSeqCacheModifierData *mcmd = (MeshSeqCacheModifierData *) md;
@@ -158,8 +159,9 @@ static bool dependsOnTime(ModifierData *md)
return true; return true;
} }
static void foreachIDLink(ModifierData *md, Object *ob, static void foreachIDLink(
IDWalkFunc walk, void *userData) ModifierData *md, Object *ob,
IDWalkFunc walk, void *userData)
{ {
MeshSeqCacheModifierData *mcmd = (MeshSeqCacheModifierData *) md; MeshSeqCacheModifierData *mcmd = (MeshSeqCacheModifierData *) md;

View File

@@ -88,10 +88,11 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "Mirror Modifier"); DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "Mirror Modifier");
} }
static DerivedMesh *doMirrorOnAxis(MirrorModifierData *mmd, static DerivedMesh *doMirrorOnAxis(
Object *ob, MirrorModifierData *mmd,
DerivedMesh *dm, Object *ob,
int axis) DerivedMesh *dm,
int axis)
{ {
const float tolerance_sq = mmd->tolerance * mmd->tolerance; const float tolerance_sq = mmd->tolerance * mmd->tolerance;
const bool do_vtargetmap = (mmd->flag & MOD_MIR_NO_MERGE) == 0; const bool do_vtargetmap = (mmd->flag & MOD_MIR_NO_MERGE) == 0;
@@ -299,8 +300,9 @@ static DerivedMesh *doMirrorOnAxis(MirrorModifierData *mmd,
return result; return result;
} }
static DerivedMesh *mirrorModifier__doMirror(MirrorModifierData *mmd, static DerivedMesh *mirrorModifier__doMirror(
Object *ob, DerivedMesh *dm) MirrorModifierData *mmd,
Object *ob, DerivedMesh *dm)
{ {
DerivedMesh *result = dm; DerivedMesh *result = dm;
@@ -322,9 +324,10 @@ static DerivedMesh *mirrorModifier__doMirror(MirrorModifierData *mmd,
return result; return result;
} }
static DerivedMesh *applyModifier(ModifierData *md, Object *ob, static DerivedMesh *applyModifier(
DerivedMesh *derivedData, ModifierData *md, Object *ob,
ModifierApplyFlag UNUSED(flag)) DerivedMesh *derivedData,
ModifierApplyFlag UNUSED(flag))
{ {
DerivedMesh *result; DerivedMesh *result;
MirrorModifierData *mmd = (MirrorModifierData *) md; MirrorModifierData *mmd = (MirrorModifierData *) md;

View File

@@ -58,8 +58,9 @@ static void initData(ModifierData *md)
mmd->totlvl = 0; mmd->totlvl = 0;
} }
static DerivedMesh *applyModifier(ModifierData *md, Object *ob, DerivedMesh *dm, static DerivedMesh *applyModifier(
ModifierApplyFlag flag) ModifierData *md, Object *ob, DerivedMesh *dm,
ModifierApplyFlag flag)
{ {
MultiresModifierData *mmd = (MultiresModifierData *)md; MultiresModifierData *mmd = (MultiresModifierData *)md;
DerivedMesh *result; DerivedMesh *result;

View File

@@ -404,9 +404,10 @@ static DerivedMesh *generate_ocean_geometry(OceanModifierData *omd)
return result; return result;
} }
static DerivedMesh *doOcean(ModifierData *md, Object *ob, static DerivedMesh *doOcean(
DerivedMesh *derivedData, ModifierData *md, Object *ob,
int UNUSED(useRenderParams)) DerivedMesh *derivedData,
int UNUSED(useRenderParams))
{ {
OceanModifierData *omd = (OceanModifierData *) md; OceanModifierData *omd = (OceanModifierData *) md;
@@ -544,9 +545,10 @@ static DerivedMesh *doOcean(ModifierData *md, Object *ob,
return dm; return dm;
} }
#else /* WITH_OCEANSIM */ #else /* WITH_OCEANSIM */
static DerivedMesh *doOcean(ModifierData *md, Object *UNUSED(ob), static DerivedMesh *doOcean(
DerivedMesh *derivedData, ModifierData *md, Object *UNUSED(ob),
int UNUSED(useRenderParams)) DerivedMesh *derivedData,
int UNUSED(useRenderParams))
{ {
/* unused */ /* unused */
(void)md; (void)md;
@@ -554,9 +556,10 @@ static DerivedMesh *doOcean(ModifierData *md, Object *UNUSED(ob),
} }
#endif /* WITH_OCEANSIM */ #endif /* WITH_OCEANSIM */
static DerivedMesh *applyModifier(ModifierData *md, Object *ob, static DerivedMesh *applyModifier(
DerivedMesh *derivedData, ModifierData *md, Object *ob,
ModifierApplyFlag UNUSED(flag)) DerivedMesh *derivedData,
ModifierApplyFlag UNUSED(flag))
{ {
DerivedMesh *result; DerivedMesh *result;

View File

@@ -146,8 +146,9 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
} }
} }
static void foreachObjectLink(ModifierData *md, Object *ob, static void foreachObjectLink(
ObjectWalkFunc walk, void *userData) ModifierData *md, Object *ob,
ObjectWalkFunc walk, void *userData)
{ {
ParticleInstanceModifierData *pimd = (ParticleInstanceModifierData *) md; ParticleInstanceModifierData *pimd = (ParticleInstanceModifierData *) md;
@@ -209,9 +210,10 @@ static void store_float_in_vcol(MLoopCol *vcol, float float_value)
vcol->a = 1.0f; vcol->a = 1.0f;
} }
static DerivedMesh *applyModifier(ModifierData *md, Object *ob, static DerivedMesh *applyModifier(
DerivedMesh *derivedData, ModifierData *md, Object *ob,
ModifierApplyFlag UNUSED(flag)) DerivedMesh *derivedData,
ModifierApplyFlag UNUSED(flag))
{ {
DerivedMesh *dm = derivedData, *result; DerivedMesh *dm = derivedData, *result;
ParticleInstanceModifierData *pimd = (ParticleInstanceModifierData *) md; ParticleInstanceModifierData *pimd = (ParticleInstanceModifierData *) md;

View File

@@ -99,11 +99,12 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md)
} }
/* saves the current emitter state for a particle system and calculates particles */ /* saves the current emitter state for a particle system and calculates particles */
static void deformVerts(ModifierData *md, Object *ob, static void deformVerts(
DerivedMesh *derivedData, ModifierData *md, Object *ob,
float (*vertexCos)[3], DerivedMesh *derivedData,
int UNUSED(numVerts), float (*vertexCos)[3],
ModifierApplyFlag flag) int UNUSED(numVerts),
ModifierApplyFlag flag)
{ {
DerivedMesh *dm = derivedData; DerivedMesh *dm = derivedData;
ParticleSystemModifierData *psmd = (ParticleSystemModifierData *) md; ParticleSystemModifierData *psmd = (ParticleSystemModifierData *) md;

View File

@@ -133,10 +133,11 @@ static void dualcon_add_quad(void *output_v, const int vert_indices[4])
output->curface++; output->curface++;
} }
static DerivedMesh *applyModifier(ModifierData *md, static DerivedMesh *applyModifier(
Object *UNUSED(ob), ModifierData *md,
DerivedMesh *dm, Object *UNUSED(ob),
ModifierApplyFlag UNUSED(flag)) DerivedMesh *dm,
ModifierApplyFlag UNUSED(flag))
{ {
RemeshModifierData *rmd; RemeshModifierData *rmd;
DualConOutput *output; DualConOutput *output;
@@ -194,9 +195,10 @@ static DerivedMesh *applyModifier(ModifierData *md,
#else /* !WITH_MOD_REMESH */ #else /* !WITH_MOD_REMESH */
static DerivedMesh *applyModifier(ModifierData *UNUSED(md), Object *UNUSED(ob), static DerivedMesh *applyModifier(
DerivedMesh *derivedData, ModifierData *UNUSED(md), Object *UNUSED(ob),
ModifierApplyFlag UNUSED(flag)) DerivedMesh *derivedData,
ModifierApplyFlag UNUSED(flag))
{ {
return derivedData; return derivedData;
} }

View File

@@ -176,9 +176,10 @@ static void initData(ModifierData *md)
ltmd->merge_dist = 0.01f; ltmd->merge_dist = 0.01f;
} }
static DerivedMesh *applyModifier(ModifierData *md, Object *ob, static DerivedMesh *applyModifier(
DerivedMesh *derivedData, ModifierData *md, Object *ob,
ModifierApplyFlag flag) DerivedMesh *derivedData,
ModifierApplyFlag flag)
{ {
DerivedMesh *dm = derivedData; DerivedMesh *dm = derivedData;
DerivedMesh *result; DerivedMesh *result;

View File

@@ -44,11 +44,12 @@
#include "MOD_modifiertypes.h" #include "MOD_modifiertypes.h"
static void deformVerts(ModifierData *UNUSED(md), Object *ob, static void deformVerts(
DerivedMesh *UNUSED(derivedData), ModifierData *UNUSED(md), Object *ob,
float (*vertexCos)[3], DerivedMesh *UNUSED(derivedData),
int numVerts, float (*vertexCos)[3],
ModifierApplyFlag UNUSED(flag)) int numVerts,
ModifierApplyFlag UNUSED(flag))
{ {
Key *key = BKE_key_from_object(ob); Key *key = BKE_key_from_object(ob);
@@ -61,8 +62,9 @@ static void deformVerts(ModifierData *UNUSED(md), Object *ob,
} }
} }
static void deformMatrices(ModifierData *md, Object *ob, DerivedMesh *derivedData, static void deformMatrices(
float (*vertexCos)[3], float (*defMats)[3][3], int numVerts) ModifierData *md, Object *ob, DerivedMesh *derivedData,
float (*vertexCos)[3], float (*defMats)[3][3], int numVerts)
{ {
Key *key = BKE_key_from_object(ob); Key *key = BKE_key_from_object(ob);
KeyBlock *kb = BKE_keyblock_from_object(ob); KeyBlock *kb = BKE_keyblock_from_object(ob);
@@ -83,11 +85,12 @@ static void deformMatrices(ModifierData *md, Object *ob, DerivedMesh *derivedDat
deformVerts(md, ob, derivedData, vertexCos, numVerts, 0); deformVerts(md, ob, derivedData, vertexCos, numVerts, 0);
} }
static void deformVertsEM(ModifierData *md, Object *ob, static void deformVertsEM(
struct BMEditMesh *UNUSED(editData), ModifierData *md, Object *ob,
DerivedMesh *derivedData, struct BMEditMesh *UNUSED(editData),
float (*vertexCos)[3], DerivedMesh *derivedData,
int numVerts) float (*vertexCos)[3],
int numVerts)
{ {
Key *key = BKE_key_from_object(ob); Key *key = BKE_key_from_object(ob);
@@ -95,12 +98,13 @@ static void deformVertsEM(ModifierData *md, Object *ob,
deformVerts(md, ob, derivedData, vertexCos, numVerts, 0); deformVerts(md, ob, derivedData, vertexCos, numVerts, 0);
} }
static void deformMatricesEM(ModifierData *UNUSED(md), Object *ob, static void deformMatricesEM(
struct BMEditMesh *UNUSED(editData), ModifierData *UNUSED(md), Object *ob,
DerivedMesh *UNUSED(derivedData), struct BMEditMesh *UNUSED(editData),
float (*vertexCos)[3], DerivedMesh *UNUSED(derivedData),
float (*defMats)[3][3], float (*vertexCos)[3],
int numVerts) float (*defMats)[3][3],
int numVerts)
{ {
Key *key = BKE_key_from_object(ob); Key *key = BKE_key_from_object(ob);
KeyBlock *kb = BKE_keyblock_from_object(ob); KeyBlock *kb = BKE_keyblock_from_object(ob);

View File

@@ -96,11 +96,12 @@ static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk,
walk(userData, ob, &smd->auxTarget, IDWALK_CB_NOP); walk(userData, ob, &smd->auxTarget, IDWALK_CB_NOP);
} }
static void deformVerts(ModifierData *md, Object *ob, static void deformVerts(
DerivedMesh *derivedData, ModifierData *md, Object *ob,
float (*vertexCos)[3], DerivedMesh *derivedData,
int numVerts, float (*vertexCos)[3],
ModifierApplyFlag flag) int numVerts,
ModifierApplyFlag flag)
{ {
DerivedMesh *dm = derivedData; DerivedMesh *dm = derivedData;
CustomDataMask dataMask = requiredDataMask(ob, md); CustomDataMask dataMask = requiredDataMask(ob, md);
@@ -117,8 +118,9 @@ static void deformVerts(ModifierData *md, Object *ob,
dm->release(dm); dm->release(dm);
} }
static void deformVertsEM(ModifierData *md, Object *ob, struct BMEditMesh *editData, DerivedMesh *derivedData, static void deformVertsEM(
float (*vertexCos)[3], int numVerts) ModifierData *md, Object *ob, struct BMEditMesh *editData, DerivedMesh *derivedData,
float (*vertexCos)[3], int numVerts)
{ {
DerivedMesh *dm = derivedData; DerivedMesh *dm = derivedData;
CustomDataMask dataMask = requiredDataMask(ob, md); CustomDataMask dataMask = requiredDataMask(ob, md);

View File

@@ -183,8 +183,9 @@ static void simpleDeform_bend(const float factor, const int axis, const float dc
/* simple deform modifier */ /* simple deform modifier */
static void SimpleDeformModifier_do(SimpleDeformModifierData *smd, struct Object *ob, struct DerivedMesh *dm, static void SimpleDeformModifier_do(
float (*vertexCos)[3], int numVerts) SimpleDeformModifierData *smd, struct Object *ob, struct DerivedMesh *dm,
float (*vertexCos)[3], int numVerts)
{ {
const float base_limit[2] = {0.0f, 0.0f}; const float base_limit[2] = {0.0f, 0.0f};
@@ -385,11 +386,12 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
} }
} }
static void deformVerts(ModifierData *md, Object *ob, static void deformVerts(
DerivedMesh *derivedData, ModifierData *md, Object *ob,
float (*vertexCos)[3], DerivedMesh *derivedData,
int numVerts, float (*vertexCos)[3],
ModifierApplyFlag UNUSED(flag)) int numVerts,
ModifierApplyFlag UNUSED(flag))
{ {
DerivedMesh *dm = derivedData; DerivedMesh *dm = derivedData;
CustomDataMask dataMask = requiredDataMask(ob, md); CustomDataMask dataMask = requiredDataMask(ob, md);
@@ -405,11 +407,12 @@ static void deformVerts(ModifierData *md, Object *ob,
dm->release(dm); dm->release(dm);
} }
static void deformVertsEM(ModifierData *md, Object *ob, static void deformVertsEM(
struct BMEditMesh *editData, ModifierData *md, Object *ob,
DerivedMesh *derivedData, struct BMEditMesh *editData,
float (*vertexCos)[3], DerivedMesh *derivedData,
int numVerts) float (*vertexCos)[3],
int numVerts)
{ {
DerivedMesh *dm = derivedData; DerivedMesh *dm = derivedData;
CustomDataMask dataMask = requiredDataMask(ob, md); CustomDataMask dataMask = requiredDataMask(ob, md);

View File

@@ -134,16 +134,18 @@ typedef struct {
int mat_nr; int mat_nr;
} SkinOutput; } SkinOutput;
static void add_poly(SkinOutput *so, static void add_poly(
BMVert *v1, SkinOutput *so,
BMVert *v2, BMVert *v1,
BMVert *v3, BMVert *v2,
BMVert *v4); BMVert *v3,
BMVert *v4);
/***************************** Convex Hull ****************************/ /***************************** Convex Hull ****************************/
static bool is_quad_symmetric(BMVert *quad[4], static bool is_quad_symmetric(
const SkinModifierData *smd) BMVert *quad[4],
const SkinModifierData *smd)
{ {
const float threshold = 0.0001f; const float threshold = 0.0001f;
const float threshold_squared = threshold * threshold; const float threshold_squared = threshold * threshold;
@@ -175,8 +177,9 @@ static bool is_quad_symmetric(BMVert *quad[4],
} }
/* Returns true if the quad crosses the plane of symmetry, false otherwise */ /* Returns true if the quad crosses the plane of symmetry, false otherwise */
static bool quad_crosses_symmetry_plane(BMVert *quad[4], static bool quad_crosses_symmetry_plane(
const SkinModifierData *smd) BMVert *quad[4],
const SkinModifierData *smd)
{ {
int axis; int axis;
@@ -202,8 +205,9 @@ static bool quad_crosses_symmetry_plane(BMVert *quad[4],
/* Returns true if the frame is filled by precisely two faces (and /* Returns true if the frame is filled by precisely two faces (and
* outputs those faces to fill_faces), otherwise returns false. */ * outputs those faces to fill_faces), otherwise returns false. */
static bool skin_frame_find_contained_faces(const Frame *frame, static bool skin_frame_find_contained_faces(
BMFace *fill_faces[2]) const Frame *frame,
BMFace *fill_faces[2])
{ {
BMEdge *diag; BMEdge *diag;
@@ -410,9 +414,10 @@ static void merge_frame_corners(Frame **frames, int totframe)
} }
} }
static Frame **collect_hull_frames(int v, SkinNode *frames, static Frame **collect_hull_frames(
const MeshElemMap *emap, const MEdge *medge, int v, SkinNode *frames,
int *tothullframe) const MeshElemMap *emap, const MEdge *medge,
int *tothullframe)
{ {
SkinNode *f; SkinNode *f;
Frame **hull_frames; Frame **hull_frames;
@@ -450,9 +455,10 @@ static void node_frames_init(SkinNode *nf, int totframe)
nf->seam_edges[i] = -1; nf->seam_edges[i] = -1;
} }
static void create_frame(Frame *frame, const float co[3], static void create_frame(
const float radius[2], Frame *frame, const float co[3],
float mat[3][3], float offset) const float radius[2],
float mat[3][3], float offset)
{ {
float rx[3], ry[3], rz[3]; float rx[3], ry[3], rz[3];
int i; int i;
@@ -482,9 +488,10 @@ static float half_v2(const float v[2])
return (v[0] + v[1]) * 0.5f; return (v[0] + v[1]) * 0.5f;
} }
static void end_node_frames(int v, SkinNode *skin_nodes, const MVert *mvert, static void end_node_frames(
const MVertSkin *nodes, const MeshElemMap *emap, int v, SkinNode *skin_nodes, const MVert *mvert,
EMat *emat) const MVertSkin *nodes, const MeshElemMap *emap,
EMat *emat)
{ {
const float *rad = nodes[v].radius; const float *rad = nodes[v].radius;
float mat[3][3]; float mat[3][3];
@@ -555,9 +562,10 @@ static int connection_node_mat(float mat[3][3], int v, const MeshElemMap *emap,
return 0; return 0;
} }
static void connection_node_frames(int v, SkinNode *skin_nodes, const MVert *mvert, static void connection_node_frames(
const MVertSkin *nodes, const MeshElemMap *emap, int v, SkinNode *skin_nodes, const MVert *mvert,
EMat *emat) const MVertSkin *nodes, const MeshElemMap *emap,
EMat *emat)
{ {
const float *rad = nodes[v].radius; const float *rad = nodes[v].radius;
float mat[3][3]; float mat[3][3];
@@ -593,9 +601,10 @@ static void connection_node_frames(int v, SkinNode *skin_nodes, const MVert *mve
create_frame(&skin_nodes[v].frames[0], mvert[v].co, rad, mat, 0); create_frame(&skin_nodes[v].frames[0], mvert[v].co, rad, mat, 0);
} }
static SkinNode *build_frames(const MVert *mvert, int totvert, static SkinNode *build_frames(
const MVertSkin *nodes, const MeshElemMap *emap, const MVert *mvert, int totvert,
EMat *emat) const MVertSkin *nodes, const MeshElemMap *emap,
EMat *emat)
{ {
SkinNode *skin_nodes; SkinNode *skin_nodes;
int v; int v;
@@ -652,9 +661,10 @@ typedef struct {
int e; int e;
} EdgeStackElem; } EdgeStackElem;
static void build_emats_stack(BLI_Stack *stack, BLI_bitmap *visited_e, EMat *emat, static void build_emats_stack(
const MeshElemMap *emap, const MEdge *medge, BLI_Stack *stack, BLI_bitmap *visited_e, EMat *emat,
const MVertSkin *vs, const MVert *mvert) const MeshElemMap *emap, const MEdge *medge,
const MVertSkin *vs, const MVert *mvert)
{ {
EdgeStackElem stack_elem; EdgeStackElem stack_elem;
float axis[3], angle; float axis[3], angle;
@@ -705,13 +715,14 @@ static void build_emats_stack(BLI_Stack *stack, BLI_bitmap *visited_e, EMat *ema
} }
} }
static EMat *build_edge_mats(const MVertSkin *vs, static EMat *build_edge_mats(
const MVert *mvert, const MVertSkin *vs,
int totvert, const MVert *mvert,
const MEdge *medge, int totvert,
const MeshElemMap *emap, const MEdge *medge,
int totedge, const MeshElemMap *emap,
bool *has_valid_root) int totedge,
bool *has_valid_root)
{ {
BLI_Stack *stack; BLI_Stack *stack;
EMat *emat; EMat *emat;
@@ -763,8 +774,9 @@ static EMat *build_edge_mats(const MVertSkin *vs,
* nodes, at least two intermediate frames are required. (This avoids * nodes, at least two intermediate frames are required. (This avoids
* having any special cases for dealing with sharing a frame between * having any special cases for dealing with sharing a frame between
* two hulls.) */ * two hulls.) */
static int calc_edge_subdivisions(const MVert *mvert, const MVertSkin *nodes, static int calc_edge_subdivisions(
const MEdge *e, const int *degree) const MVert *mvert, const MVertSkin *nodes,
const MEdge *e, const int *degree)
{ {
/* prevent memory errors [#38003] */ /* prevent memory errors [#38003] */
#define NUM_SUBDIVISIONS_MAX 128 #define NUM_SUBDIVISIONS_MAX 128
@@ -955,11 +967,12 @@ static DerivedMesh *subdivide_base(DerivedMesh *orig)
/******************************* Output *******************************/ /******************************* Output *******************************/
/* Can be either quad or triangle */ /* Can be either quad or triangle */
static void add_poly(SkinOutput *so, static void add_poly(
BMVert *v1, SkinOutput *so,
BMVert *v2, BMVert *v1,
BMVert *v3, BMVert *v2,
BMVert *v4) BMVert *v3,
BMVert *v4)
{ {
BMVert *verts[4] = {v1, v2, v3, v4}; BMVert *verts[4] = {v1, v2, v3, v4};
BMFace *f; BMFace *f;
@@ -1030,9 +1043,10 @@ static void connect_frames(
} }
} }
static void output_frames(BMesh *bm, static void output_frames(
SkinNode *sn, BMesh *bm,
const MDeformVert *input_dvert) SkinNode *sn,
const MDeformVert *input_dvert)
{ {
Frame *f; Frame *f;
int i, j; int i, j;

View File

@@ -101,9 +101,10 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md)
return dataMask; return dataMask;
} }
static DerivedMesh *applyModifier(ModifierData *md, Object *ob, static DerivedMesh *applyModifier(
DerivedMesh *dm, ModifierData *md, Object *ob,
ModifierApplyFlag flag) DerivedMesh *dm,
ModifierApplyFlag flag)
{ {
SmokeModifierData *smd = (SmokeModifierData *) md; SmokeModifierData *smd = (SmokeModifierData *) md;
@@ -159,8 +160,9 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
} }
} }
static void foreachIDLink(ModifierData *md, Object *ob, static void foreachIDLink(
IDWalkFunc walk, void *userData) ModifierData *md, Object *ob,
IDWalkFunc walk, void *userData)
{ {
SmokeModifierData *smd = (SmokeModifierData *) md; SmokeModifierData *smd = (SmokeModifierData *) md;

View File

@@ -206,8 +206,9 @@ static void smoothModifier_do(
MEM_freeN(uctmp); MEM_freeN(uctmp);
} }
static void deformVerts(ModifierData *md, Object *ob, DerivedMesh *derivedData, static void deformVerts(
float (*vertexCos)[3], int numVerts, ModifierApplyFlag UNUSED(flag)) ModifierData *md, Object *ob, DerivedMesh *derivedData,
float (*vertexCos)[3], int numVerts, ModifierApplyFlag UNUSED(flag))
{ {
DerivedMesh *dm = get_dm(ob, NULL, derivedData, NULL, false, false); DerivedMesh *dm = get_dm(ob, NULL, derivedData, NULL, false, false);

View File

@@ -48,11 +48,12 @@
#include "MOD_modifiertypes.h" #include "MOD_modifiertypes.h"
static void deformVerts(ModifierData *md, Object *ob, static void deformVerts(
DerivedMesh *UNUSED(derivedData), ModifierData *md, Object *ob,
float (*vertexCos)[3], DerivedMesh *UNUSED(derivedData),
int numVerts, float (*vertexCos)[3],
ModifierApplyFlag UNUSED(flag)) int numVerts,
ModifierApplyFlag UNUSED(flag))
{ {
sbObjectStep(md->scene, ob, (float)md->scene->r.cfra, vertexCos, numVerts); sbObjectStep(md->scene, ob, (float)md->scene->r.cfra, vertexCos, numVerts);
} }

View File

@@ -97,9 +97,10 @@ static bool isDisabled(ModifierData *md, int useRenderParams)
return get_render_subsurf_level(&md->scene->r, levels, useRenderParams != 0) == 0; return get_render_subsurf_level(&md->scene->r, levels, useRenderParams != 0) == 0;
} }
static DerivedMesh *applyModifier(ModifierData *md, Object *ob, static DerivedMesh *applyModifier(
DerivedMesh *derivedData, ModifierData *md, Object *ob,
ModifierApplyFlag flag) DerivedMesh *derivedData,
ModifierApplyFlag flag)
{ {
SubsurfModifierData *smd = (SubsurfModifierData *) md; SubsurfModifierData *smd = (SubsurfModifierData *) md;
SubsurfFlags subsurf_flags = 0; SubsurfFlags subsurf_flags = 0;
@@ -156,10 +157,11 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
return result; return result;
} }
static DerivedMesh *applyModifierEM(ModifierData *md, Object *UNUSED(ob), static DerivedMesh *applyModifierEM(
struct BMEditMesh *UNUSED(editData), ModifierData *md, Object *UNUSED(ob),
DerivedMesh *derivedData, struct BMEditMesh *UNUSED(editData),
ModifierApplyFlag flag) DerivedMesh *derivedData,
ModifierApplyFlag flag)
{ {
SubsurfModifierData *smd = (SubsurfModifierData *) md; SubsurfModifierData *smd = (SubsurfModifierData *) md;
DerivedMesh *result; DerivedMesh *result;

View File

@@ -82,11 +82,12 @@ static bool dependsOnTime(ModifierData *UNUSED(md))
return true; return true;
} }
static void deformVerts(ModifierData *md, Object *ob, static void deformVerts(
DerivedMesh *derivedData, ModifierData *md, Object *ob,
float (*vertexCos)[3], DerivedMesh *derivedData,
int UNUSED(numVerts), float (*vertexCos)[3],
ModifierApplyFlag UNUSED(flag)) int UNUSED(numVerts),
ModifierApplyFlag UNUSED(flag))
{ {
SurfaceModifierData *surmd = (SurfaceModifierData *) md; SurfaceModifierData *surmd = (SurfaceModifierData *) md;

View File

@@ -195,8 +195,9 @@ static void freeAdjacencyMap(SDefAdjacencyArray * const vert_edges, SDefAdjacenc
MEM_freeN(vert_edges); MEM_freeN(vert_edges);
} }
static int buildAdjacencyMap(const MPoly *poly, const MEdge *edge, const MLoop * const mloop, const unsigned int numpoly, const unsigned int numedges, static int buildAdjacencyMap(
SDefAdjacencyArray * const vert_edges, SDefAdjacency *adj, SDefEdgePolys * const edge_polys) const MPoly *poly, const MEdge *edge, const MLoop * const mloop, const unsigned int numpoly, const unsigned int numedges,
SDefAdjacencyArray * const vert_edges, SDefAdjacency *adj, SDefEdgePolys * const edge_polys)
{ {
const MLoop *loop; const MLoop *loop;
@@ -915,8 +916,9 @@ static void bindVert(
freeBindData(bwdata); freeBindData(bwdata);
} }
static bool surfacedeformBind(SurfaceDeformModifierData *smd, float (*vertexCos)[3], static bool surfacedeformBind(
unsigned int numverts, unsigned int tnumpoly, unsigned int tnumverts, DerivedMesh *tdm) SurfaceDeformModifierData *smd, float (*vertexCos)[3],
unsigned int numverts, unsigned int tnumpoly, unsigned int tnumverts, DerivedMesh *tdm)
{ {
BVHTreeFromMesh treeData = {NULL}; BVHTreeFromMesh treeData = {NULL};
const MVert *mvert = tdm->getVertArray(tdm); const MVert *mvert = tdm->getVertArray(tdm);
@@ -1186,18 +1188,20 @@ static void surfacedeformModifier_do(ModifierData *md, float (*vertexCos)[3], un
} }
} }
static void deformVerts(ModifierData *md, Object *ob, static void deformVerts(
DerivedMesh *UNUSED(derivedData), ModifierData *md, Object *ob,
float (*vertexCos)[3], int numVerts, DerivedMesh *UNUSED(derivedData),
ModifierApplyFlag UNUSED(flag)) float (*vertexCos)[3], int numVerts,
ModifierApplyFlag UNUSED(flag))
{ {
surfacedeformModifier_do(md, vertexCos, numVerts, ob); surfacedeformModifier_do(md, vertexCos, numVerts, ob);
} }
static void deformVertsEM(ModifierData *md, Object *ob, static void deformVertsEM(
struct BMEditMesh *UNUSED(editData), ModifierData *md, Object *ob,
DerivedMesh *UNUSED(derivedData), struct BMEditMesh *UNUSED(editData),
float (*vertexCos)[3], int numVerts) DerivedMesh *UNUSED(derivedData),
float (*vertexCos)[3], int numVerts)
{ {
surfacedeformModifier_do(md, vertexCos, numVerts, ob); surfacedeformModifier_do(md, vertexCos, numVerts, ob);
} }

View File

@@ -74,10 +74,11 @@ static void initData(ModifierData *md)
tmd->ngon_method = MOD_TRIANGULATE_NGON_BEAUTY; tmd->ngon_method = MOD_TRIANGULATE_NGON_BEAUTY;
} }
static DerivedMesh *applyModifier(ModifierData *md, static DerivedMesh *applyModifier(
Object *UNUSED(ob), ModifierData *md,
DerivedMesh *dm, Object *UNUSED(ob),
ModifierApplyFlag UNUSED(flag)) DerivedMesh *dm,
ModifierApplyFlag UNUSED(flag))
{ {
TriangulateModifierData *tmd = (TriangulateModifierData *)md; TriangulateModifierData *tmd = (TriangulateModifierData *)md;
DerivedMesh *result; DerivedMesh *result;

View File

@@ -65,10 +65,11 @@ void modifier_init_texture(const Scene *scene, Tex *tex)
} }
} }
void get_texture_coords(MappingInfoModifierData *dmd, Object *ob, void get_texture_coords(
DerivedMesh *dm, MappingInfoModifierData *dmd, Object *ob,
float (*co)[3], float (*texco)[3], DerivedMesh *dm,
int numVerts) float (*co)[3], float (*texco)[3],
int numVerts)
{ {
int i; int i;
int texmapping = dmd->texmapping; int texmapping = dmd->texmapping;
@@ -170,8 +171,9 @@ DerivedMesh *get_cddm(Object *ob, struct BMEditMesh *em, DerivedMesh *dm, float
} }
/* returns a derived mesh if dm == NULL, for deforming modifiers that need it */ /* returns a derived mesh if dm == NULL, for deforming modifiers that need it */
DerivedMesh *get_dm(Object *ob, struct BMEditMesh *em, DerivedMesh *dm, DerivedMesh *get_dm(
float (*vertexCos)[3], bool use_normals, bool use_orco) Object *ob, struct BMEditMesh *em, DerivedMesh *dm,
float (*vertexCos)[3], bool use_normals, bool use_orco)
{ {
if (dm) { if (dm) {
/* pass */ /* pass */

View File

@@ -41,15 +41,19 @@ struct Scene;
struct Tex; struct Tex;
void modifier_init_texture(const struct Scene *scene, struct Tex *texture); void modifier_init_texture(const struct Scene *scene, struct Tex *texture);
void get_texture_coords(struct MappingInfoModifierData *dmd, struct Object *ob, struct DerivedMesh *dm, void get_texture_coords(
float (*co)[3], float (*texco)[3], int numVerts); struct MappingInfoModifierData *dmd, struct Object *ob, struct DerivedMesh *dm,
float (*co)[3], float (*texco)[3], int numVerts);
void modifier_vgroup_cache(struct ModifierData *md, float (*vertexCos)[3]); void modifier_vgroup_cache(struct ModifierData *md, float (*vertexCos)[3]);
struct DerivedMesh *get_cddm(struct Object *ob, struct BMEditMesh *em, struct DerivedMesh *dm, struct DerivedMesh *get_cddm(
float (*vertexCos)[3], bool use_normals); struct Object *ob, struct BMEditMesh *em, struct DerivedMesh *dm,
struct DerivedMesh *get_dm(struct Object *ob, struct BMEditMesh *em, struct DerivedMesh *dm, float (*vertexCos)[3], bool use_normals);
float (*vertexCos)[3], bool use_normals, bool use_orco); struct DerivedMesh *get_dm(
struct Object *ob, struct BMEditMesh *em, struct DerivedMesh *dm,
float (*vertexCos)[3], bool use_normals, bool use_orco);
struct DerivedMesh *get_dm_for_modifier(struct Object *ob, ModifierApplyFlag flag); struct DerivedMesh *get_dm_for_modifier(struct Object *ob, ModifierApplyFlag flag);
void modifier_get_vgroup(struct Object *ob, struct DerivedMesh *dm, void modifier_get_vgroup(
const char *name, struct MDeformVert **dvert, int *defgrp_index); struct Object *ob, struct DerivedMesh *dm,
const char *name, struct MDeformVert **dvert, int *defgrp_index);
#endif /* __MOD_UTIL_H__ */ #endif /* __MOD_UTIL_H__ */

View File

@@ -77,8 +77,9 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *UNUSED(
return dataMask; return dataMask;
} }
static void foreachObjectLink(ModifierData *md, Object *ob, static void foreachObjectLink(
ObjectWalkFunc walk, void *userData) ModifierData *md, Object *ob,
ObjectWalkFunc walk, void *userData)
{ {
UVProjectModifierData *umd = (UVProjectModifierData *) md; UVProjectModifierData *umd = (UVProjectModifierData *) md;
int i; int i;
@@ -87,8 +88,9 @@ static void foreachObjectLink(ModifierData *md, Object *ob,
walk(userData, ob, &umd->projectors[i], IDWALK_CB_NOP); walk(userData, ob, &umd->projectors[i], IDWALK_CB_NOP);
} }
static void foreachIDLink(ModifierData *md, Object *ob, static void foreachIDLink(
IDWalkFunc walk, void *userData) ModifierData *md, Object *ob,
IDWalkFunc walk, void *userData)
{ {
UVProjectModifierData *umd = (UVProjectModifierData *) md; UVProjectModifierData *umd = (UVProjectModifierData *) md;
@@ -130,8 +132,9 @@ typedef struct Projector {
void *uci; /* optional uv-project info (panorama projection) */ void *uci; /* optional uv-project info (panorama projection) */
} Projector; } Projector;
static DerivedMesh *uvprojectModifier_do(UVProjectModifierData *umd, static DerivedMesh *uvprojectModifier_do(
Object *ob, DerivedMesh *dm) UVProjectModifierData *umd,
Object *ob, DerivedMesh *dm)
{ {
float (*coords)[3], (*co)[3]; float (*coords)[3], (*co)[3];
MLoopUV *mloop_uv; MLoopUV *mloop_uv;
@@ -335,9 +338,10 @@ static DerivedMesh *uvprojectModifier_do(UVProjectModifierData *umd,
return dm; return dm;
} }
static DerivedMesh *applyModifier(ModifierData *md, Object *ob, static DerivedMesh *applyModifier(
DerivedMesh *derivedData, ModifierData *md, Object *ob,
ModifierApplyFlag UNUSED(flag)) DerivedMesh *derivedData,
ModifierApplyFlag UNUSED(flag))
{ {
DerivedMesh *result; DerivedMesh *result;
UVProjectModifierData *umd = (UVProjectModifierData *) md; UVProjectModifierData *umd = (UVProjectModifierData *) md;

View File

@@ -45,8 +45,9 @@
#include "MOD_util.h" #include "MOD_util.h"
static void uv_warp_from_mat4_pair(float uv_dst[2], const float uv_src[2], float warp_mat[4][4], static void uv_warp_from_mat4_pair(
int axis_u, int axis_v) float uv_dst[2], const float uv_src[2], float warp_mat[4][4],
int axis_u, int axis_v)
{ {
float tuv[3] = {0.0f}; float tuv[3] = {0.0f};
@@ -139,9 +140,10 @@ static void uv_warp_compute(
} }
} }
static DerivedMesh *applyModifier(ModifierData *md, Object *ob, static DerivedMesh *applyModifier(
DerivedMesh *dm, ModifierData *md, Object *ob,
ModifierApplyFlag UNUSED(flag)) DerivedMesh *dm,
ModifierApplyFlag UNUSED(flag))
{ {
UVWarpModifierData *umd = (UVWarpModifierData *) md; UVWarpModifierData *umd = (UVWarpModifierData *) md;
int numPolys, numLoops; int numPolys, numLoops;
@@ -225,8 +227,9 @@ static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk,
walk(userData, ob, &umd->object_src, IDWALK_CB_NOP); walk(userData, ob, &umd->object_src, IDWALK_CB_NOP);
} }
static void uv_warp_deps_object_bone(DagForest *forest, DagNode *obNode, static void uv_warp_deps_object_bone(
Object *obj, const char *bonename) DagForest *forest, DagNode *obNode,
Object *obj, const char *bonename)
{ {
if (obj) { if (obj) {
DagNode *curNode = dag_get_node(forest, obj); DagNode *curNode = dag_get_node(forest, obj);
@@ -246,9 +249,10 @@ static void updateDepgraph(ModifierData *md, const ModifierUpdateDepsgraphContex
uv_warp_deps_object_bone(ctx->forest, ctx->obNode, umd->object_dst, umd->bone_dst); uv_warp_deps_object_bone(ctx->forest, ctx->obNode, umd->object_dst, umd->bone_dst);
} }
static void uv_warp_deps_object_bone_new(struct DepsNodeHandle *node, static void uv_warp_deps_object_bone_new(
Object *object, struct DepsNodeHandle *node,
const char *bonename) Object *object,
const char *bonename)
{ {
if (object != NULL) { if (object != NULL) {
if (bonename[0]) if (bonename[0])

View File

@@ -165,8 +165,9 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
} }
} }
static void warpModifier_do(WarpModifierData *wmd, Object *ob, static void warpModifier_do(
DerivedMesh *dm, float (*vertexCos)[3], int numVerts) WarpModifierData *wmd, Object *ob,
DerivedMesh *dm, float (*vertexCos)[3], int numVerts)
{ {
float obinv[4][4]; float obinv[4][4];
float mat_from[4][4]; float mat_from[4][4];
@@ -325,8 +326,9 @@ static int warp_needs_dm(WarpModifierData *wmd)
return wmd->texture || wmd->defgrp_name[0]; return wmd->texture || wmd->defgrp_name[0];
} }
static void deformVerts(ModifierData *md, Object *ob, DerivedMesh *derivedData, static void deformVerts(
float (*vertexCos)[3], int numVerts, ModifierApplyFlag UNUSED(flag)) ModifierData *md, Object *ob, DerivedMesh *derivedData,
float (*vertexCos)[3], int numVerts, ModifierApplyFlag UNUSED(flag))
{ {
DerivedMesh *dm = NULL; DerivedMesh *dm = NULL;
int use_dm = warp_needs_dm((WarpModifierData *)md); int use_dm = warp_needs_dm((WarpModifierData *)md);
@@ -342,8 +344,9 @@ static void deformVerts(ModifierData *md, Object *ob, DerivedMesh *derivedData,
} }
} }
static void deformVertsEM(ModifierData *md, Object *ob, struct BMEditMesh *em, static void deformVertsEM(
DerivedMesh *derivedData, float (*vertexCos)[3], int numVerts) ModifierData *md, Object *ob, struct BMEditMesh *em,
DerivedMesh *derivedData, float (*vertexCos)[3], int numVerts)
{ {
DerivedMesh *dm = derivedData; DerivedMesh *dm = derivedData;
int use_dm = warp_needs_dm((WarpModifierData *)md); int use_dm = warp_needs_dm((WarpModifierData *)md);

View File

@@ -93,8 +93,9 @@ static void foreachObjectLink(
walk(userData, ob, &wmd->map_object, IDWALK_CB_NOP); walk(userData, ob, &wmd->map_object, IDWALK_CB_NOP);
} }
static void foreachIDLink(ModifierData *md, Object *ob, static void foreachIDLink(
IDWalkFunc walk, void *userData) ModifierData *md, Object *ob,
IDWalkFunc walk, void *userData)
{ {
WaveModifierData *wmd = (WaveModifierData *) md; WaveModifierData *wmd = (WaveModifierData *) md;
@@ -103,8 +104,9 @@ static void foreachIDLink(ModifierData *md, Object *ob,
foreachObjectLink(md, ob, (ObjectWalkFunc)walk, userData); foreachObjectLink(md, ob, (ObjectWalkFunc)walk, userData);
} }
static void foreachTexLink(ModifierData *md, Object *ob, static void foreachTexLink(
TexWalkFunc walk, void *userData) ModifierData *md, Object *ob,
TexWalkFunc walk, void *userData)
{ {
walk(userData, ob, md, "texture"); walk(userData, ob, md, "texture");
} }
@@ -156,9 +158,10 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md)
return dataMask; return dataMask;
} }
static void waveModifier_do(WaveModifierData *md, static void waveModifier_do(
Scene *scene, Object *ob, DerivedMesh *dm, WaveModifierData *md,
float (*vertexCos)[3], int numVerts) Scene *scene, Object *ob, DerivedMesh *dm,
float (*vertexCos)[3], int numVerts)
{ {
WaveModifierData *wmd = (WaveModifierData *) md; WaveModifierData *wmd = (WaveModifierData *) md;
MVert *mvert = NULL; MVert *mvert = NULL;
@@ -309,11 +312,12 @@ static void waveModifier_do(WaveModifierData *md,
if (wmd->texture) MEM_freeN(tex_co); if (wmd->texture) MEM_freeN(tex_co);
} }
static void deformVerts(ModifierData *md, Object *ob, static void deformVerts(
DerivedMesh *derivedData, ModifierData *md, Object *ob,
float (*vertexCos)[3], DerivedMesh *derivedData,
int numVerts, float (*vertexCos)[3],
ModifierApplyFlag UNUSED(flag)) int numVerts,
ModifierApplyFlag UNUSED(flag))
{ {
DerivedMesh *dm = derivedData; DerivedMesh *dm = derivedData;
WaveModifierData *wmd = (WaveModifierData *)md; WaveModifierData *wmd = (WaveModifierData *)md;

View File

@@ -114,10 +114,11 @@ void weightvg_do_map(int num, float *new_w, short falloff_type, CurveMapping *cm
* vertex index (in case the weight tables do not cover the whole vertices...). * vertex index (in case the weight tables do not cover the whole vertices...).
* XXX The standard "factor" value is assumed in [0.0, 1.0] range. Else, weird results might appear. * XXX The standard "factor" value is assumed in [0.0, 1.0] range. Else, weird results might appear.
*/ */
void weightvg_do_mask(int num, const int *indices, float *org_w, const float *new_w, void weightvg_do_mask(
Object *ob, DerivedMesh *dm, float fact, const char defgrp_name[MAX_VGROUP_NAME], int num, const int *indices, float *org_w, const float *new_w,
Scene *scene, Tex *texture, int tex_use_channel, int tex_mapping, Object *ob, DerivedMesh *dm, float fact, const char defgrp_name[MAX_VGROUP_NAME],
Object *tex_map_object, const char *tex_uvlayer_name) Scene *scene, Tex *texture, int tex_use_channel, int tex_mapping,
Object *tex_map_object, const char *tex_uvlayer_name)
{ {
int ref_didx; int ref_didx;
int i; int i;
@@ -238,9 +239,10 @@ void weightvg_do_mask(int num, const int *indices, float *org_w, const float *ne
* If indices is not NULL, it must be an array of same length as weights, mapping to the real * If indices is not NULL, it must be an array of same length as weights, mapping to the real
* vertex index (in case the weight array does not cover the whole vertices...). * vertex index (in case the weight array does not cover the whole vertices...).
*/ */
void weightvg_update_vg(MDeformVert *dvert, int defgrp_idx, MDeformWeight **dws, int num, void weightvg_update_vg(
const int *indices, const float *weights, const bool do_add, MDeformVert *dvert, int defgrp_idx, MDeformWeight **dws, int num,
const float add_thresh, const bool do_rem, const float rem_thresh) const int *indices, const float *weights, const bool do_add,
const float add_thresh, const bool do_rem, const float rem_thresh)
{ {
int i; int i;

View File

@@ -70,17 +70,19 @@ void weightvg_do_map(int num, float *new_w, short mode, struct CurveMapping *cma
* vertex index (in case the weight tables do not cover the whole vertices...). * vertex index (in case the weight tables do not cover the whole vertices...).
* XXX The standard "factor" value is assumed in [0.0, 1.0] range. Else, weird results might appear. * XXX The standard "factor" value is assumed in [0.0, 1.0] range. Else, weird results might appear.
*/ */
void weightvg_do_mask(int num, const int *indices, float *org_w, const float *new_w, Object *ob, void weightvg_do_mask(
DerivedMesh *dm, float fact, const char defgrp_name[MAX_VGROUP_NAME], int num, const int *indices, float *org_w, const float *new_w, Object *ob,
struct Scene *scene, Tex *texture, int tex_use_channel, int tex_mapping, DerivedMesh *dm, float fact, const char defgrp_name[MAX_VGROUP_NAME],
Object *tex_map_object, const char *tex_uvlayer_name); struct Scene *scene, Tex *texture, int tex_use_channel, int tex_mapping,
Object *tex_map_object, const char *tex_uvlayer_name);
/* Applies weights to given vgroup (defgroup), and optionally add/remove vertices from the group. /* Applies weights to given vgroup (defgroup), and optionally add/remove vertices from the group.
* If indices is not NULL, it must be a table of same length as weights, mapping to the real * If indices is not NULL, it must be a table of same length as weights, mapping to the real
* vertex index (in case the weight table does not cover the whole vertices...). * vertex index (in case the weight table does not cover the whole vertices...).
*/ */
void weightvg_update_vg(MDeformVert *dvert, int defgrp_idx, MDeformWeight **dws, int num, void weightvg_update_vg(
const int *indices, const float *weights, const bool do_add, MDeformVert *dvert, int defgrp_idx, MDeformWeight **dws, int num,
const float add_thresh, const bool do_rem, const float rem_thresh); const int *indices, const float *weights, const bool do_add,
const float add_thresh, const bool do_rem, const float rem_thresh);
#endif /* __MOD_WEIGHTVG_UTIL_H__ */ #endif /* __MOD_WEIGHTVG_UTIL_H__ */

View File

@@ -172,8 +172,9 @@ static bool isDisabled(ModifierData *md, int UNUSED(useRenderParams))
return (wmd->defgrp_name[0] == '\0'); return (wmd->defgrp_name[0] == '\0');
} }
static DerivedMesh *applyModifier(ModifierData *md, Object *ob, DerivedMesh *derivedData, static DerivedMesh *applyModifier(
ModifierApplyFlag UNUSED(flag)) ModifierData *md, Object *ob, DerivedMesh *derivedData,
ModifierApplyFlag UNUSED(flag))
{ {
WeightVGEditModifierData *wmd = (WeightVGEditModifierData *) md; WeightVGEditModifierData *wmd = (WeightVGEditModifierData *) md;
DerivedMesh *dm = derivedData; DerivedMesh *dm = derivedData;

View File

@@ -209,8 +209,9 @@ static bool isDisabled(ModifierData *md, int UNUSED(useRenderParams))
return (wmd->defgrp_name_a[0] == '\0'); return (wmd->defgrp_name_a[0] == '\0');
} }
static DerivedMesh *applyModifier(ModifierData *md, Object *ob, DerivedMesh *derivedData, static DerivedMesh *applyModifier(
ModifierApplyFlag UNUSED(flag)) ModifierData *md, Object *ob, DerivedMesh *derivedData,
ModifierApplyFlag UNUSED(flag))
{ {
WeightVGMixModifierData *wmd = (WeightVGMixModifierData *) md; WeightVGMixModifierData *wmd = (WeightVGMixModifierData *) md;
DerivedMesh *dm = derivedData; DerivedMesh *dm = derivedData;

View File

@@ -136,9 +136,10 @@ static void vert2geom_task_cb_ex(
/** /**
* Find nearest vertex and/or edge and/or face, for each vertex (adapted from shrinkwrap.c). * Find nearest vertex and/or edge and/or face, for each vertex (adapted from shrinkwrap.c).
*/ */
static void get_vert2geom_distance(int numVerts, float (*v_cos)[3], static void get_vert2geom_distance(
float *dist_v, float *dist_e, float *dist_f, int numVerts, float (*v_cos)[3],
DerivedMesh *target, const SpaceTransform *loc2trgt) float *dist_v, float *dist_e, float *dist_f,
DerivedMesh *target, const SpaceTransform *loc2trgt)
{ {
Vert2GeomData data = {0}; Vert2GeomData data = {0};
Vert2GeomDataChunk data_chunk = {{{0}}}; Vert2GeomDataChunk data_chunk = {{{0}}};
@@ -204,8 +205,9 @@ static void get_vert2geom_distance(int numVerts, float (*v_cos)[3],
* Returns the real distance between a vertex and another reference object. * Returns the real distance between a vertex and another reference object.
* Note that it works in final world space (i.e. with constraints etc. applied). * Note that it works in final world space (i.e. with constraints etc. applied).
*/ */
static void get_vert2ob_distance(int numVerts, float (*v_cos)[3], float *dist, static void get_vert2ob_distance(
Object *ob, Object *obr) int numVerts, float (*v_cos)[3], float *dist,
Object *ob, Object *obr)
{ {
/* Vertex and ref object coordinates. */ /* Vertex and ref object coordinates. */
float v_wco[3]; float v_wco[3];
@@ -382,8 +384,9 @@ static bool isDisabled(ModifierData *md, int UNUSED(useRenderParams))
return (wmd->proximity_ob_target == NULL); return (wmd->proximity_ob_target == NULL);
} }
static DerivedMesh *applyModifier(ModifierData *md, Object *ob, DerivedMesh *derivedData, static DerivedMesh *applyModifier(
ModifierApplyFlag UNUSED(flag)) ModifierData *md, Object *ob, DerivedMesh *derivedData,
ModifierApplyFlag UNUSED(flag))
{ {
WeightVGProximityModifierData *wmd = (WeightVGProximityModifierData *) md; WeightVGProximityModifierData *wmd = (WeightVGProximityModifierData *) md;
DerivedMesh *dm = derivedData; DerivedMesh *dm = derivedData;