filtres
Class TFiltreLineaire

java.lang.Object
  extended by filtres.TFiltreLineaire
All Implemented Interfaces:
IFonction, IFiltre, java.io.Serializable, java.util.EventListener, javax.swing.event.ChangeListener

public class TFiltreLineaire
extends java.lang.Object
implements IFiltre, javax.swing.event.ChangeListener

Implante un filtre linéaire par morceaux.

Version:
1.20, 07/03/2003
Author:
Laurent JEANPIERRE
See Also:
Serialized Form

Constructor Summary
TFiltreLineaire()
          Prépare un filtre linéaire avec des valeurs par défaut Le filtre est [-1;0;+1]
TFiltreLineaire(java.util.Collection data)
           
TFiltreLineaire(double[] points)
          Prépare un filtre flou linéaire.
 
Method Summary
 java.lang.String description(int no)
          Retourne la description de l'une des valeurs de sortie.
 double[] domaine(int no)
          Renvoie le domaine de validité d'un paramètre.
 java.lang.String generateCode(java.lang.String entete, java.lang.String nom)
          Renvoie le code nécessaire à l'instanciation de ce filtre.
 javax.swing.JPanel getBuildingPanel()
          Renvoie le panneau de règlage du filtre.
 double getMax()
          Renvoie le domaine de vailidté du filtre.
 double getMin()
          Renvoie le domaine de vailidté du filtre.
 int getNoParametre(double val)
          Renvoie le paramètre du filtre le plus proche d'une valeur donnée.
 Temoin getTemoin()
          Permet à un objet d'écouter les modifications des paramètres du filtre.
 int nbParametres()
          Renvoie le nombre de paramètres de la fonction.
 int nbValeurs()
          Le nombre maximal d'observations données par le filtre.
 double parametre(int no)
          Renvoie la valeur d'un paramètre.
 void printDescriptif(java.io.Writer flux, int no)
          Décrit un paramètre.
 void regleParametre(int no, double valeur)
          Règle un paramètre.
 double[] resultat(double donnee, double qualite)
          Passe un filtre sur la donée.
 double resultat(double donnee, double qualite, int valeur)
          Passe un filtre sur la donée.
 DoubleQualite[] resultat(DoubleQualite donnee)
          Passe un filtre sur la donée.
 DoubleQualite resultat(DoubleQualite donnee, int valeur)
          Passe un filtre sur la donée.
 void sauvegarde_donnees(java.io.Writer fic)
          Sauvegarde les données du flux dans fic.
 void setMinMax(double min, double max)
          R`gle le domaine de vailidté du filtre.
 void setReglage()
          Empêche la fonction de faire des calculs à chaque règlage de paramètre.
 void stateChanged(javax.swing.event.ChangeEvent e)
           
 IFiltre twin()
          Crée un clone du filtre courant.
 void unsetReglage()
          Pré la fonction en faisant les calculs nécessaires à la finalisation des règlages des paramètres.
 double valeur()
          Renvoie la valeur actuelle de la fonction.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TFiltreLineaire

public TFiltreLineaire(java.util.Collection data)

TFiltreLineaire

public TFiltreLineaire(double[] points)
Prépare un filtre flou linéaire.

Parameters:
points - un tableau de nombres donnant le centre des différentes tranches du filtre

TFiltreLineaire

public TFiltreLineaire()
Prépare un filtre linéaire avec des valeurs par défaut Le filtre est [-1;0;+1]

Method Detail

getTemoin

public Temoin getTemoin()
Description copied from interface: IFiltre
Permet à un objet d'écouter les modifications des paramètres du filtre.

Specified by:
getTemoin in interface IFiltre

sauvegarde_donnees

public void sauvegarde_donnees(java.io.Writer fic)
                        throws java.io.IOException
Sauvegarde les données du flux dans fic. La sauvegarde est faite en ASCII.

Specified by:
sauvegarde_donnees in interface IFiltre
Parameters:
fic - le Writer dans lequel il faut écrire.
Throws:
java.io.IOException

nbValeurs

public int nbValeurs()
Le nombre maximal d'observations données par le filtre.

Specified by:
nbValeurs in interface IFiltre

resultat

public double resultat(double donnee,
                       double qualite,
                       int valeur)
                throws java.lang.IllegalArgumentException
Passe un filtre sur la donée.

Specified by:
resultat in interface IFiltre
Parameters:
donnee - la valeur à filtrer
qualite - la qualité de la valeur
valeur - le type du filtre à utiliser
Returns:
la valeur filtrée
Throws:
java.lang.IllegalArgumentException - si qualite n'est pas entre 0 et 1
java.lang.IllegalArgumentException - si valeur n'est pas entre 1 et max_valeurs

resultat

public DoubleQualite resultat(DoubleQualite donnee,
                              int valeur)
                       throws java.lang.IllegalArgumentException
Passe un filtre sur la donée.

Specified by:
resultat in interface IFiltre
Parameters:
donnee - la donnée à filtrer
valeur - le type du filtre à utiliser
Returns:
la valeur filtrée
Throws:
java.lang.IllegalArgumentException - si valeur n'est pas entre 1 et max_valeurs

resultat

public double[] resultat(double donnee,
                         double qualite)
                  throws java.lang.IllegalArgumentException
Passe un filtre sur la donée.

Specified by:
resultat in interface IFiltre
Parameters:
donnee - la valeur à filtrer
qualite - la qualité de la valeur
Returns:
un tableau contenant les différentes valeurs issues du filtre
Throws:
java.lang.IllegalArgumentException - si qualite n'est pas entre 0 et 1

resultat

public DoubleQualite[] resultat(DoubleQualite donnee)
                         throws java.lang.IllegalArgumentException
Passe un filtre sur la donée.

Specified by:
resultat in interface IFiltre
Parameters:
donnee - la donnée à filtrer
Returns:
un tableau contenant les différentes valeurs issues du filtre
Throws:
java.lang.IllegalArgumentException

getBuildingPanel

public javax.swing.JPanel getBuildingPanel()
Renvoie le panneau de règlage du filtre.

Specified by:
getBuildingPanel in interface IFiltre
Returns:
null si aucun panneau de règlage n'est disponible

stateChanged

public void stateChanged(javax.swing.event.ChangeEvent e)
Specified by:
stateChanged in interface javax.swing.event.ChangeListener

generateCode

public java.lang.String generateCode(java.lang.String entete,
                                     java.lang.String nom)
Renvoie le code nécessaire à l'instanciation de ce filtre.

Specified by:
generateCode in interface IFiltre
Parameters:
entete - un String à placer en début de chaque ligne.
nom - un String contenant le nom de la variable à instancier.
Returns:
un String contenant la suite de commandes nécessaires pour créer ce filtre. Les différentes lignes sont séparées par des '\\n'.

description

public java.lang.String description(int no)
Retourne la description de l'une des valeurs de sortie.

Specified by:
description in interface IFiltre
Parameters:
no - un entier contenant le numéro de la valeurs à interroger.

twin

public IFiltre twin()
Crée un clone du filtre courant. Toutes les caractèristiques seront recopiées.

Specified by:
twin in interface IFiltre

valeur

public double valeur()
Renvoie la valeur actuelle de la fonction.

Specified by:
valeur in interface IFonction
Returns:
un double contenant le résultat de la fonction avec les paramètres actuels.

nbParametres

public int nbParametres()
Renvoie le nombre de paramètres de la fonction.

Specified by:
nbParametres in interface IFonction
Returns:
un int contenant le le nombre de paramètres de la fonction.

domaine

public double[] domaine(int no)
                 throws java.lang.IllegalArgumentException
Renvoie le domaine de validité d'un paramètre.

Specified by:
domaine in interface IFonction
Parameters:
no - le numéro du paramètre à interroger.
Returns:
un double[2] contenant respectivement la borne inférieure et supérieure de l'intervalle de validité du paramètre numéro no.
Throws:
java.lang.IllegalArgumentException - si no n'est pas entre 0 et nbParametres().

regleParametre

public void regleParametre(int no,
                           double valeur)
                    throws java.lang.IllegalArgumentException
Règle un paramètre.

Specified by:
regleParametre in interface IFonction
Parameters:
no - le numéro du paramètre à règler.
valeur - la valeur du paramètre.
Throws:
java.lang.IllegalArgumentException - si no n'est pas entre 0 et nbParametres().
java.lang.IllegalArgumentException - si valeur n'est pas dans le domaine de validité du paramètre.

parametre

public double parametre(int no)
                 throws java.lang.IllegalArgumentException
Renvoie la valeur d'un paramètre.

Specified by:
parametre in interface IFonction
Parameters:
no - le numéro du paramètre à interroger.
Returns:
la valeur du paramètre.
Throws:
java.lang.IllegalArgumentException - si no n'est pas entre 0 et nbParametres().

setMinMax

public void setMinMax(double min,
                      double max)
R`gle le domaine de vailidté du filtre.

