org.cresques.io.raster
Class RasterFilterStack

java.lang.Object
  extended byorg.cresques.io.raster.RasterFilterStack

public class RasterFilterStack
extends java.lang.Object

Esta clase representa la pila de filtros que debe ser manejada desde el RasterFilterStackManager.

Author:
Nacho Brodin (brodin_ign@gva.es)

Constructor Summary
RasterFilterStack(RasterStats stats)
          Constructor
 
Method Summary
 void addFilter(int type, RasterFilter filter)
          Añade un filtro a la pila
 void clear()
          Elimina todos los filtros de la pila
 void deleteTempFilters()
          Elimina los filtros temporales, es decir, todos los filtros introducidos desde el último resetTempFilters que se ha realizado.
 void execute(java.awt.Image image)
          Aplica los filtros sobre un Image
 void execute(RasterBuf rasterBuf)
          Aplica los filtros sobre un RasterBuf
 RasterFilter get(int i)
          Obtiene el filtro apilado de la posición i
 int getDataTypeInFilter(int type)
          Dado un tipo de filtro calcula a partir de la pila en que posición está situado y obtiene el tipo de dato de la salida anterior.
 int getInitDataType()
          Devuelve el tipo de datos inicial de la pila
 int getOutDataType()
          Devuelve el tipo de dato de retorno al aplicar la pila de filtros
 java.lang.Object getResult()
          Devuelve el raster o image resultado de la aplicacion de la pila de filtros
 RasterStats getStats()
          Obtiene el objeto RasterStats
 int getType(int i)
          Obtiene el tipo del filtro de la pila de la posición i
 boolean isActive(int type)
          Método que devuelve true si el tipo de filtro pasado por parámetro está en la pila y false si no lo está.
 boolean isActive(RasterFilter filter)
          Método que devuelve true si el tipo de filtro pasado por parámetro está en la pila y false si no lo está.
 int lenght()
          Obtiene la cantidad de filtros en la pila
 void removeFilter()
          Elimina el último filtro de la pila
 void removeFilter(int type)
          Elimina los filtros de la pila de un determinado tipo
 void removeFilter(RasterFilter filter)
          Elimina un filtro concreto de la pila
 void replace(RasterFilter filter, int i, int type)
          Sustituye un filtro de una posición de la pila por otro
 void resetTempFilters()
          Resetea el flag de temporalidad de los filtros de la pila.
 void setDataTypeInFilter(int type)
          Asigna el tipo filtro
 void setInitRasterBuf(java.lang.Object raster)
          Asigna el raster de entrada inicial
 void setOrder(int[] order)
          Asigna el vector para la ordenación por tipos
 void show()
          Muestra el contenido de la pila de filtros para depuración
 void sort()
          Ordena los filtros en el orden establecido por el Manager
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RasterFilterStack

public RasterFilterStack(RasterStats stats)
Constructor

Parameters:
stats -
Method Detail

resetTempFilters

public void resetTempFilters()
Resetea el flag de temporalidad de los filtros de la pila. Esto equivale a fijar los filtros que ya existen en la pila. A partir de ese momento los filtros que se introduzcan podrán ser eliminados de golpe llamando a la función deleteTempFilters


deleteTempFilters

public void deleteTempFilters()
Elimina los filtros temporales, es decir, todos los filtros introducidos desde el último resetTempFilters que se ha realizado.


addFilter

public void addFilter(int type,
                      RasterFilter filter)
Añade un filtro a la pila

Parameters:
type - Tipo de filtro
filter - filtro añadido

removeFilter

public void removeFilter()
Elimina el último filtro de la pila


setDataTypeInFilter

public void setDataTypeInFilter(int type)
Asigna el tipo filtro

Parameters:
type -

getOutDataType

public int getOutDataType()
Devuelve el tipo de dato de retorno al aplicar la pila de filtros

Returns:

getResult

public java.lang.Object getResult()
Devuelve el raster o image resultado de la aplicacion de la pila de filtros

Returns:

getDataTypeInFilter

public int getDataTypeInFilter(int type)
Dado un tipo de filtro calcula a partir de la pila en que posición está situado y obtiene el tipo de dato de la salida anterior. Esto le dirá al cliente de que tipo es el filtro que tiene que introducir.

Parameters:
type -

setOrder

public void setOrder(int[] order)
Asigna el vector para la ordenación por tipos

Parameters:
order -

sort

public void sort()
Ordena los filtros en el orden establecido por el Manager


removeFilter

public void removeFilter(int type)
Elimina los filtros de la pila de un determinado tipo

Parameters:
type - Tipo de filtro a eliminar

removeFilter

public void removeFilter(RasterFilter filter)
Elimina un filtro concreto de la pila


lenght

public int lenght()
Obtiene la cantidad de filtros en la pila

Returns:
Número de filtros apilados

get

public RasterFilter get(int i)
Obtiene el filtro apilado de la posición i

Parameters:
i - Posición a acceder en la pila
Returns:
Filtro

getType

public int getType(int i)
Obtiene el tipo del filtro de la pila de la posición i

Parameters:
i - Posición a acceder en la pila
Returns:
tipo de filtro

clear

public void clear()
Elimina todos los filtros de la pila


replace

public void replace(RasterFilter filter,
                    int i,
                    int type)
Sustituye un filtro de una posición de la pila por otro

Parameters:
filter -
i -

setInitRasterBuf

public void setInitRasterBuf(java.lang.Object raster)
Asigna el raster de entrada inicial

Parameters:
raster -

getInitDataType

public int getInitDataType()
Devuelve el tipo de datos inicial de la pila

Returns:
Tipo de dato del raster inicial

isActive

public boolean isActive(int type)
Método que devuelve true si el tipo de filtro pasado por parámetro está en la pila y false si no lo está.

Parameters:
type - Tipo de parámetro a comprobar
Returns:
true si está en la pila y false si no lo está

isActive

public boolean isActive(RasterFilter filter)
Método que devuelve true si el tipo de filtro pasado por parámetro está en la pila y false si no lo está.

Parameters:
filter - Tipo de filtro a comprobar
Returns:
true si está en la pila y false si no lo está

getStats

public RasterStats getStats()
Obtiene el objeto RasterStats

Returns:

execute

public void execute(java.awt.Image image)
Aplica los filtros sobre un Image

Parameters:
image - Buffer inicial sobre el que se aplican los filtros

execute

public void execute(RasterBuf rasterBuf)
Aplica los filtros sobre un RasterBuf

Parameters:
rasterBuf - Buffer inicial sobre el que se aplican los filtros

show

public void show()
Muestra el contenido de la pila de filtros para depuración