Revision 439

View differences:

2.1/trunk/doc/Fase 1/dt-visor-3d.rst
110 110

  
111 111
* El componente `ViewPanel3D`_ integra un componente ``WorldWindowGLJPanel``. ``WorldWindowGLJPanel`` es autocontenido y su propósito es servir la aplicación WorldWind mostrando el modelo definido (globo y capas).
112 112
* La librería posee unos archivos de configuración en XML que son cargados cuando la librería se registra. Estos archivos de configuración por un lado definen la clases que implementan los distintos servicios que ofrece la librería y por otro las capas que se cargan por defecto al crear un modelo básico.
113
* Además de esta configuración, es necesario configurar unos parámetros espeficios para crear un ``WorldWindowGLJPanel`` esférico o plano. Esta configuración se realiza al instanciar un objeto `ViewPanel3D`_. Dependiendo del modo indicado como parámetro, se establece una configuración u otra.
113
* Además de esta configuración, es necesario configurar unos parámetros especificados para crear un ``WorldWindowGLJPanel`` esférico o plano. Esta configuración se realiza al instanciar un objeto `ViewPanel3D`_. Dependiendo del modo indicado como parámetro, se establece una configuración u otra.
114 114
* La obtención de las capas WW a partir de capas de gvSIG se realiza mediante la clase `LayerConverter`_ la cual permite obtener la capa equivalente en WW a partir de una capa de gvSIG para añadirla a las capas del modelo WW. Se ha implementa un nuevo tipo de capa llamado RasterTiledImageLayer la cual gestiona la peticiones de tiles en tiempo para que se obtengan los datos directamente desde el DAL de gvSIG. Esta gestión se realiza mediante los objetos ``DefaultRetrieverFactory``, ``DefaultRasterRetriever``, ``DefaultRasterServer``, ``DefaultDataRasterReaderFactory``, ``DefaultDataRasterReader`` y ``DefaultDataRaster``.
115 115

  
116 116
SWING API
......
130 130

  
131 131
  Crea un objeto `ViewPanel3D`_ pasándole como parámetro el MapContext y el tipo de panel.
132 132

  
133
* createMapControl3D(MapContext mapContext, TYPE type) : MapControl3D
134

  
135
  Crea un objeto `MapControl3D`_ a partir del MapContext y el tipo.
136

  
133 137
* getLayerProperties3D(FLayer layer) : LayerProperties3D
134 138

  
135 139
  Obtiene las propiedades asociadas a un capa.
......
138 142

  
139 143
  Asigna las propiedades a la capa que recibe como parámetro.
140 144

  
145

  
141 146
.. note::
142 147
  Falta especificar las propiedades relacionadas con la vista, las propiedades generales y sus interfaces.
143 148

  
144 149
MapControl3D
145 150
~~~~~~~~~~~~~~~~~~~~~~
146 151

  
147
Define el API del componente 3D.
152
Define el API del componente 3D.  Esta clase representa el componente 3D del visor. Permite añadir y quitar capas, sincronizar capas y enfoques con la vista 2D enlazada, configurar la visibilidad de los componentes del visor. Además, a partir de un MapContext obtiene las capas y las convierte en DataRaster para enlazarlo a una capa WW. La capa WW que crea depende del tipo de capa, las capas raster serán RasterTiledImageLayer y las elevaciones DefaultElevationModel.
148 153

  
149 154
* getMapContext() : MapContext
150 155

  
......
194 199

  
195 200
  Obtiene el ``ViewPort`` de la vista y realiza las transformaciones necesarias para el enfoque del visor 3D muestra la misma región. Hay que tener en cuenta si la opción "Animación en la sincronización de enfoques" esta marcada o no. En caso de que este marcada la sincronización se debe animar, en caso contrario, no.
196 201

  
202
* synchronizeLayers() : void
203

  
204
  Comprueba que capas han sufrido cambios mediante el versionado del MapContext y la vuelve a recargar en el modelo del componente WW. 
205

  
197 206
* getAtmosphereVisibility() : boolean
198 207

  
199 208
  Obtiene la visibilidad del componente que representa la atmósfera.
......
214 223

  
215 224
  Obtiene la visibilidad del componente que representa la escala.
216 225

  
226
RasterTiledImageLayer
227
________________________
228

  
229
Los pasos para obtener una capa RasterTiledImageLayer son los siguientes:
230

  
231
* Configuración de los parámetros necesarios en un fichero XML para crear una capa del tipo RasterTileImageLayer. Los parámetros necesarios son:
232

  
233
 * DATA_CACHE_NAME: Nombre de la carpeta dentro de la cache donde se alojará los tiles generados en tiempo de ejecución. Este nombre debe ser único.
