Changeset View
Changeset View
Standalone View
Standalone View
source/blender/blenkernel/intern/fmodifier.c
| Show First 20 Lines • Show All 1,413 Lines • ▼ Show 20 Lines | if (fcm->flag & FMODIFIER_FLAG_USEINFLUENCE) { | ||||
| influence = fcm->influence; | influence = fcm->influence; | ||||
| } | } | ||||
| else { | else { | ||||
| influence = 1.0f; | influence = 1.0f; | ||||
| } | } | ||||
| /* restricted range or full range? */ | /* restricted range or full range? */ | ||||
| if (fcm->flag & FMODIFIER_FLAG_RANGERESTRICT) { | if (fcm->flag & FMODIFIER_FLAG_RANGERESTRICT) { | ||||
| if ((evaltime <= fcm->sfra) || (evaltime >= fcm->efra)) { | if ((evaltime < fcm->sfra) || (evaltime > fcm->efra)) { | ||||
| /* out of range */ | /* out of range */ | ||||
| return 0.0f; | return 0.0f; | ||||
| } | } | ||||
| if ((evaltime > fcm->sfra) && (evaltime < fcm->sfra + fcm->blendin)) { | if ((fcm->blendin != 0.0f) && (evaltime >= fcm->sfra) && | ||||
| (evaltime <= fcm->sfra + fcm->blendin)) { | |||||
| /* blend in range */ | /* blend in range */ | ||||
| float a = fcm->sfra; | float a = fcm->sfra; | ||||
| float b = fcm->sfra + fcm->blendin; | float b = fcm->sfra + fcm->blendin; | ||||
| return influence * (evaltime - a) / (b - a); | return influence * (evaltime - a) / (b - a); | ||||
| } | } | ||||
| if ((evaltime < fcm->efra) && (evaltime > fcm->efra - fcm->blendout)) { | if ((fcm->blendout != 0.0f) && (evaltime <= fcm->efra) && | ||||
| (evaltime >= fcm->efra - fcm->blendout)) { | |||||
| /* blend out range */ | /* blend out range */ | ||||
| float a = fcm->efra; | float a = fcm->efra; | ||||
| float b = fcm->efra - fcm->blendout; | float b = fcm->efra - fcm->blendout; | ||||
| return influence * (evaltime - a) / (b - a); | return influence * (evaltime - a) / (b - a); | ||||
| } | } | ||||
| } | } | ||||
| /* just return the influence of the modifier */ | /* just return the influence of the modifier */ | ||||
| ▲ Show 20 Lines • Show All 155 Lines • Show Last 20 Lines | |||||