static DBL Do_Slope_Map (DBL value, const SlopeBlendMap *Blend_Map) { DBL prevWeight, curWeight; const SlopeBlendMapEntry *Prev, *Cur; if (Blend_Map == NULL) { return(value); } Blend_Map->Search (value, Prev, Cur, prevWeight, curWeight); if (Prev == Cur) { return(Cur->Vals[0]); } return(Hermite_Cubic(curWeight, Prev->Vals, Cur->Vals)); }
static DBL Do_Slope_Map (DBL value, const BLEND_MAP *Blend_Map) { DBL Result; BLEND_MAP_ENTRY *Prev, *Cur; if (Blend_Map == NULL) { return(value); } Search_Blend_Map (value,Blend_Map,&Prev,&Cur); if (Prev == Cur) { return(Cur->Vals.Point_Slope[0]); } Result = (value-Prev->value)/(Cur->value-Prev->value); return(Hermite_Cubic(Result, Prev->Vals.Point_Slope, Cur->Vals.Point_Slope)); }