234
 * SECTOR: Zona geográfica del raster especificada en grados sobre la proyección EPSG:4326.
235
 * WIDTH: ancho en píxeles de la imagen raster.
236
 * HEIGHT: alto en píxeles de la imagen raster.
237
 * DISPLAY_NAME: Nombre de la capa.
238
 * FILE_STORE: almacén de archivos de la cache. Proporciona métodos para añadir / quitar localizaciones, buscar archivos, borra archivos...
239
 * IMAGE_FORMAT: formato de los tiles que se generan.
240
 * FORMAT_SUFFIX: sufijo de archivo de los tiles generados.
241

  
242
Además de estos parámetros también es necesario añadir en tiempo de ejecución la capa gvSIG que se desea convertir de la cual se obtendrá la información para la creación de tiles mediante la clave GVSIG_LAYER. Por otra parte, existen parámetros opcionales que si no se asigna ningún valor la librería asigna el valor por defecto. Debido al gran número de parámetros configurables se resaltan los siguientes:
243

  
244
 * Opciones de capas: opacidad, máxima y mínima altura de activación...
245
 * Estructura de niveles de detalle: nivel máximo y mínimo de nivel de detalle, niveles inactivos...
246
 * Generación de tiles: tamaño del tile, origen del primer tile, extensión de los tiles generados... 
247

  
248
* Crear la capa de tipo RasterTileImageLayer a partir de los parámetros y añadirla al modelo. Al instanciar una nueva capa RasterTileImageLayer, se configura una factoría del tipo DefaultRetrieverFactory la cual permite la creación de objetos DefaultRasterRetriever. Dichos objetos son los encargados de realizar la distintas peticiones a un objeto DefaultRasterServer el cual es el encargado de servir la información procedente de un DataRaster genérico.
249

  
250
DefaultElevationModel
251
________________________
252

  
253
Los pasos para obtener una capa RasterTiledImageLayer son los siguientes:
254

  
255
* Configuración de los parámetros necesarios en un fichero XML para crear una modelo de elevación ElevationModel. Los parámetros necesarios son:
256

  
257
  * DISPLAY_NAME: Nombre del modelo de elevación
258
  * SECTOR: Zona geográfica del raster especificada en grados sobre la proyección EPSG:4326.
259
  * WIDTH: ancho en píxeles de la imagen raster.
260
  * HEIGHT: alto en píxeles de la imagen raster.
261
  * FILE_STORE: almacén de archivos de la cache. Proporciona métodos para añadir / quitar localizaciones, buscar archivos, borra archivos...
262
  * IMAGE_FORMAT: formato de los tiles genera
263
  * DATA_TYPE: tipo de dato de la información del raster.
264
  * PIXEL_FORMAT: formato del pixel: AVKey.ELEVATION o AVKey.IMAGE
265
  * FORMAT_SUFFIX: sufijo de archivo de los tiles generados.
266

  
267
    Además de estos parámetros también es necesario añadir en tiempo de ejecución la capa gvSIG que se desea convertir de la cual se obtendrá la información para la creación de tiles mediante la clave GVSIG_LAYER. Por otra parte, existen parámetros opcionales que si no se asigna ningún valor la librería asigna el valor por defecto. Los parámetros opcionales son:
268

  
269
  * BYTE_ORDER: orden de los bytes. Little endian o big endian.
270
  * ELEVATION_MAX: elevación máxima y mínima.
271
  * ELEVATION_MIN: elevación mínima del raster.
272
  * EXPIRY_TIME: tiempo de expiración de un tile dentro de la cache.
273
  * MISSING_DATA_SIGNAL: Valor "no data"
274
  * MISSING_DATA_REPLACEMENT: Valor que se obtiene al obtener la elevación sobre un punto "no data".
275
  * NETWORK_RETRIEVAL_ENABLED: Indica el modo de trabajo online o offline.
276
  * ELEVATION_EXTREMES_FILE: ruta al fichero que contiene información sobre las elevaciones extremas.
