Filtros
Nivel 1: Arquitectura de filtrado
Para la aplicación de filtros sobre un grid se utiliza una estructura de clases extensible para que alguien desde fuera de la librería pueda crear sus propios filtros y registrarlos. Una clase abstracta llamada RasterFilter será el ancestro de todos los filtros. Un grid tendrá contenida una lista de filtros asociada, que no es más que una clase RasterFilterList. Para añadir filtros a la estructura se utiliza un gestor llamada RasterFilterListManager que será el encargado de añadir filtros a la lista y mantener la coherencia dentro de ella. Alguien que desea realizar sus propios filtros siempre deberá crear su gestor que tendrá que registrar dentro del RasterFilterListManager.
- Kernel: Representa una matriz de datos de NxN para operaciones sobre el buffer de datos.
- IRasterFilter: Interfaz de operaciones básicas de un filtro.
- IRasterFilterListManager: Interfaz que debe implementar cualquier gestor de un filtro para poder ser registrado en RasterFilterListManager.
- RasterFilter: Clase abstracta ancestro de cualquier filtro y que contiene operaciones de aplicación de este sobre un buffer de datos.
- RasterFilterList: Colección de filtros aplicable sobre un buffer de datos.
- RasterFilterListManager: Gestor general de lista de filtros sobre el que se registran los gestores individuales que implementen IRasterFilterListManager. Cada gestor individual contiene métodos para la adición de filtros del tipo de filtro que gestione sobre la el RasterFilterList.