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:
authorBastien Montagne <montagne29@wanadoo.fr>2012-05-09 19:00:26 +0400
committerBastien Montagne <montagne29@wanadoo.fr>2012-05-09 19:00:26 +0400
commit318b44fe5d142ca1ac29a6933da8cd9e2c439e9a (patch)
tree5dd43e6332ba8005a5ae29126a8ad37c6147fd48 /source/blender/blenkernel/BKE_modifier.h
parent895e426e2661b4969a9aaa6d1c526253e2e9e1d4 (diff)
Refactor of modifiers' apply function: now use a single bit-flag parameter to pass options, instead of having one parameter per boolean flag (i.e. replaces current useRenderParams and isFinalCalc by a single ModifierApplyFlag flag. ModifierApplyFlag is an enum defined in BKE_modifier.h). This way we won't anymore have to edit all modifier files when e.g. adding a new control flag!
Should have no effect over modifier behavior.
Diffstat (limited to 'source/blender/blenkernel/BKE_modifier.h')
-rw-r--r--source/blender/blenkernel/BKE_modifier.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/source/blender/blenkernel/BKE_modifier.h b/source/blender/blenkernel/BKE_modifier.h
index b4320b7025a..db57d411f31 100644
--- a/source/blender/blenkernel/BKE_modifier.h
+++ b/source/blender/blenkernel/BKE_modifier.h
@@ -109,6 +109,12 @@ typedef void (*ObjectWalkFunc)(void *userData, struct Object *ob, struct Object
typedef void (*IDWalkFunc)(void *userData, struct Object *ob, struct ID **idpoin);
typedef void (*TexWalkFunc)(void *userData, struct Object *ob, struct ModifierData *md, const char *propname);
+typedef enum ModifierApplyFlag {
+ MOD_APPLY_RENDER = 1 << 0, /* Render time. */
+ MOD_APPLY_USECACHE = 1 << 1, /* Last modifier in stack. */
+} ModifierApplyFlag;
+
+
typedef struct ModifierTypeInfo {
/* The user visible name for this modifier */
char name[32];
@@ -142,7 +148,7 @@ typedef struct ModifierTypeInfo {
void (*deformVerts)(struct ModifierData *md, struct Object *ob,
struct DerivedMesh *derivedData,
float (*vertexCos)[3], int numVerts,
- int useRenderParams, int isFinalCalc);
+ ModifierApplyFlag flag);
/* Like deformMatricesEM but called from object mode (for supporting modifiers in sculpt mode) */
void (*deformMatrices)(
@@ -187,7 +193,7 @@ typedef struct ModifierTypeInfo {
struct DerivedMesh *(*applyModifier)(
struct ModifierData *md, struct Object *ob,
struct DerivedMesh *derivedData,
- int useRenderParams, int isFinalCalc);
+ ModifierApplyFlag flag);
/* Like applyModifier but called during editmode (for supporting
* modifiers).