277

  
278
* Crear el modelo de elevación DefaultElevationModel a partir de lo parámetros y añadirlo al modelo ya existente. El modelo existente será de tipo CompoundElevationModel el cual permite añadir varios modelos de elevación y mostrarlos a la vez. Al instanciar un nuevo modelo de elevación, se configura una factoría del tipo DefaultRetrieverFactory la cual permite la creación de objetos DefaultRasterRetriever. Dichos objetos son los encargados de realizar las distintas peticiones a un objeto DefaultRasterServer el cual es el encargado de servir la información procedente de un DataRaster genérico. 
279

  
217 280
ViewPanel3D
218 281
~~~~~~~~~~~~~~~~~~~~~~
219 282

  
......
318 381

  
319 382
Interfaz que permite convertir una capa gvSIG en una capa WW. Este proceso depende del tipo de capa y el modo de carga definido.
320 383

  
321
* convert(FLayer layer) : gov.nasa.worldwind.layers.Layer
384
* convert(FLayer layer) : gov.nasa.worldwind.layers.Data
322 385

  
323
  Método que a partir de una capa gvSIG obtiene la capa correspondiente en WW.
386
  Método que a partir de una capa gvSIG obtiene el data raster correspondiente.
324 387

  
325
DefaultRasterLayerConverter implements LayerConverter
326
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
388
DefaultLayerConverter
389
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
327 390

  
328
Implementación de la interfaz LayerConverter que permite convertir una capa FLyrRaster en RasterTiledImageLayer mediante ``LayerConverter#convert(FLayer layer)``. El proceso de conversión debe seguir los siguientes puntos:
391
Implementación por defecto de la interfaz LayerConverter. Esta clase permite convertir una capa de gvSIG en un DataRaster genérico el cual permitirá pintar la zona requeridas mediante el método ``FLayer#draw(image,graphics,viewport,scale)``. 
329 392

  
330
* Configuración de los parámetros necesarios en un fichero XML para crear una capa del tipo RasterTileImageLayer. Los parámetros necesarios son:
331

  
332
 * DATA_CACHE_NAME: Nombre de la carpeta dentro de la cache donde se alojará los tiles generados en tiempo de ejecución. Este nombre debe ser único.
333
 * SECTOR: Zona geográfica del raster especificada en grados sobre la proyección EPSG:4326.
334
 * WIDTH: ancho en píxeles de la imagen raster.
335
 * HEIGHT: alto en píxeles de la imagen raster.
336
 * DISPLAY_NAME: Nombre de la capa.
337
 * FILE_STORE: almacén de archivos de la cache. Proporciona métodos para añadir / quitar localizaciones, buscar archivos, borra archivos...
338
 * IMAGE_FORMAT: formato de los tiles que se generan.
339
 * FORMAT_SUFFIX: sufijo de archivo de los tiles generados.
340

  
341
Además de estos parámetros también es necesario añadir en tiempo de ejecución la capa gvSIG que se desea convertir de la cual se obtendrá la información para la creación de tiles mediante la clave GVSIG_LAYER. Por otra parte, existen parámetros opcionales que si no se asigna ningún valor la librería asigna el valor por defecto. Debido al gran número de parámetros configurables se resaltan los siguientes:
342

  
343
 * Opciones de capas: opacidad, máxima y mínima altura de activación...
344
 * Estructura de niveles de detalle: nivel máximo y mínimo de nivel de detalle, niveles inactivos...
345
 * Generación de tiles: tamaño del tile, origen del primer tile, extensión de los tiles generados... 
346

  
347
* Crear la capa de tipo RasterTileImageLayer a partir de los parámetros y añadirla al modelo. Al instanciar una nueva capa RasterTileImageLayer, se configura una factoría del tipo DefaultRetrieverFactory la cual permite la creación de objetos DefaultRasterRetriever. Dichos objetos son los encargados de realizar la distintas peticiones a un objeto DefaultRasterServer el cual es el encargado de servir la información procedente de un DataRaster. Dependiendo del tipo de capa y el modo de carga será una implementación u otra. En el caso de casa raster con modo de carga imagen el tipo será RasterLayerDataRaster y para capas vectoriales rasterizadas RasterizedVectorialLayer.
348

  
349
La rasterización de capa vectoriales se realiza en VectorialLayerDataRaster en base a las peticiones que recibe por parte de DefaultRasterServer. El proceso se rasterización consistirá en usar el método ``FLyrVect#draw(image,graphics,viewport, scale)`` estableciendo el ViewPort a la zona o sección requerida para la obtención del tile.
350

  
351
DefaultElevationLayerConverter implements LayerConverter
352
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
353

  
354
Implementación de la interfaz LayerConverter que permite convertir una capa FLyrRaster en DefaultElevationModel mediante ``LayerConverter#convert(FLayer layer)``. El proceso de conversión debe seguir los siguientes puntos:
355

  
356
* Configuración de los parámetros necesarios en un fichero XML para crear una modelo de elevación ElevationModel. Los parámetros necesarios son:
357

  
358
  * DISPLAY_NAME: Nombre del modelo de elevación
