Changeset View
Changeset View
Standalone View
Standalone View
source/blender/modifiers/intern/MOD_smoke.c
| Show First 20 Lines • Show All 69 Lines • ▼ Show 20 Lines | |||||
| static void freeData(ModifierData *md) | static void freeData(ModifierData *md) | ||||
| { | { | ||||
| SmokeModifierData *smd = (SmokeModifierData *) md; | SmokeModifierData *smd = (SmokeModifierData *) md; | ||||
| smokeModifier_free(smd); | smokeModifier_free(smd); | ||||
| } | } | ||||
| static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) | static void requiredDataMask(Object *UNUSED(ob), ModifierData *md, CustomData_MeshMasks *r_cddata_masks) | ||||
| { | { | ||||
| SmokeModifierData *smd = (SmokeModifierData *)md; | SmokeModifierData *smd = (SmokeModifierData *)md; | ||||
| CustomDataMask dataMask = 0; | |||||
| if (smd && (smd->type & MOD_SMOKE_TYPE_FLOW) && smd->flow) { | if (smd && (smd->type & MOD_SMOKE_TYPE_FLOW) && smd->flow) { | ||||
| if (smd->flow->source == MOD_SMOKE_FLOW_SOURCE_MESH) { | if (smd->flow->source == MOD_SMOKE_FLOW_SOURCE_MESH) { | ||||
| /* vertex groups */ | /* vertex groups */ | ||||
| if (smd->flow->vgroup_density) | if (smd->flow->vgroup_density) | ||||
| dataMask |= CD_MASK_MDEFORMVERT; | r_cddata_masks->vmask |= CD_MASK_MDEFORMVERT; | ||||
| /* uv layer */ | /* uv layer */ | ||||
| if (smd->flow->texture_type == MOD_SMOKE_FLOW_TEXTURE_MAP_UV) | if (smd->flow->texture_type == MOD_SMOKE_FLOW_TEXTURE_MAP_UV) | ||||
| dataMask |= CD_MASK_MTFACE; | r_cddata_masks->fmask |= CD_MASK_MTFACE; | ||||
| } | } | ||||
| } | } | ||||
| return dataMask; | |||||
| } | } | ||||
| static Mesh *applyModifier( | static Mesh *applyModifier( | ||||
| ModifierData *md, const ModifierEvalContext *ctx, | ModifierData *md, const ModifierEvalContext *ctx, | ||||
| Mesh *me) | Mesh *me) | ||||
| { | { | ||||
| SmokeModifierData *smd = (SmokeModifierData *) md; | SmokeModifierData *smd = (SmokeModifierData *) md; | ||||
| ▲ Show 20 Lines • Show All 91 Lines • Show Last 20 Lines | |||||