public class DataStoreTransparency extends Object implements Transparency, Persistent
Esta clase contiene información de transparencia de un objeto. Los objetos pueden ser dataset, grid u otros. Cuando un usuario quiere añadir nueva información de transparencia crea un objeto de este tipo que debe ser mezclado (merge) con otros objetos de este tipo que existan para la misma fuente de datos.
Un multirasterdatset obtiene los distintos objetos transparency de todos los ficheros que los componen. Para realizar un solo objeto transparency se hará un merge de todos ellos.
Finalmente y antes de renderizar se necesita un objeto Transparency. Este estará compuesto con toda la información de transparencia aplicar, es decir, todos los objetos Transparency mezclados.Transparency con tiene el método de procesado de un pixel. Se le proporciona un pixel y devuelve este mismo pixel con la transparencia aplicada.
Una transparencia que se aplica a un buffer puede tener cuatro procedencias distintas:
Modifier and Type | Field and Description |
---|---|
protected ColorInterpretation |
colorInterpretation
Alpha source
|
static int |
MAX_OPACITY |
protected NoData |
noData
Valor de dato transparente.
|
protected int |
opacity
Grado de opacidad de todo el raster
|
protected Buffer |
originalData
Buffer con los datos originales (sin filtrar) correspondiente a la zona a renderizar.
|
protected List<TransparencyRange> |
transparencyRanges
Rangos de transparencia aplicados.
|
Constructor and Description |
---|
DataStoreTransparency() |
DataStoreTransparency(ColorInterpretation colorInterpretation)
Constructor
|
Modifier and Type | Method and Description |
---|---|
void |
activeTransparency()
Comprueba si hay criterios para la aplicación de transparencia y la activa si es
así sino se desactiva.
|
void |
addPropertyListener(PropertyListener listener)
Asigna un listener a la lista que será informado cuando cambie una
propiedad visual en la renderización.
|
void |
clearListOfTransparencyRange()
Inicializa la lista de rangos de transparencia.
|
Transparency |
cloneTransparency()
Clones this object
|
void |
dispose()
Disposes the current object, to allow it to close and dispose any used
resources.
|
boolean |
existAlphaBand()
Obtiene la información de si existe o no banda de transparencia cuando este
objeto va asociado a un dataset.
|
protected void |
finalize() |
int |
getAlphaBandNumber()
Obtiene la banda de transpareci si existe o -1 si no existe.
|
ColorInterpretation |
getColorInterpretation()
Gets the color interpretation
|
Buffer |
getDataBuffer()
Obtiene el área de datos
|
NoData |
getNoData()
Obtiene el valor noData
|
int |
getOpacity()
Obtiene el grado de opacidad de todo el raster
|
List<TransparencyRange> |
getTransparencyRange()
Obtiene los rangos de pixels que son transparentes en el raster.
|
protected boolean |
isNoData(int line,
int col)
Consulta si el valor de la posición (line, col) del buffer es considerado
NoData o no.
|
boolean |
isTransparencyActive()
Obtiene el flag de transparencia activa o desactivada.
|
void |
loadFromState(PersistentState state)
Set the state of the object from the state passed as parameter.
|
static void |
mergeBuffers(Buffer src1,
Buffer src2) |
int |
processRGB(int r,
int g,
int b,
int line,
int col,
Buffer buf)
Aplica las reglas de transparencia a un pixel RGB y devuelve el valor de ese
mismo pixel con la transparencia aplicada.
|
static void |
registerPersistence() |
void |
saveToState(PersistentState state)
Saves the internal state of the object on the provided
PersistentState object.
|
void |
setColorInterpretation(ColorInterpretation colorInterpretation)
Sets the band color interpretation
|
void |
setDataBuffer(Buffer b)
Asigna el área de datos
|
void |
setNoData(NoData noData)
Asigna el valor noData
|
void |
setOpacity(int opacity)
Asigna el grado de opacidad de todo el raster
|
void |
setTransparencyActive(boolean transparencyActive)
Asigna el flag de transparencia activa o desactivada.
|
void |
setTransparencyBand(int alphaBandNumber)
Asigna la información de si existe o no banda de transparencia cuando este
objeto va asociado a un dataset.
|
void |
setTransparencyByPixelFromMetadata(DataStoreMetadata metadata)
Asigna la transparencia a partir de un objeto con los metadatos del raster.
|
void |
setTransparencyRange(TransparencyRange range)
Asigna un rango de pixels que son transparentes en el raster.
|
void |
setTransparencyRangeList(List<TransparencyRange> ranges)
Asigna la lista de rangos de transparencia
|
public static int MAX_OPACITY
protected ColorInterpretation colorInterpretation
protected Buffer originalData
protected NoData noData
protected List<TransparencyRange> transparencyRanges
protected int opacity
public DataStoreTransparency()
public DataStoreTransparency(ColorInterpretation colorInterpretation)
public void addPropertyListener(PropertyListener listener)
Transparency
addPropertyListener
in interface Transparency
listener
- VisualPropertyListenerpublic boolean existAlphaBand()
Transparency
existAlphaBand
in interface Transparency
public Buffer getDataBuffer()
getDataBuffer
in interface Transparency
public void setDataBuffer(Buffer b)
Transparency
setDataBuffer
in interface Transparency
public NoData getNoData()
getNoData
in interface Transparency
public void setNoData(NoData noData)
Transparency
setNoData
in interface Transparency
public List<TransparencyRange> getTransparencyRange()
getTransparencyRange
in interface Transparency
public void setTransparencyRange(TransparencyRange range)
Transparency
setTransparencyRange
in interface Transparency
public void setTransparencyRangeList(List<TransparencyRange> ranges)
setTransparencyRangeList
in interface Transparency
ranges
- public void clearListOfTransparencyRange()
Transparency
clearListOfTransparencyRange
in interface Transparency
public int getOpacity()
getOpacity
in interface Transparency
public void setOpacity(int opacity)
Transparency
setOpacity
in interface Transparency
opacity
- valor del grado de opacidad.public void setTransparencyByPixelFromMetadata(DataStoreMetadata metadata)
metadata
- public int getAlphaBandNumber()
getAlphaBandNumber
in interface Transparency
public void setTransparencyBand(int alphaBandNumber)
setTransparencyBand
in interface Transparency
true
- si existe banda de transparencia y false si no lo es.protected boolean isNoData(int line, int col)
line
- Linea del buffercol
- Columna del bufferpublic void activeTransparency()
Transparency
Que haya una mascara de transparencia.
Que exista un buffer de datos para la aplicación de nodata
Que hayan reglas sobre la aplicación de transparencia.
Que la opacidad sea distita de 255 (completamente opaco).
activeTransparency
in interface Transparency
public boolean isTransparencyActive()
Transparency
isTransparencyActive
in interface Transparency
public void setTransparencyActive(boolean transparencyActive)
setTransparencyActive
in interface Transparency
transparencyActive
- true activa la transparencia false la desactivapublic int processRGB(int r, int g, int b, int line, int col, Buffer buf)
Transparency
processRGB
in interface Transparency
public void setColorInterpretation(ColorInterpretation colorInterpretation)
Transparency
setColorInterpretation
in interface Transparency
public Transparency cloneTransparency()
Transparency
cloneTransparency
in interface Transparency
public void loadFromState(PersistentState state) throws PersistenceException
Persistent
loadFromState
in interface Persistent
PersistenceException
public void saveToState(PersistentState state) throws PersistenceException
Persistent
saveToState
in interface Persistent
PersistenceException
public static void registerPersistence()
public void dispose()
Disposable
NOTE:After calling this method, the object may not be usable anymore.
dispose
in interface Disposable
public ColorInterpretation getColorInterpretation()
Transparency
getColorInterpretation
in interface Transparency