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 }