001    /*
002     * HermiteFilter
003     * 
004     * Copyright (c) 2002 Marco Schmidt.
005     * All rights reserved.
006     */
007    
008    package net.sourceforge.jiu.geometry;
009    
010    /**
011     * A Hermite resampling filter.
012     * @author Marco Schmidt
013     * @since 0.10.0
014     * @see Resample
015     * @see ResampleFilter
016     */
017    public class HermiteFilter extends ResampleFilter
018    {
019            public float apply(float value)
020            {
021                    if (value < 0.0f)
022                    {
023                            value = - value;
024                    }
025                    if (value < 1.0f)
026                    {
027                            return (2.0f * value - 3.0f) * value * value + 1.0f;
028                    }
029                    else
030                    {
031                            return 0.0f;
032                    }
033            }
034    
035            public String getName()
036            {
037                    return "Hermite";
038            }
039    
040            public float getRecommendedSamplingRadius()
041            {
042                    return 1.0f;
043            }
044    }