Specified by:
setMinMax in interface IFiltre
Parameters:
min - la borne inférieure du domaine.
max - la borne supérieure du domaine.

getMin

public double getMin()
Renvoie le domaine de vailidté du filtre.

Specified by:
getMin in interface IFiltre
Returns:
la borne inférieure du domaine.

getMax

public double getMax()
Renvoie le domaine de vailidté du filtre.

Specified by:
getMax in interface IFiltre
Returns:
la borne supérieure du domaine.

printDescriptif

public void printDescriptif(java.io.Writer flux,
                            int no)
                     throws java.lang.IllegalArgumentException,
                            java.io.IOException
Décrit un paramètre.

Specified by:
printDescriptif in interface IFonction
Parameters:
flux - le flux où envoyer la description.
no - le numéro du paramètre à interroger.
Throws:
java.lang.IllegalArgumentException - si no n'est pas entre 0 et nbParametres().
java.io.IOException

setReglage

public void setReglage()
Empêche la fonction de faire des calculs à chaque règlage de paramètre.

Specified by:
setReglage in interface IFonction

unsetReglage

public void unsetReglage()
Pré la fonction en faisant les calculs nécessaires à la finalisation des règlages des paramètres.

Specified by:
unsetReglage in interface IFonction

getNoParametre

public int getNoParametre(double val)
Renvoie le paramètre du filtre le plus proche d'une valeur donnée.

Specified by:
getNoParametre in interface IFiltre
Parameters:
val - la valeur considéée.
Returns:
le numéro du paramètre.