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