Exemple #1
0
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));
}
Exemple #2
0
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));
}