359
  * SECTOR: Zona geográfica del raster especificada en grados sobre la proyección EPSG:4326.
360
  * WIDTH: ancho en píxeles de la imagen raster.
361
  * HEIGHT: alto en píxeles de la imagen raster.
362
  * FILE_STORE: almacén de archivos de la cache. Proporciona métodos para añadir / quitar localizaciones, buscar archivos, borra archivos...
363
  * IMAGE_FORMAT: formato de los tiles genera
364
  * DATA_TYPE: tipo de dato de la información del raster.
365
  * PIXEL_FORMAT: formato del pixel: AVKey.ELEVATION o AVKey.IMAGE
366
  * FORMAT_SUFFIX: sufijo de archivo de los tiles generados.
367

  
368
    Además de estos parámetros también es necesario añadir en tiempo de ejecución la capa gvSIG que se desea convertir de la cual se obtendrá la información para la creación de tiles mediante la clave GVSIG_LAYER. Por otra parte, existen parámetros opcionales que si no se asigna ningún valor la librería asigna el valor por defecto. Los parámetros opcionales son:
369

  
370
  * BYTE_ORDER: orden de los bytes. Little endian o big endian.
371
  * ELEVATION_MAX: elevación máxima y mínima.
372
  * ELEVATION_MIN: elevación mínima del raster.
373
  * EXPIRY_TIME: tiempo de expiración de un tile dentro de la cache.
374
  * MISSING_DATA_SIGNAL: Valor "no data"
375
  * MISSING_DATA_REPLACEMENT: Valor que se obtiene al obtener la elevación sobre un punto "no data".
376
  * NETWORK_RETRIEVAL_ENABLED: Indica el modo de trabajo online o offline.
377
  * ELEVATION_EXTREMES_FILE: ruta al fichero que contiene información sobre las elevaciones extremas.
378

  
379
* Crear el modelo de elevación DefaultElevationModel a partir de lo parámetros y añadirlo al modelo ya existente. El modelo existente será de tipo CompoundElevationModel el cual permite añadir varios modelos de elevación y mostrarlos a la vez. Al instanciar un nuevo modelo de elevación, se configura una factoría del tipo DefaultRetrieverFactory la cual permite la creación de objetos DefaultRasterRetriever. Dichos objetos son los encargados de realizar las distintas peticiones a un objeto DefaultRasterServer el cual es el encargado de servir la información procedente de un DataRaster. Para este caso el DataRaster será de tipo ElevationLayerDataRaster el cual atacará sobre la capa raster para obtener la información que se precise.
380

  
381
DefaultWMSLayerConverter implements LayerConverter
382
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
383

  
384
.. note::
385
  TODO en fases posteriores
386

  
387
DefaultVectorialLayerConverter implements LayerConverter
388
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
389

  
390
.. note::
391
  TODO en fases posteriores
392

  
393 393
RasterTiledImageLayer extends BasicTiledImageLayer
394 394
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
395 395

  
......
460 460

  
461 461
  Obtiene si la fuente de datos es de tipo imagen
462 462

  
463
XXLayerDataRaster implements DataRaster
463
GvSIGLayerDataRaster implements DataRaster
464 464
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
465 465

  
466
Representa información raster. Esta clase recibe peticiones de datos para la generación de tiles por lo que es la encargada de acceder al DAL de gvSIG mediante su API para obtener la información precisada. 
466
Representa información raster. Esta clase recibe peticiones de datos para la generación de tiles por lo que es la encargada de mediante el método ``FLayer#draw()`` de la capa que tiene asociada pintar la sección requerida.
467 467

  
468 468
* getWidth() : int
469 469

  
470
  Obtiene el ancho en pixeles del raster.
470
  Obtiene el ancho en píxeles del raster.
471 471

  
472 472
* getHeiht() : int
473 473

  
474
  Obtiene el alto en pixeles del raster.
474
  Obtiene el alto en píxeles del raster.
475 475

  
476 476
* drawOnTo(DataRaster canvas) : void
477 477

  
......
492 492

  
493 493
* org.gvsig.view3d.app
494 494

  
495
  * about
496
  * i18n
497
  * images
498
  * lib
495
  - about
496
  - i18n
497
  - images
498
  - lib
499 499

  
500
    * dependencias comunes
501
    * dependencias nativas de la plataforma
500
    + dependencias comunes
501
    + dependencias nativas de la plataforma
502 502

  
503
  * config.xml
504
  * package.info
503
  - config.xml
504
  - package.info
505 505

  
506 506
Plugin common
507 507
~~~~~~~~~~~~~~~~~~~~~~

Also available in: Unified diff