Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.io/pom.xml
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.io/pom.xml	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.io/pom.xml	(revision 10040)
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<artifactId>org.gvsig.raster.lizardtech.io</artifactId>
+	<packaging>jar</packaging>
+	<name>org.gvsig.raster.lizardtech.io</name>
+	<parent>
+		<groupId>org.gvsig</groupId>
+		<artifactId>org.gvsig.raster.lizardtech</artifactId>
+		<version>2.2.84</version>
+	</parent>
+	
+	<dependencies>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.raster.cache.lib.api</artifactId>
+      <scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.raster.lib.api</artifactId>
+      <scope>compile</scope>
+		</dependency>
+    <dependency>
+        <groupId>org.gvsig</groupId>
+        <artifactId>org.gvsig.raster.lib.impl</artifactId>
+        <scope>compile</scope>
+    </dependency>
+    <dependency>
+        <groupId>org.gvsig</groupId>
+        <artifactId>org.gvsig.metadata.lib.basic.api</artifactId>
+        <scope>compile</scope>
+    </dependency>
+    <dependency>
+        <groupId>org.gvsig</groupId>
+        <artifactId>org.gvsig.remoteclient</artifactId>
+        <scope>compile</scope>
+    </dependency>
+    <dependency>
+        <groupId>org.gvsig</groupId>
+        <artifactId>org.gvsig.tools.lib</artifactId>
+        <scope>compile</scope>
+    </dependency>
+    <dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.jmrsid</artifactId>
+      <scope>compile</scope>
+		</dependency>
+		
+		<dependency>
+        <groupId>org.gvsig</groupId>
+        <artifactId>org.gvsig.projection.api</artifactId>
+        <scope>compile</scope>
+    </dependency>
+    <dependency>
+        <groupId>org.gvsig</groupId>
+        <artifactId>org.gvsig.projection.cresques.impl</artifactId>
+        <scope>runtime</scope>
+    </dependency>
+    <dependency>
+        <groupId>org.gvsig</groupId>
+        <artifactId>org.gvsig.compat.api</artifactId>
+        <scope>compile</scope>
+    </dependency>
+    <dependency>
+        <groupId>org.gvsig</groupId>
+        <artifactId>org.gvsig.compat.se</artifactId>
+        <scope>compile</scope>
+    </dependency>
+    <dependency>
+        <groupId>org.gvsig</groupId>
+        <artifactId>org.gvsig.fmap.dal.api</artifactId>
+        <scope>compile</scope>
+    </dependency>
+    <dependency>
+        <groupId>org.gvsig</groupId>
+        <artifactId>org.gvsig.fmap.dal.impl</artifactId>
+        <scope>compile</scope>
+    </dependency>
+    <dependency>
+        <groupId>org.gvsig</groupId>
+        <artifactId>org.gvsig.fmap.dal.file.lib</artifactId>
+        <scope>compile</scope>
+    </dependency>
+    <dependency>
+        <groupId>org.gvsig</groupId>
+        <artifactId>org.gvsig.fmap.dal.spi</artifactId>
+        <scope>compile</scope>
+    </dependency>
+    <dependency>
+        <groupId>org.gvsig</groupId>
+        <artifactId>org.gvsig.fmap.geometry.api</artifactId>
+        <scope>compile</scope>
+    </dependency>
+    <!--
+    <dependency>
+        <groupId>org.gvsig</groupId>
+        <artifactId>org.gvsig.fmap.geometry.generalpath</artifactId>
+        <scope>runtime</scope>
+    </dependency>
+    <dependency>
+        <groupId>org.gvsig</groupId>
+        <artifactId>org.gvsig.fmap.geometry.operation</artifactId>
+        <scope>runtime</scope>
+    </dependency>
+    -->
+	</dependencies>
+</project>
+

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.io/pom.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.io/src/main/resources/META-INF/services/org.gvsig.tools.library.Library
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.io/src/main/resources/META-INF/services/org.gvsig.tools.library.Library	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.io/src/main/resources/META-INF/services/org.gvsig.tools.library.Library	(revision 10040)
@@ -0,0 +1 @@
+org.gvsig.raster.lizardtech.io.DefaultLizardtechIOLibrary
Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.io/src/main/java/org/gvsig/raster/lizardtech/io/LizardTechNative.java
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.io/src/main/java/org/gvsig/raster/lizardtech/io/LizardTechNative.java	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.io/src/main/java/org/gvsig/raster/lizardtech/io/LizardTechNative.java	(revision 10040)
@@ -0,0 +1,728 @@
+/* gvSIG. Geographic Information System of the Valencian Government
+ *
+ * Copyright (C) 2007-2008 Infrastructures and Transports Department
+ * of the Valencian Government (CIT)
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ */
+package org.gvsig.raster.lizardtech.io;
+
+import java.awt.geom.AffineTransform;
+import java.awt.geom.NoninvertibleTransformException;
+import java.awt.geom.Point2D;
+import java.io.IOException;
+
+import org.gvsig.fmap.dal.coverage.dataset.Buffer;
+import org.gvsig.fmap.dal.coverage.datastruct.BandList;
+import org.gvsig.fmap.dal.coverage.exception.ProcessInterruptedException;
+import org.gvsig.raster.impl.process.RasterTask;
+import org.gvsig.raster.impl.process.RasterTaskQueue;
+
+import es.gva.cit.jmrsid.LTIDataType;
+import es.gva.cit.jmrsid.LTIGeoCoord;
+import es.gva.cit.jmrsid.LTIImageStage;
+import es.gva.cit.jmrsid.LTIMetadataDatabase;
+import es.gva.cit.jmrsid.LTIMetadataRecord;
+import es.gva.cit.jmrsid.LTISceneBuffer;
+import es.gva.cit.jmrsid.LTIUtils;
+import es.gva.cit.jmrsid.MrSIDException;
+import es.gva.cit.jmrsid.MrSIDImageReader;
+
+public class LizardTechNative extends MrSIDImageReader {
+	static boolean                  WITH_OVERVIEWS          = true;
+	public int                      width                   = 0;
+	public int                      height                  = 0;
+	public double 					originX                 = 0D;
+	public double 					originY                 = 0D;
+	public String 					version                 = "";
+	public LTIMetadataDatabase 		metadata;
+	private int 					alpha                   = 0;
+	protected int 					rBandNr                 = 1;
+	protected int 					gBandNr                 = 2;
+	protected int 					bBandNr                 = 3;
+	protected byte[] 				bandR;
+	protected byte[] 				bandG;
+	protected byte[] 				bandB;
+	private int 					dataType                = LTIDataType.LTI_DATATYPE_UINT8;
+	//View
+	private double                  zoomoverview            = 0.0;
+	private int 					eSampleType;
+	private int 					noverviews;
+	public int                      xini;
+	public int                      yini;
+	/**
+	 * Ancho y alto de la overview
+	 */
+	public int                      anchoOver;
+	public int                      altoOver;
+	public int                      blocksize               = 1;
+	/**
+	 * N�mero de bandas de la imagen
+	 */
+	public int                      nbands;
+	/**
+	 * Posici�n de la esquina superior izquierda en coordenadas pixel
+	 */
+	private double                  currentViewY            = -1;
+	private double                  currentViewX            = 0D;
+	/**
+	 * Ancho y alto de la im�gen (pixeles en pantalla)
+	 */
+	private int 					currentViewWidth        = -1;
+	private int 					currentViewHeight       = -1;
+	/**
+	 * Ancho y alto de la imagen completa en pixeles
+	 */
+	@SuppressWarnings("unused")
+	private int 					currentFullWidth        = -1;
+	@SuppressWarnings("unused")
+	private int 					currentFullHeight       = -1;
+	private int 					overviewFullWidth       = -1;
+	private int 					overviewFullHeight      = -1;
+	/**
+	 * Escala del viewport en X e Y
+	 */
+	private double                  viewportScaleX          = 0D;
+	private double                  viewportScaleY          = 0D;
+	/**
+	 * �ltimo extent de la ventana seleccionada por el usuario. Este extent corresponde al de la
+	 * imagen, no al del viewport de la vista.
+	 */
+	private double[]				currentImageView        = new double[4];
+	public int[]					stepArrayX              = null;
+	public int[]					stepArrayY              = null;
+	public boolean  				isSupersampling         = false;
+	private String					fileName                = null;
+	protected AffineTransform       ownTransformation       = null;
+	protected AffineTransform       externalTransformation  = new AffineTransform();
+	/**
+	 *Array de transformaciones afines donde cada elemento es la transformaci�n correspondiente a una overview
+	 */
+	protected AffineTransform[]     overviewsTransformation = null;
+
+	/**
+	 * Constructor
+	 * @param fName
+	 * @throws MrSIDException
+	 * @throws IOException
+	 */
+	public LizardTechNative(String fName) throws MrSIDException, IOException {
+		super(fName);
+		init(fName);
+	}
+
+	/**
+	 * Inicializa las variables de instancia con los valores de la imagen
+	 * @param fName
+	 * @throws MrSIDException
+	 * @throws IOException
+	 */
+	private void init(String fName) throws MrSIDException, IOException {
+		this.initialize();
+
+		fileName = fName;
+		width = this.getWidth();
+		height = this.getHeight();
+		eSampleType = this.getDataType();
+		nbands = this.getNumBands();
+		//eColorSpace = this.getColorSpace();
+		noverviews = this.getNumLevels();
+		overviewsTransformation = new AffineTransform[noverviews];
+		
+		//Creamos una matriz de transformaci�n por nivel de overview con el factor de escala de esta overview
+		overviewsTransformation[0] = new AffineTransform();
+		int[] dims = this.getDimsAtMag(LTIUtils.levelToMag(0));
+		int dimLastX = dims[0];
+		int dimLastY = dims[1];
+		for (int i = 1; i < noverviews; i++) {
+			dims = this.getDimsAtMag(LTIUtils.levelToMag(i));
+						
+			double scaleFactorX = (double)dims[0] / (double)dimLastX;
+			double scaleFactorY = (double)dims[1] / (double)dimLastY;
+			//System.out.println("Over:" + i + " zoom:" + LTIUtils.levelToMag(i) + " dims:" + dims[0] + "X" + dims[1]);
+			overviewsTransformation[i] = new AffineTransform(scaleFactorX, 0, 0, scaleFactorY, 0, 0);
+		}
+		
+		metadata = this.getMetadata();
+
+		double ox = 0D;
+		double oy = 0D;
+		double resx = 0D;
+		double resy = 0D;
+
+		LTIGeoCoord geoc = this.getGeoCoord();
+
+		ox = geoc.getX();
+		oy = geoc.getY();
+		resx = geoc.getXRes();
+		resy = geoc.getYRes();
+		
+    	ownTransformation = new AffineTransform(resx, 0, 0, resy, ox, oy);
+    	externalTransformation = (AffineTransform)ownTransformation.clone();
+		
+		currentFullWidth = width;
+		currentFullHeight = height;
+
+		blocksize = this.getStripHeight();
+		
+		if(nbands == 1) {
+			rBandNr = gBandNr = bBandNr = 1;
+		}
+		if(nbands == 2) {
+			rBandNr = gBandNr = 1;
+			bBandNr = 2;
+		}
+	}
+
+	/**
+	 * Asigna el valor de Alpha
+	 * @param a        alpha
+	 */
+	public void setAlpha(int a) {
+		alpha = a;
+	}
+
+	/**
+	 * Asigna el tipo de datos
+	 * @param dt        tipo de datos
+	 */
+	public void setDataType(int dt) {
+		dataType = dt;
+	}
+
+	/**
+	 * Obtiene un punto 2D con las coordenadas del raster a partir de uno en coordenadas
+	 * del punto real.
+	 * Supone rasters no girados
+	 * @param pt	punto en coordenadas del punto real
+	 * @return	punto en coordenadas del raster
+	 */
+	public Point2D worldToRaster(Point2D pt) {
+		Point2D p = new Point2D.Double();
+		try {
+			externalTransformation.inverseTransform(pt, p);
+		} catch (NoninvertibleTransformException e) {
+			return pt;
+		}
+		return p;
+	}
+	
+	/**
+	 * Obtiene un punto del raster en coordenadas pixel a partir de un punto en coordenadas
+	 * reales. 
+	 * @param pt Punto en coordenadas reales
+	 * @return Punto en coordenadas pixel.
+	 */
+	public Point2D rasterToWorld(Point2D pt) {
+		Point2D p = new Point2D.Double();
+		externalTransformation.transform(pt, p);
+		return p;
+	}
+
+	/**
+	 * Calcula el overview a usar de la imagen y el viewport a partir del ancho, alto y
+	 * coordenadas del mundo real
+	 * @param dWorldTLX        Coordenada X superior izquierda
+	 * @param dWorldTLY        Coordenada Y superior izquierda
+	 * @param dWorldBRX        Coordenada X inferior derecha
+	 * @param dWorldBRY        Coordenada Y inferior derecha
+	 * @param nWidth        ancho
+	 * @param nHeight        alto
+	 */
+	public void setView(double ulx, double uly, double lrx, double lry, 
+			int nWidth, int nHeight) {
+		currentImageView[0] = ulx;
+		currentImageView[1] = uly;
+		currentImageView[2] = lrx;
+		currentImageView[3] = lry;
+
+		//Ancho y alto de la im�gen en pixeles (pixeles de la overview)
+		overviewFullWidth = currentFullWidth = width;
+		overviewFullHeight = currentFullHeight = height;
+
+		//Ventana de la imagen. (en tama�o completo)
+		//tl->esq sup izda en pixeles
+		//br->esq inf der en pixeles
+		Point2D a = worldToRaster(new Point2D.Double(ulx, uly));
+		Point2D b = worldToRaster(new Point2D.Double(lrx, lry));
+		Point2D tl = new Point2D.Double(Math.min(a.getX(), b.getX()), Math.min(a.getY(), b.getY()));
+		Point2D br = new Point2D.Double(Math.max(a.getX(), b.getX()), Math.max(a.getY(), b.getY()));
+
+		//Ancho y alto de la im�gen (pixeles en pantalla)
+		currentViewWidth = nWidth;
+		currentViewHeight = nHeight;
+
+		//Posici�n de la esquina superior izquierda en coordenadas pixel
+		currentViewX = tl.getX();
+		currentViewY = tl.getY();
+
+		//Escala de la vista en X e Y
+		viewportScaleX = (double) currentViewWidth / (br.getX() - tl.getX());
+		viewportScaleY = (double) currentViewHeight / (br.getY() - tl.getY());
+
+		try {
+			// calcula el overview a usar
+			int[] dims = null;
+			double zoom = 1.0;
+			zoomoverview = 1.0;
+
+			if (WITH_OVERVIEWS && ((noverviews - 1) > 0)) {
+				for (int i = (noverviews - 1); i > 0; i--) {
+					zoom = LTIUtils.levelToMag(i);
+					dims = this.getDimsAtMag(zoom);
+
+					if (dims[0] > (this.getWidth() * viewportScaleX)) {
+						zoomoverview = zoom;
+						viewportScaleX /= zoomoverview;
+						viewportScaleY /= zoomoverview;
+						overviewFullWidth = currentFullWidth = dims[0];
+						overviewFullHeight = currentFullHeight = dims[1];
+						tl = worldToRaster(new Point2D.Double(ulx, uly));
+						br = worldToRaster(new Point2D.Double(lrx, lry));
+						tl.setLocation(Math.min(tl.getX(), br.getX()), Math.min(tl.getY(), br.getY()));
+						overviewsTransformation[i].transform(tl, tl);
+						//Hemos asignado currentFull solo para calcular tl en relaci�n al tama�o de la overview
+						currentFullWidth = width;
+						currentFullHeight = height;
+						currentViewX = tl.getX();
+						currentViewY = tl.getY();
+						break;
+					}
+				}
+			}
+
+			setDataType(eSampleType);
+		} catch (MrSIDException e) {
+			e.printStackTrace();
+		}
+	}
+
+	/**
+	 * Muestra alguna informaci�n para la depuraci�n
+	 */
+	void pintaInfo() {
+		try {
+			System.out.println("GeoTransform:");
+
+			LTIGeoCoord geoc = this.getGeoCoord();
+
+			System.out.println("  param[0]=" + geoc.getX());
+			System.out.println("  param[0]=" + geoc.getY());
+			System.out.println("  param[0]=" + geoc.getXRes());
+			System.out.println("  param[0]=" + geoc.getYRes());
+			System.out.println("  param[0]=" + geoc.getXRot());
+			System.out.println("  param[0]=" + geoc.getYRot());
+			System.out.println("Metadata:");
+
+			LTIMetadataDatabase metadata = this.getMetadata();
+
+			for (int i = 0; i < metadata.getIndexCount(); i++) {
+				LTIMetadataRecord rec = null;
+				rec = metadata.getDataByIndex(i);
+				System.out.println(rec.getTagName());
+
+				if (rec.isScalar()) {
+					System.out.println(rec.getScalarData());
+				} else if (rec.isVector()) {
+					String[] s = rec.getVectorData();
+
+					for (int j = 0; j < s.length; j++)
+						System.out.println("V" + j + "->" + s[j]);
+				} else if (rec.isArray()) {
+					String[] s = rec.getArrayData();
+
+					for (int j = 0; j < s.length; j++)
+						System.out.println("A" + j + "->" + s[j]);
+				} else {
+					System.out.println("");
+				}
+			}
+		} catch (MrSIDException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+	}
+
+
+	public LTISceneBuffer readBuffer(int x, int y, int SceneWidth, int SceneHeight)throws MrSIDException{
+		LTISceneBuffer buffer = ((LTIImageStage) this).readScene((double)x, (double)y, (double)SceneWidth, (double)SceneHeight, zoomoverview, (MrSIDImageReader)this, SceneWidth, SceneHeight, true);
+		return buffer;
+	}
+
+	
+
+	/**
+	 * Lee la escena de la imagen correspondiente a la vista seleccionada con
+	 * currentView a trav�s de la libreria de MrSid. Esta escena es cargada sobre
+	 * un buffer y asignada al par�metro de salida.
+	 * @param line        Escena leida
+	 * @throws MrSIDException Lanzada si ocurre un error en la lectura de la escena
+	 */
+	public void readScene(int[] line, RasterTask task) throws MrSIDException, ProcessInterruptedException {
+		//Posici�n de inicio de la escena en entero para la petici�n a la libreria
+		int x = (int) Math.floor(currentViewX);
+		int y = (int) Math.floor(currentViewY);
+
+		//Ancho y alto de la escena en pixeles
+		int SceneWidth = 0;
+		int SceneHeight = 0;
+
+		SceneWidth = (int) Math.ceil((((double) currentViewWidth) / viewportScaleX) + 1);
+		SceneHeight = (int) Math.ceil((((double) currentViewHeight) / viewportScaleY) + 1);
+
+		while((x + SceneWidth) > overviewFullWidth)
+			SceneWidth --;
+		while((y + SceneHeight) > overviewFullHeight)
+			SceneHeight --;
+
+		if (SceneWidth == 0) 
+			SceneWidth = 1;
+
+		if (SceneHeight == 0)
+			SceneHeight = 1;
+
+		LTISceneBuffer buffer = null;
+		buffer = ((LTIImageStage) this).readScene((double)x, (double)y, (double)SceneWidth, (double)SceneHeight, zoomoverview, (MrSIDImageReader)this, SceneWidth, SceneHeight, true);
+
+		/*boolean  sizeOk = false;
+			while (!sizeOk) {
+				sizeOk = true;
+				try {
+					buffer = readBuffer(x, y, SceneWidth, SceneHeight);
+				} catch (MrSIDException ex) {
+					SceneWidth-- ;
+					try{
+						buffer = readBuffer(x, y, SceneWidth, SceneHeight);
+					} catch (MrSIDException ex1) {
+						SceneWidth++;
+						SceneHeight--;
+						try{
+							buffer = readBuffer(x, y, SceneWidth, SceneHeight);
+						} catch (MrSIDException ex2) {
+							SceneWidth-- ;
+							try{
+								buffer = readBuffer(x, y, SceneWidth, SceneHeight);
+							} catch (MrSIDException ex3) {
+								sizeOk = false;
+							}
+						}
+					}
+				}
+			}*/
+
+		if(task.getEvent() != null)
+			task.manageEvent(task.getEvent());
+
+		if ((dataType == LTIDataType.LTI_DATATYPE_UINT8) ||
+				(dataType == LTIDataType.LTI_DATATYPE_SINT8) ||
+				(dataType == LTIDataType.LTI_DATATYPE_SINT16) ||
+				(dataType == LTIDataType.LTI_DATATYPE_SINT32) ||
+				(dataType == LTIDataType.LTI_DATATYPE_UINT16) ||
+				(dataType == LTIDataType.LTI_DATATYPE_UINT32)) {
+			int kd;
+			int k;
+			double scaleX = 1 / viewportScaleX;
+			double scaleY = 1 / viewportScaleY;
+
+			int alpha = (this.alpha & 0xff) << 24;
+
+			if (rBandNr == 1) {
+				bandR = buffer.buf1;
+			} else if (rBandNr == 2) {
+				bandR = buffer.buf2;
+			} else if (rBandNr == 3) {
+				bandR = buffer.buf3;
+			}
+
+			if (gBandNr == 1) {
+				bandG = buffer.buf1;
+			} else if (gBandNr == 2) {
+				bandG = buffer.buf2;
+			} else if (gBandNr == 3) {
+				bandG = buffer.buf3;
+			}
+
+			if (bBandNr == 1) {
+				bandB = buffer.buf1;
+			} else if (bBandNr == 2) {
+				bandB = buffer.buf2;
+			} else if (bBandNr == 3) {
+				bandB = buffer.buf3;
+			}
+
+			//Desplazamiento para la X y la Y leidas. Estas tienen efecto cuando un pixel no empieza a visualizarse
+			//justo en su esquina superior izquierda y tiene que ser cortado en la visualizaci�n.
+			double offsetX = Math.abs(currentViewX - ((int)currentViewX));
+			double offsetY = Math.abs(currentViewY - ((int)currentViewY));
+
+			for (int y1 = 0; y1 < currentViewHeight; y1++) {
+				for (int x1 = 0; x1 < currentViewWidth; x1++) {
+					kd = (y1 * currentViewWidth) + x1;
+					k = (((int) ((y1 * scaleY) + offsetY)) * SceneWidth) + (int) ((x1 * scaleX) + offsetX);
+					try {
+						line[kd] = alpha + ((0xff & bandR[k]) << 16) + ((0xff & bandG[k]) << 8) + (0xff & bandB[k]);
+					} catch (java.lang.ArrayIndexOutOfBoundsException e) {
+					}
+				}
+				if(task.getEvent() != null)
+					task.manageEvent(task.getEvent());
+			}
+		}
+
+		buffer = null;
+	}
+	
+	/**
+	 * Reads a window of data. The size of the input window may not coincide 
+	 * with the size of the buffer. In that case would have to resize
+	 * @param buf
+	 * @param bandList
+	 * @param x
+	 *        Initial X position in input buffer
+	 * @param y
+	 *        Initial Y position in input buffer
+	 * @throws MrSIDException
+	 * @throws ProcessInterruptedException
+	 */
+	public void readWindow(Buffer buf, 
+			BandList bandList, 
+			int x, int y, int w, int h, 
+			int bufWidth, int bufHeight) throws MrSIDException, ProcessInterruptedException {
+		if(bufWidth > buf.getWidth())
+			bufWidth = buf.getWidth();
+		
+		if(bufHeight > buf.getHeight())
+			bufHeight = buf.getHeight();
+		
+		if(buf.isCached()) {
+			int nBlocks = (int)(bufHeight / buf.getBlockHeight());
+			int lastBlock = bufHeight - (nBlocks * buf.getBlockHeight());
+			int lastBlockSrc = (lastBlock * h) / bufHeight;
+			int sizeBlockSrc = (buf.getBlockHeight() * h) / bufHeight;
+			if(lastBlock > 0)
+				nBlocks ++;
+			int initSrc = y;
+			int init = 0;
+			for (int i = 0; i < nBlocks; i++) {
+				if(lastBlock > 0 && i == (nBlocks - 1)) {
+					double[] stepSrc = new double[]{x, initSrc, w, lastBlockSrc};
+					int[] stepDst = new int[]{0, init, bufWidth, init + lastBlock};
+					readWindowInMemory(buf, bandList, stepSrc, stepDst, w, lastBlock);
+				} else {
+					double[] stepSrc = new double[]{x, initSrc, w, sizeBlockSrc};
+					int[] stepDst = new int[]{0, init, bufWidth, init + buf.getBlockHeight()};
+					readWindowInMemory(buf, bandList, stepSrc, stepDst, w, buf.getBlockHeight());
+					init += buf.getBlockHeight();
+					initSrc += sizeBlockSrc;
+				}
+			}
+		} else {
+			readWindowInMemory(buf, bandList, x, y, w, h);
+		}
+	}
+	
+	/**
+	 * Reads a window of data. The width and height is indicated by the size of the buffer 
+	 * @param buf
+	 * @param bandList
+	 * @param x
+	 *        Initial X position in input buffer
+	 * @param y
+	 *        Initial Y position in input buffer
+	 * @throws MrSIDException
+	 * @throws ProcessInterruptedException
+	 */
+	public void readWindow(Buffer buf, BandList bandList, int x, int y) throws MrSIDException, ProcessInterruptedException {
+		int w = (x + buf.getWidth()) > getWidth() ? getWidth() - x : buf.getWidth();
+		int h = (y + buf.getHeight()) > getHeight() ? getHeight() - y : buf.getHeight();
+		
+		if(buf.isCached()) {
+			int nBlocks = (int)(buf.getHeight() / buf.getBlockHeight());
+			int lastBlock = buf.getHeight() - (nBlocks * buf.getBlockHeight());
+			if(lastBlock > 0)
+				nBlocks ++;
+			int initYSrc = y;
+			int initYBuffer = 0;
+			for (int i = 0; i < nBlocks; i++) {
+				if(lastBlock > 0 && i == (nBlocks - 1)) {
+					double[] stepSrc = new double[]{x, initYSrc, w, lastBlock};
+					int[] stepDst = new int[]{0, initYBuffer, w, initYBuffer + lastBlock};
+					readWindowInMemory(buf, bandList, stepSrc, stepDst, w, lastBlock);
+				} else {
+					double[] stepSrc = new double[]{x, initYSrc, w, buf.getBlockHeight()};
+					int[] stepDst = new int[]{0, initYBuffer, w, initYBuffer + buf.getBlockHeight()};
+					readWindowInMemory(buf, bandList, stepSrc, stepDst, w, buf.getBlockHeight());
+					initYSrc += buf.getBlockHeight();
+					initYBuffer += buf.getBlockHeight();
+				}
+			}
+		} else {
+			readWindowInMemory(buf, bandList, x, y, w, h);
+		}
+	}
+	
+
+	private void readWindowInMemory(Buffer buf, BandList bandList, double[] srcPxPos, int[] stepDst, int sizeSrcX, int sizeSrcY) throws MrSIDException, ProcessInterruptedException {
+		RasterTask task = RasterTaskQueue.get(Thread.currentThread().getId() + "");
+		
+		isSupersampling = false;
+	
+		LTISceneBuffer buffer = ((LTIImageStage) this).readScene(
+					srcPxPos[0], srcPxPos[1], srcPxPos[2], srcPxPos[3], 
+					1.0, 
+					(MrSIDImageReader)this, 
+					sizeSrcX, sizeSrcY, 
+					true);
+		
+		byte[] bandBuf = null;
+		for(int iBand = 0; iBand < getNumBands(); iBand++) {
+			int[] drawableBands = bandList.getBufferBandToDraw(fileName, iBand);
+			if(drawableBands == null || (drawableBands.length == 1 && drawableBands[0] == -1))
+				continue;
+			switch(iBand) {
+			case 0:  bandBuf = buffer.buf1; break;
+			case 1:  bandBuf = buffer.buf2; break;
+			case 2:  bandBuf = buffer.buf3; break;
+			}
+			
+			int lineSrc = 0;
+			for (int line = stepDst[1]; line < stepDst[3]; line++) {
+				int colSrc = 0;
+				for (int col = stepDst[0]; col < stepDst[2]; col++) {
+					int kd = (int)((lineSrc * srcPxPos[2]) + colSrc);
+					buf.setElem(line, col, iBand, (byte)bandBuf[kd]);
+					colSrc ++;
+				}
+				lineSrc ++;
+				if(task.getEvent() != null)
+					task.manageEvent(task.getEvent());
+			}
+		}
+	}
+
+	/**
+	 * Lee una ventana de datos sin resampleo a partir de coordenadas en pixeles.
+	 * @param buf Buffer donde se almacenan los datos
+	 * @param bandList Lista de bandas que queremos leer y sobre que bandas del buffer de destino queremos escribirlas
+	 * @param x Posici�n X en pixeles
+	 * @param y Posici�n Y en pixeles
+	 * @param w Ancho en pixeles
+	 * @param h Alto en pixeles
+	 */
+	private void readWindowInMemory(Buffer buf, BandList bandList, int x, int y, int w, int h) throws MrSIDException, ProcessInterruptedException {
+		RasterTask task = RasterTaskQueue.get(Thread.currentThread().getId() + "");
+		
+		isSupersampling = false;
+	
+		LTISceneBuffer buffer = ((LTIImageStage) this).readScene((double)x, (double)y, (double)w, (double)h, 1.0, (MrSIDImageReader)this, w, h, true);
+		
+		byte[] bandBuf = null;
+		for(int iBand = 0; iBand < getNumBands(); iBand++) {
+			int[] drawableBands = bandList.getBufferBandToDraw(fileName, iBand);
+			if(drawableBands == null || (drawableBands.length == 1 && drawableBands[0] == -1))
+				continue;
+			switch(iBand) {
+			case 0:  bandBuf = buffer.buf1; break;
+			case 1:  bandBuf = buffer.buf2; break;
+			case 2:  bandBuf = buffer.buf3; break;
+			}
+			for (int line = 0; line < h; line++){
+				for (int col = 0; col < w; col++){
+					int kd = (line * w) + col;
+					buf.setElem(line, col, iBand, (byte)bandBuf[kd]);
+				}
+				if(task.getEvent() != null)
+					task.manageEvent(task.getEvent());
+			}
+		}
+	}
+
+	/**
+	 * Lee una ventana de la imagen y devuelve un buffer de bytes
+	 * @param ulX        Coordenada X de la esquina superior izquierda
+	 * @param ulY        Coordenada Y de la esquina superior izquierda
+	 * @param sizeX        Tama�o X de la imagen
+	 * @param sizeY        Tama�o Y de la image
+	 * @param band        N�mero de bandas
+	 * @return        buffer con la ventana leida
+	 * @throws MrSIDException
+	 */
+	public byte[] getWindow(int ulX, int ulY, int sizeX, int sizeY, int band) throws MrSIDException {
+		LTISceneBuffer buffer = ((LTIImageStage) this).readScene((double)ulX, (double)ulY, (double)sizeX, (double)sizeY, 1.0, (MrSIDImageReader)this, sizeX, sizeY, true);
+
+		if (band == 1) {
+			return buffer.buf1;
+		} else if (band == 2) {
+			return buffer.buf2;
+		} else if (band == 3) {
+			return buffer.buf3;
+		}
+
+		return null;
+	}
+
+	/**
+	 * Obtiene el valor de un pixel determinado por las coordenadas x e y que se pasan
+	 * por par�metro
+	 * @param x Coordenada X del pixel
+	 * @param y Coordenada Y del pixel
+	 * @return Array de Object donde cada posici�n representa una banda y el valor ser� Integer
+	 * en caso de ser byte, shot o int, Float en caso de ser float y Double en caso de ser double.
+	 */
+	public Object[] getData(int x, int y) {
+		try {
+			Object[] data = new Object[nbands];
+			for(int i = 0; i < nbands; i++){
+				byte[] b = getWindow(x, y, 1, 1, nbands);
+				switch(dataType){
+				case 0:	break;						
+				case 1:	data[i] = new Integer(b[0]);
+						break;
+				case 2:								
+				case 3:	data[i] = new Integer(b[0]);
+						break;
+				case 4:								
+				case 5: data[i] = new Integer(b[0]);
+						break;
+				case 6:	data[i] = new Float(b[0]);
+						break;
+				case 7:	data[i] = new Double(b[0]);
+						break;
+				}
+			}
+			return data;
+		} catch (MrSIDException e) {
+			return null;
+		}
+	}
+	
+	/**
+	 * Asigna una transformaci�n que es aplicada sobre la que ya tiene el propio fichero
+	 * @param t
+	 */
+	public void setExternalTransform(AffineTransform t){
+		externalTransformation = t;
+	}
+	
+	/**
+	 * Devuelve la transformaci�n del fichero de georreferenciaci�n
+	 * @return AffineTransform
+	 */
+	public AffineTransform getOwnTransformation() {
+		return ownTransformation;
+	}
+}
\ No newline at end of file

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.io/src/main/java/org/gvsig/raster/lizardtech/io/LizardTechNative.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.io/src/main/java/org/gvsig/raster/lizardtech/io/LizardTechProvider.java
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.io/src/main/java/org/gvsig/raster/lizardtech/io/LizardTechProvider.java	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.io/src/main/java/org/gvsig/raster/lizardtech/io/LizardTechProvider.java	(revision 10040)
@@ -0,0 +1,583 @@
+package org.gvsig.raster.lizardtech.io;
+
+import java.awt.geom.AffineTransform;
+import java.awt.geom.Point2D;
+import java.awt.image.BufferedImage;
+import java.io.File;
+import java.net.URI;
+import java.net.URISyntaxException;
+
+import es.gva.cit.jmrsid.MrSIDException;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.gvsig.fmap.dal.DALFileLocator;
+import org.gvsig.fmap.dal.DALLocator;
+import org.gvsig.fmap.dal.DataStore;
+import org.gvsig.fmap.dal.coverage.RasterLocator;
+import org.gvsig.fmap.dal.coverage.dataset.Buffer;
+import org.gvsig.fmap.dal.coverage.datastruct.BandList;
+import org.gvsig.fmap.dal.coverage.datastruct.Extent;
+import org.gvsig.fmap.dal.coverage.exception.BandAccessException;
+import org.gvsig.fmap.dal.coverage.exception.FileNotOpenException;
+import org.gvsig.fmap.dal.coverage.exception.InvalidSetViewException;
+import org.gvsig.fmap.dal.coverage.exception.InvalidSourceException;
+import org.gvsig.fmap.dal.coverage.exception.NotSupportedExtensionException;
+import org.gvsig.fmap.dal.coverage.exception.ParsingException;
+import org.gvsig.fmap.dal.coverage.exception.ProcessInterruptedException;
+import org.gvsig.fmap.dal.coverage.exception.RasterDriverException;
+import org.gvsig.fmap.dal.exception.OpenException;
+import org.gvsig.fmap.dal.spi.DataManagerProviderServices;
+import org.gvsig.fmap.dal.spi.DataStoreProviderServices;
+import org.gvsig.metadata.MetadataLocator;
+import org.gvsig.raster.cache.tile.provider.TileServer;
+import org.gvsig.raster.impl.buffer.SpiRasterQuery;
+import org.gvsig.raster.impl.datastruct.ExtentImpl;
+import org.gvsig.raster.impl.process.RasterTask;
+import org.gvsig.raster.impl.process.RasterTaskQueue;
+import org.gvsig.raster.impl.provider.AbstractRasterProvider;
+import org.gvsig.raster.impl.provider.RasterProvider;
+import org.gvsig.raster.impl.provider.tile.FileTileServer;
+import org.gvsig.raster.impl.store.AbstractRasterDataParameters;
+import org.gvsig.raster.impl.store.DefaultRasterStore;
+import org.gvsig.raster.impl.store.DefaultStoreFactory;
+import org.gvsig.raster.impl.store.properties.DataStoreColorInterpretation;
+import org.gvsig.raster.impl.store.properties.DataStoreTransparency;
+import org.gvsig.tools.ToolsLocator;
+/**
+ * Clase encargada del acceso a los datos y repintado de imagenes MrSID. Estos
+ * son registrados con la extensi�n sid
+ *
+ * @version 15/05/2008
+ * @author Nacho Brodin (nachobrodin@gmail.com)
+ */
+public class LizardTechProvider extends AbstractRasterProvider {
+    private static final Logger logger = LoggerFactory.getLogger(LizardTechProvider.class);
+
+	public static String                 NAME                     = "LizardTech Store";
+	public static String                 DESCRIPTION              = "LizardTech Raster file";
+	public static final String           METADATA_DEFINITION_NAME = "LizardTechStore";
+	protected LizardTechNative           lztNative                     = null;
+	private Extent                       viewRequest              = null;
+	private DataStoreColorInterpretation colorInterpr             = null;
+	protected DataStoreTransparency      fileTransparency         = null;
+	private boolean                      open                     = false;
+	protected static String[]            formatList               = null;
+
+	public static void register() {
+		RasterLocator.getManager().getProviderServices().registerFileProvidersTiled(LizardTechProvider.class);
+		registerFormats();
+
+		DataManagerProviderServices dataman = (DataManagerProviderServices) DALLocator.getDataManager();
+		if (dataman != null && !dataman.getStoreProviders().contains(NAME)) {
+			dataman.registerStoreProvider(NAME,
+					LizardTechProvider.class, LizardTechDataParameters.class);
+		}
+
+		if(DALFileLocator.getFilesystemServerExplorerManager() != null)
+			DALFileLocator.getFilesystemServerExplorerManager().registerProvider(
+					NAME, DESCRIPTION,
+					LizardTechFilesystemServerExplorer.class);
+
+		dataman.registerStoreFactory(NAME, DefaultStoreFactory.class);
+	}
+
+	private static void registerFormats() {
+		formatList      = new String[] {"sid"};
+		for (int i = 0; i < formatList.length; i++)
+			RasterLocator.getManager().getProviderServices().addFormat(formatList[i], LizardTechProvider.class);
+	}
+
+	public String[] getFormatList() {
+		return formatList;
+	}
+
+	/**
+	 * Returns true if the extension is supported and false if doesn't
+	 * @param ext
+	 * @return
+	 */
+	public boolean isExtensionSupported(String ext) {
+		if(ext.indexOf(".") != -1)
+			ext = ext.substring(ext.lastIndexOf(".") + 1, ext.length());
+		for (int i = 0; i < formatList.length; i++) {
+			if(formatList[i].compareTo(ext) == 0)
+				return true;
+		}
+		return false;
+	}
+
+	/**
+	 * Mandatory constructor to instantiate an empty provider
+	 */
+	public LizardTechProvider() {
+	}
+
+	/**
+	 * Constructor. Abre el dataset.
+	 * @param proj Proyecci�n
+	 * @param fName Nombre del fichero ecw
+	 * @throws NotSupportedExtensionException
+	 * @throws OpenException
+     * @deprecated use {@link #LizardTechProvider(URI)}, this constructor will be removed in gvSIG 2.5
+	 */
+	public LizardTechProvider(String params) throws NotSupportedExtensionException, OpenException {
+		super(params);
+        logger.info("Deprecated use of LizardTechProvider constructor");
+		if(params instanceof String) {
+			LizardTechDataParameters p = new LizardTechDataParameters();
+            URI uriObj;
+            try {
+                uriObj = new URI((String)params);
+            } catch (URISyntaxException e) {
+                throw new OpenException("Can't create uri from "+(String)params, e);
+            }
+            p.setURI(uriObj);
+			super.init(p, null, ToolsLocator.getDynObjectManager()
+					.createDynObject(
+							MetadataLocator.getMetadataManager().getDefinition(
+									DataStore.METADATA_DEFINITION_NAME)));
+			init(p, null);
+		}
+	}
+
+    /**
+     * Constructor. Abre el dataset.
+     * @param proj Proyecci�n
+     * @param fName Nombre del fichero ecw
+     * @throws NotSupportedExtensionException
+     */
+    public LizardTechProvider(URI uri) throws NotSupportedExtensionException {
+        super(uri);
+        LizardTechDataParameters p = new LizardTechDataParameters();
+        p.setURI(uri);
+        super.init(
+            p,
+            null,
+            ToolsLocator.getDynObjectManager().createDynObject(
+                MetadataLocator.getMetadataManager().getDefinition(DataStore.METADATA_DEFINITION_NAME)));
+        init(p, null);
+    }
+
+	public LizardTechProvider(LizardTechDataParameters params,
+			DataStoreProviderServices storeServices) throws NotSupportedExtensionException {
+		super(params, storeServices, ToolsLocator.getDynObjectManager()
+				.createDynObject(
+						MetadataLocator.getMetadataManager().getDefinition(
+								DataStore.METADATA_DEFINITION_NAME)));
+		init(params, storeServices);
+	}
+
+	/**
+	 * Contructor. Abre el fichero mrsid
+	 * @param proj Proyecci�n
+	 * @param fName Nombre del fichero mrsid
+	 */
+	public void init(AbstractRasterDataParameters params,
+			DataStoreProviderServices storeServices) throws NotSupportedExtensionException {
+		setParam(storeServices, params);
+		try {
+			lztNative = new LizardTechNative(new File(params.getURI()).getAbsolutePath());
+			load();
+			bandCount = lztNative.nbands;
+			int[] dt = new int[bandCount];
+			for (int i = 0; i < dt.length; i++)
+				dt[i] = Buffer.TYPE_BYTE;
+			setDataType(dt);
+			super.init();
+
+			try {
+				loadFromRmf(getRmfBlocksManager());
+			} catch (ParsingException e) {
+				// No lee desde rmf
+			}
+		} catch (Exception e) {
+			System.out.println("Error en constructor de MrSID");
+			e.printStackTrace();
+			lztNative = null;
+		}
+		open = true;
+	}
+
+	public RasterProvider load() {
+		ownTransformation = lztNative.getOwnTransformation();
+		externalTransformation = (AffineTransform) ownTransformation.clone();
+		return this;
+	}
+
+	public boolean isOpen() {
+		return open;
+	}
+
+	public void close() {
+		if (lztNative != null) {
+			lztNative.close();
+			lztNative = null;
+		}
+		open = false;
+	}
+
+	public void setView(Extent e) {
+		viewRequest = new ExtentImpl(e);
+	}
+
+	public Extent getView() {
+		return viewRequest;
+	}
+
+	public double getWidth() {
+		return lztNative.width;
+	}
+
+	public double getHeight() {
+		return lztNative.height;
+	}
+
+	/**
+	 * Asigna al objeto Image los valores con los dato de la imagen contenidos en
+	 * el vector de enteros.
+	 * @param image imagen con los datos actuales
+	 * @param startX inicio de la posici�n en X dentro de la imagen
+	 * @param startY inicio de la posici�n en X dentro de la imagen
+	 * @param w Ancho de la imagen
+	 * @param h Alto de la imagen
+	 * @param rgbArray vector que contiene la banda que se va a sustituir
+	 * @param offset desplazamiento
+	 * @param scansize tama�o de imagen recorrida por cada p
+	 */
+	protected void setRGBLine(BufferedImage image, int startX, int startY, int w, int h,
+														int[] rgbArray, int offset, int scansize) {
+		image.setRGB(startX, startY, w, h, rgbArray, offset, scansize);
+	}
+
+	public Object getData(int x, int y, int band) throws InvalidSetViewException, FileNotOpenException, RasterDriverException {
+		if (lztNative != null) {
+			if (x < 0 || y < 0 || x >= lztNative.width || y >= lztNative.height)
+				throw new InvalidSetViewException("Request out of grid");
+			Object[] data = lztNative.getData(x, y);
+			return data[band];
+		}
+		throw new FileNotOpenException("MrSIDNative not exist");
+	}
+
+	public int getBlockSize() {
+		return lztNative.blocksize;
+	}
+
+	/**
+	 * Informa de si el driver ha supersampleado en el �ltimo dibujado. Es el
+	 * driver el que colocar� el valor de esta variable cada vez que dibuja.
+	 * @return true si se ha supersampleado y false si no se ha hecho.
+	 */
+	public boolean isSupersampling() {
+		return lztNative.isSupersampling;
+	}
+
+	@Override
+	public void loadBuffer(SpiRasterQuery query)
+			throws ProcessInterruptedException, RasterDriverException {
+		setView(query.getAdjustedRequestBoundingBox());
+		int width = query.getAdjustedBufWidth();
+		int height = query.getAdjustedBufHeight();
+		lztNative.setView(viewRequest.getULX(), viewRequest.getULY(), viewRequest.getLRX(), viewRequest.getLRY(), width, height);
+
+		int[] pRGBArray = new int[width * height];
+
+		try {
+			RasterTask task = RasterTaskQueue.get(Thread.currentThread().getId() + "");
+			lztNative.readScene(pRGBArray, task);
+			loadBuffer(height,
+					width,
+					query.getBandList(),
+					query.getBufferForProviders(),
+					pRGBArray);
+		} catch (MrSIDException e) {
+			throw new RasterDriverException("Error reading data");
+		}
+	}
+
+//	private void loadCachedBuffer(	Buffer buf,
+//									Extent inputWindow,
+//									RasterTask task,
+//									int[] pRGBArray,
+//									BandList bandList) throws ProcessInterruptedException, MrSIDException {
+//		if(buf.isCached()) {
+//			Point2D blockHeightWC = rasterToWorld(new Point2D.Double(buf.getBlockHeight(), buf.getBlockHeight()));
+//			int nBlocks = (int)(inputWindow.height() / blockHeightWC.getX());
+//			double lastblockWC = inputWindow.height() - (nBlocks * blockHeightWC.getX());
+//			int lastBlock = buf.getHeight() - (nBlocks * buf.getBlockHeight());
+//			if(lastblockWC > 0)
+//				nBlocks ++;
+//			double init = inputWindow.getULY();
+//			Extent ext = null;
+//			for (int i = 0; i < nBlocks; i++) {
+//				if(lastblockWC > 0 && i == (nBlocks - 1)) {
+//					ext = RasterLocator.getManager().getDataStructFactory().createExtent(
+//							inputWindow.getULX(),
+//							init,
+//							inputWindow.getLRX(),
+//							lastblockWC);
+//					file.setView(ext.getULX(), ext.getULY(), ext.getLRX(), ext.getLRY(), buf.getWidth(), buf.getBlockHeight());
+//					file.readScene(pRGBArray, task);
+//					loadPartialBuffer(new int[]{0, i * buf.getBlockHeight(), buf.getWidth(), buf.getHeight() },
+//									bandList,
+//									buf,
+//									pRGBArray,
+//									buf.getWidth());
+//				} else {
+//					ext = RasterLocator.getManager().getDataStructFactory().createExtent(
+//							inputWindow.getULX(),
+//							init,
+//							inputWindow.getLRX(),
+//							init - blockHeightWC.getX());
+//					file.setView(ext.getULX(), ext.getULY(), ext.getLRX(), ext.getLRY(), buf.getWidth(), lastBlock);
+//					file.readScene(pRGBArray, task);
+//					loadPartialBuffer(new int[]{0, i * buf.getBlockHeight(), buf.getWidth(), i * buf.getBlockHeight() + buf.getBlockHeight() },
+//							bandList,
+//							buf,
+//							pRGBArray,
+//							buf.getWidth());
+//					init += buf.getBlockHeight();
+//				}
+//			}
+//		} else {
+//			file.setView(inputWindow.getULX(), inputWindow.getULY(), inputWindow.getLRX(), inputWindow.getLRY(), buf.getWidth(), buf.getHeight());
+//			file.readScene(pRGBArray, task);
+//			loadBuffer(buf.getWidth(), buf.getHeight(), bandList, buf, pRGBArray);
+//		}
+//	}
+//
+//	private void loadPartialBuffer(int[] stepBuffer,
+//			BandList bandList,
+//			Buffer rasterBuf,
+//			int[] pRGBArray,
+//			int bufWidth) throws ProcessInterruptedException {
+//		RasterTask task = RasterTaskQueue.get(Thread.currentThread().getId() + "");
+//		int[] drawableBandsR = bandList.getBufferBandToDraw(getURIOfFirstProvider(), 0);
+//		int[] drawableBandsG = bandList.getBufferBandToDraw(getURIOfFirstProvider(), 1);
+//		int[] drawableBandsB = bandList.getBufferBandToDraw(getURIOfFirstProvider(), 2);
+//		int element = 0;
+//		int rowSrc = 0;
+//
+//		for (int row = stepBuffer[1]; row < stepBuffer[3]; row++) {
+//			int colSrc = 0;
+//			for (int col = stepBuffer[0]; col < stepBuffer[2]; col++) {
+//				element = pRGBArray[(rowSrc * bufWidth) + colSrc];
+//				if(drawableBandsR != null) {
+//					for (int i = 0; i < drawableBandsR.length; i++) {
+//						if(drawableBandsR[i] >= 0 && drawableBandsR[i] < rasterBuf.getBandCount())
+//							rasterBuf.setElem(row, col, drawableBandsR[i], (byte) ((element & 0x00ff0000) >> 16));
+//					}
+//				}
+//				if(drawableBandsG != null) {
+//					for (int i = 0; i < drawableBandsG.length; i++) {
+//						if(drawableBandsG[i] >= 0 && drawableBandsG[i] < rasterBuf.getBandCount())
+//							rasterBuf.setElem(row, col, drawableBandsG[i], (byte) ((element & 0x0000ff00) >> 8));
+//					}
+//				}
+//				if(drawableBandsB != null) {
+//					for (int i = 0; i < drawableBandsB.length; i++) {
+//						if(drawableBandsB[i] >= 0 && drawableBandsB[i] < rasterBuf.getBandCount())
+//							rasterBuf.setElem(row, col, drawableBandsB[i], (byte) (element & 0x000000ff));
+//					}
+//				}
+//				colSrc ++;
+//			}
+//			if (task.getEvent() != null)
+//				task.manageEvent(task.getEvent());
+//			rowSrc ++;
+//		}
+//	}
+
+	private void loadBuffer(int h, int w, BandList bandList, Buffer rasterBuf, int[] pRGBArray) throws ProcessInterruptedException {
+		RasterTask task = RasterTaskQueue.get(Thread.currentThread().getId() + "");
+		String absolutePath = new File(getURIOfFirstProvider()).getAbsolutePath();
+        int[] drawableBandsR = bandList.getBufferBandToDraw(absolutePath, 0);
+		int[] drawableBandsG = bandList.getBufferBandToDraw(absolutePath, 1);
+		int[] drawableBandsB = bandList.getBufferBandToDraw(absolutePath, 2);
+		int element = 0;
+
+		for (int row = 0; row < h; row++) {
+			for (int col = 0; col < w; col++) {
+				element = pRGBArray[(row * w) + col];
+				if(drawableBandsR != null) {
+					for (int i = 0; i < drawableBandsR.length; i++) {
+						if(drawableBandsR[i] >= 0 && drawableBandsR[i] < rasterBuf.getBandCount())
+							rasterBuf.setElem(row, col, drawableBandsR[i], (byte) ((element & 0x00ff0000) >> 16));
+					}
+				}
+				if(drawableBandsG != null) {
+					for (int i = 0; i < drawableBandsG.length; i++) {
+						if(drawableBandsG[i] >= 0 && drawableBandsG[i] < rasterBuf.getBandCount())
+							rasterBuf.setElem(row, col, drawableBandsG[i], (byte) ((element & 0x0000ff00) >> 8));
+					}
+				}
+				if(drawableBandsB != null) {
+					for (int i = 0; i < drawableBandsB.length; i++) {
+						if(drawableBandsB[i] >= 0 && drawableBandsB[i] < rasterBuf.getBandCount())
+							rasterBuf.setElem(row, col, drawableBandsB[i], (byte) (element & 0x000000ff));
+					}
+				}
+			}
+			if (task.getEvent() != null)
+				task.manageEvent(task.getEvent());
+		}
+	}
+
+	public Object readBlock(int pos, int blockHeight, double scale) throws InvalidSetViewException, FileNotOpenException, RasterDriverException, ProcessInterruptedException {
+		RasterTask task = RasterTaskQueue.get(Thread.currentThread().getId() + "");
+
+		if (pos < 0)
+			throw new InvalidSetViewException("Request out of grid");
+
+		if ((pos + blockHeight) > lztNative.height)
+			blockHeight = Math.abs(lztNative.height - pos);
+
+		Point2D begin = rasterToWorld(new Point2D.Double(0, pos));
+		Point2D end = rasterToWorld(new Point2D.Double(lztNative.width, pos + blockHeight));
+
+		int w = lztNative.width;
+
+		lztNative.setView(begin.getX(), begin.getY(), end.getX(), end.getY(), w, blockHeight);
+
+		int[] pRGBArray = new int[lztNative.width * blockHeight];
+		try {
+			lztNative.readScene(pRGBArray, task);
+			byte[][][] buf = new byte[3][blockHeight][w];
+			for (int row = 0; row < blockHeight; row++) {
+				for (int col = 0; col < w; col++) {
+					buf[0][row][col] = (byte) ((pRGBArray[(row * w) + col] & 0x00ff0000) >> 16);
+					buf[1][row][col] = (byte) ((pRGBArray[(row * w) + col] & 0x0000ff00) >> 8);
+					buf[2][row][col] = (byte) (pRGBArray[(row * w) + col] & 0x000000ff);
+				}
+				if (task.getEvent() != null)
+					task.manageEvent(task.getEvent());
+			}
+			return buf;
+		} catch (MrSIDException e) {
+			throw new RasterDriverException("Error reading data");
+		}
+	}
+
+	/**
+	 * Read a line from the file
+	 * @param line
+	 * @param band
+	 * @return
+	 * @throws InvalidSetViewException
+	 * @throws FileNotOpenException
+	 * @throws RasterDriverException
+	 * @Deprecated This operation is deprecated because is not useful and in the future
+	 * it will not be maintained. The abstract operation has dissapear
+	 */
+	public Object readCompleteLine(int line, int band)
+					throws InvalidSetViewException, FileNotOpenException, RasterDriverException {
+		RasterTask task = RasterTaskQueue.get(Thread.currentThread().getId() + "");
+
+		if (line > this.getHeight() || band > this.getBandCount())
+			throw new InvalidSetViewException("Request out of grid");
+
+		try {
+			Extent extent = getExtent();
+			Point2D pt = rasterToWorld(new Point2D.Double(extent.minX(), line));
+			lztNative.setView(extent.minX(), pt.getY(), extent.maxX(), pt.getY(), (int)getWidth(), 1);
+			int[] pRGBArray = new int[(int)getWidth()];
+			lztNative.readScene(pRGBArray, task);
+			return pRGBArray;
+		} catch (MrSIDException e) {
+			throw new RasterDriverException("Error reading data from MrSID library");
+		} catch (ProcessInterruptedException e) {
+			// El proceso que debe ser interrumpido es el que llama a readLine.
+		}
+		return null;
+	}
+
+	public DataStoreTransparency getTransparency() {
+		if (fileTransparency == null)
+			fileTransparency = new DataStoreTransparency(getColorInterpretation());
+		return fileTransparency;
+	}
+
+	public DataStoreColorInterpretation getColorInterpretation() {
+		if(colorInterpr == null) {
+			colorInterpr = new DataStoreColorInterpretation();
+			colorInterpr.initColorInterpretation(getBandCount());
+			if(getBandCount() == 1)
+				colorInterpr = DataStoreColorInterpretation.createGrayInterpretation();
+			if(getBandCount() == 3) {
+				colorInterpr =  DataStoreColorInterpretation.createRGBInterpretation();
+			}
+			if(getBandCount() >= 4) {
+				colorInterpr = DataStoreColorInterpretation.createRGBAInterpretation();
+			}
+		}
+		return colorInterpr;
+	}
+
+	public String getWktProjection() {
+		// System.err.println("======>" + file);
+		return null;
+	}
+
+	public void setAffineTransform(AffineTransform t) {
+		super.setAffineTransform(t);
+		lztNative.setExternalTransform(t);
+	}
+
+	public int getOverviewCount(int band) throws BandAccessException, RasterDriverException {
+		if (band >= getBandCount())
+			throw new BandAccessException("Wrong band");
+		try {
+			return lztNative.getNumLevels();
+		} catch (MrSIDException e) {
+			throw new RasterDriverException("");
+		}
+	}
+
+	public int getOverviewWidth(int band, int overview) throws BandAccessException, RasterDriverException {
+		if (band >= getBandCount())
+			throw new BandAccessException("Wrong band");
+		return 0;
+	}
+
+	public int getOverviewHeight(int band, int overview) throws BandAccessException, RasterDriverException {
+		if (band >= getBandCount())
+			throw new BandAccessException("Wrong band");
+		return 0;
+	}
+
+	public boolean isOverviewsSupported() {
+		// No podemos escribir por lo que no podemos informar de que soporta overviews aunque el formato si lo haga.
+		return false;
+	}
+
+	public String getProviderName() {
+		return NAME;
+	}
+
+	public void setStatus(RasterProvider provider) {
+		if(provider instanceof LizardTechProvider) {
+			//Not implemented yet
+		}
+	}
+
+	public TileServer getTileServer() {
+		if(tileServer == null) {
+			DefaultRasterStore store = new DefaultRasterStore();
+			store.setProvider(this);
+			tileServer = new FileTileServer(store);
+		}
+		return tileServer;
+	}
+
+    public void addFile(File file) throws InvalidSourceException {
+        // Do nothing
+    }
+
+    public void removeFile(File file) {
+        // Do nothing
+    }
+
+
+}
\ No newline at end of file

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.io/src/main/java/org/gvsig/raster/lizardtech/io/LizardTechProvider.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.io/src/main/java/org/gvsig/raster/lizardtech/io/LizardTechFilesystemServerExplorer.java
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.io/src/main/java/org/gvsig/raster/lizardtech/io/LizardTechFilesystemServerExplorer.java	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.io/src/main/java/org/gvsig/raster/lizardtech/io/LizardTechFilesystemServerExplorer.java	(revision 10040)
@@ -0,0 +1,134 @@
+/* gvSIG. Geographic Information System of the Valencian Government
+*
+* Copyright (C) 2007-2008 Infrastructures and Transports Department
+* of the Valencian Government (CIT)
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+* MA  02110-1301, USA.
+*
+*/
+
+/*
+* AUTHORS (In addition to CIT):
+* 2009 IVER T.I   {{Task}}
+*/
+
+package org.gvsig.raster.lizardtech.io;
+
+import java.io.File;
+
+import org.gvsig.fmap.dal.DALLocator;
+import org.gvsig.fmap.dal.DataManager;
+import org.gvsig.fmap.dal.DataServerExplorer;
+import org.gvsig.fmap.dal.DataStoreParameters;
+import org.gvsig.fmap.dal.NewDataStoreParameters;
+import org.gvsig.fmap.dal.coverage.RasterLocator;
+import org.gvsig.fmap.dal.exception.CreateException;
+import org.gvsig.fmap.dal.exception.DataException;
+import org.gvsig.fmap.dal.exception.RemoveException;
+import org.gvsig.fmap.dal.serverexplorer.filesystem.impl.AbstractFilesystemServerExplorerProvider;
+import org.gvsig.fmap.dal.serverexplorer.filesystem.spi.FilesystemServerExplorerProviderServices;
+import org.gvsig.raster.impl.store.AbstractRasterFileDataParameters;
+
+public class LizardTechFilesystemServerExplorer extends AbstractFilesystemServerExplorerProvider {
+	
+	/*
+	 * (non-Javadoc)
+	 * @see org.gvsig.fmap.dal.serverexplorer.filesystem.spi.FilesystemServerExplorerProvider#canCreate()
+	 */
+	public boolean canCreate() {
+		return false;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.gvsig.fmap.dal.serverexplorer.filesystem.spi.FilesystemServerExplorerProvider#canCreate(org.gvsig.fmap.dal.NewDataStoreParameters)
+	 */
+	public boolean canCreate(NewDataStoreParameters parameters) {
+		return false;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.gvsig.fmap.dal.serverexplorer.filesystem.spi.FilesystemServerExplorerProvider#create(org.gvsig.fmap.dal.NewDataStoreParameters, boolean)
+	 */
+	public void create(NewDataStoreParameters parameters, boolean overwrite)
+			throws CreateException {
+		throw new UnsupportedOperationException();
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.gvsig.fmap.dal.serverexplorer.filesystem.spi.FilesystemServerExplorerProvider#getCreateParameters()
+	 */
+	public NewDataStoreParameters getCreateParameters() throws DataException {
+		return null;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.gvsig.fmap.dal.serverexplorer.filesystem.spi.FilesystemServerExplorerProvider#initialize(org.gvsig.fmap.dal.serverexplorer.filesystem.spi.FilesystemServerExplorerProviderServices)
+	 */
+	public void initialize(
+		FilesystemServerExplorerProviderServices serverExplorer) {
+	}
+	
+	/*
+	 * (non-Javadoc)
+	 * @see org.gvsig.fmap.dal.serverexplorer.filesystem.spi.FilesystemServerExplorerProvider#remove(org.gvsig.fmap.dal.DataStoreParameters)
+	 */
+	public void remove(DataStoreParameters parameters) throws RemoveException {
+		throw new UnsupportedOperationException();
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.gvsig.fmap.dal.serverexplorer.filesystem.FilesystemFileFilter#getDataStoreProviderName()
+	 */
+	public String getDataStoreProviderName() {
+		return LizardTechProvider.NAME;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see java.io.FileFilter#accept(java.io.File)
+	 */
+	public boolean accept(File pathname) {
+		return RasterLocator.getManager().getProviderServices().isExtensionSupported(
+				pathname.getAbsolutePath(), 
+				LizardTechProvider.class);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.gvsig.fmap.dal.serverexplorer.filesystem.FilesystemFileFilter#getDescription()
+	 */
+	public String getDescription() {
+		return LizardTechProvider.DESCRIPTION;
+	}
+
+	public DataStoreParameters getParameters(File file) throws DataException {
+		DataManager manager = DALLocator.getDataManager();
+		AbstractRasterFileDataParameters params = (AbstractRasterFileDataParameters) manager
+				.createStoreParameters(this.getDataStoreProviderName());
+		params.setFile(file);
+		return params;
+	}
+	
+	public int getMode() {
+		return DataServerExplorer.MODE_RASTER;
+	}
+
+}

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.io/src/main/java/org/gvsig/raster/lizardtech/io/LizardTechFilesystemServerExplorer.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.io/src/main/java/org/gvsig/raster/lizardtech/io/LizardTechDataParameters.java
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.io/src/main/java/org/gvsig/raster/lizardtech/io/LizardTechDataParameters.java	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.io/src/main/java/org/gvsig/raster/lizardtech/io/LizardTechDataParameters.java	(revision 10040)
@@ -0,0 +1,76 @@
+/* gvSIG. Geographic Information System of the Valencian Government
+*
+* Copyright (C) 2007-2008 Infrastructures and Transports Department
+* of the Valencian Government (CIT)
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+* MA  02110-1301, USA.
+*
+*/
+
+/*
+* AUTHORS (In addition to CIT):
+* 2009 IVER T.I   {{Task}}
+*/
+
+package org.gvsig.raster.lizardtech.io;
+
+import org.gvsig.raster.impl.store.AbstractRasterDataParameters;
+import org.gvsig.raster.impl.store.AbstractRasterFileDataParameters;
+import org.gvsig.tools.ToolsLocator;
+import org.gvsig.tools.dynobject.DelegatedDynObject;
+import org.gvsig.tools.dynobject.DynStruct;
+import org.gvsig.tools.persistence.PersistenceManager;
+
+/**
+ * Parameters for the Gdal provider
+ * @author Nacho Brodin (nachobrodin@gmail.com)
+ */
+public class LizardTechDataParameters extends AbstractRasterFileDataParameters {
+    
+	public LizardTechDataParameters() {
+		initialize();
+	}
+	
+	protected void initialize() {
+		this.delegatedDynObject = (DelegatedDynObject) ToolsLocator
+				.getDynObjectManager().createDynObject(
+						registerDynClass());
+	}
+	
+	public String getDataStoreName() {
+		return LizardTechProvider.NAME;
+	}
+	
+	public String getDescription() {
+		return LizardTechProvider.DESCRIPTION;
+	}
+	
+	public static DynStruct registerDynClass() {
+		PersistenceManager manager = ToolsLocator.getPersistenceManager();
+		DynStruct definition = manager.getDefinition("LizardTechDataParameters_Persistent");
+		if( definition == null ) {
+			definition = manager.addDefinition(
+					LizardTechDataParameters.class,
+					"LizardTechDataParameters_Persistent",
+					"LizardTechDataParameters Persistent",
+					null, 
+					null
+			);
+			AbstractRasterDataParameters.registerDynClass(definition);
+		}
+		return definition;
+	}
+}

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.io/src/main/java/org/gvsig/raster/lizardtech/io/LizardTechDataParameters.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.io/src/main/java/org/gvsig/raster/lizardtech/io/DefaultLizardtechIOLibrary.java
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.io/src/main/java/org/gvsig/raster/lizardtech/io/DefaultLizardtechIOLibrary.java	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.io/src/main/java/org/gvsig/raster/lizardtech/io/DefaultLizardtechIOLibrary.java	(revision 10040)
@@ -0,0 +1,58 @@
+/* gvSIG. Geographic Information System of the Valencian Government
+ *
+ * Copyright (C) 2007-2008 Infrastructures and Transports Department
+ * of the Valencian Government (CIT)
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ */
+package org.gvsig.raster.lizardtech.io;
+
+import org.gvsig.fmap.dal.DALFileLibrary;
+import org.gvsig.fmap.dal.DALLibrary;
+import org.gvsig.raster.impl.store.AbstractNewRasterStoreParameters;
+import org.gvsig.tools.ToolsLibrary;
+import org.gvsig.tools.library.AbstractLibrary;
+import org.gvsig.tools.library.Library;
+import org.gvsig.tools.library.LibraryException;
+/**
+ *
+ * @author Nacho Brodin (nachobrodin@gmail.com)
+ */
+public class DefaultLizardtechIOLibrary extends AbstractLibrary {	
+
+	@SuppressWarnings("deprecation")
+	public DefaultLizardtechIOLibrary() {
+		super(DefaultLizardtechIOLibrary.class,Library.TYPE.IMPL);
+		require(ToolsLibrary.class);
+		require(DALLibrary.class);
+		require(DALFileLibrary.class);
+	}
+	
+	@Override
+	protected void doInitialize() throws LibraryException {
+		//RasterLibrary.wakeUp();
+	}
+
+	@Override
+	protected void doPostInitialize() throws LibraryException {
+		AbstractNewRasterStoreParameters.registerDynClass();
+		
+		// Registro de los drivers de lectura
+		LizardTechProvider.register();
+		LizardTechDataParameters.registerDynClass();
+	}
+}

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.io/src/main/java/org/gvsig/raster/lizardtech/io/DefaultLizardtechIOLibrary.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain


Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.io
___________________________________________________________________
Added: svn:ignore
   + target

.settings

.classpath

.project


Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/pom.xml
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/pom.xml	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/pom.xml	(revision 10040)
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<artifactId>org.gvsig.raster.lizardtech</artifactId>
+	<packaging>pom</packaging>
+	<version>2.2.84</version>
+	<name>org.gvsig.raster.lizardtech</name>
+	<description>Lizardtech SDK data provider for gvSIG</description>
+	<inceptionYear>2011</inceptionYear>
+	<parent>
+      <groupId>org.gvsig</groupId>
+      <artifactId>org.gvsig.desktop</artifactId>
+      <version>2.0.250</version>
+  </parent>
+
+  <properties>
+      <!--
+        To change jmrsid version see also platform depdent projects
+        org.gvsig.raster.lizardtech.app.*
+      -->
+      <jmrsid.version>2.0.0</jmrsid.version>
+
+      <!-- El plugin versions:use-latest-versions falla con scope import -->
+      <!-- asi que toca usar el versions:update-properties que si que funciona -->
+      <org.gvsig.raster.version>2.2.99</org.gvsig.raster.version>
+  </properties>
+
+    <repositories>
+      <repository>
+        <id>gvsig-public-http-repository</id>
+        <name>gvSIG maven public HTTP repository</name>
+        <url>http://devel.gvsig.org/m2repo/j2se</url>
+        <releases>
+          <enabled>true</enabled>
+          <updatePolicy>daily</updatePolicy>
+          <checksumPolicy>warn</checksumPolicy>
+        </releases>
+        <snapshots>
+          <enabled>true</enabled>
+          <updatePolicy>daily</updatePolicy>
+          <checksumPolicy>warn</checksumPolicy>
+        </snapshots>
+      </repository>
+    </repositories>
+
+    <scm>
+        <connection>scm:svn:https://devel.gvsig.org/svn/gvsig-raster/org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84</connection>
+        <developerConnection>scm:svn:https://devel.gvsig.org/svn/gvsig-raster/org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84</developerConnection>
+        <url>https://devel.gvsig.org/redmine/projects/gvsig-raster/repository/show/org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84</url>
+    </scm>
+	<developers>
+        <developer>
+            <id>nbrodin</id>
+            <name>Nacho Brodin</name>
+            <email>nachobrodin@gmail.com</email>
+            <roles>
+                <role>Architect</role>
+                <role>Developer</role>
+            </roles>
+        </developer>
+    </developers>
+    <dependencyManagement>
+    	<dependencies>
+                        <dependency>
+                                <groupId>org.gvsig</groupId>
+                                <artifactId>org.gvsig.raster</artifactId>
+                                <version>${org.gvsig.raster.version}</version>
+                                <type>pom</type>
+                                <scope>import</scope>
+                        </dependency>
+
+	        <dependency>
+				    <groupId>org.gvsig</groupId>
+				    <artifactId>org.gvsig.jmrsid</artifactId>
+				    <version>${jmrsid.version}</version>
+			    </dependency>
+			    <dependency>
+				    <groupId>org.gvsig</groupId>
+				    <artifactId>org.gvsig.raster.lizardtech.io</artifactId>
+				    <version>2.2.84</version>
+         	</dependency>
+			    <dependency>
+				    <groupId>org.gvsig</groupId>
+				    <artifactId>org.gvsig.raster.lizardtech.app.common</artifactId>
+				    <version>2.2.84</version>
+    				<type>zip</type>
+         	</dependency>
+			    <dependency>
+				    <groupId>org.gvsig</groupId>
+				    <artifactId>org.gvsig.raster.lizardtech.app.common</artifactId>
+				    <version>2.2.84</version>
+         	</dependency>
+    	</dependencies>
+    </dependencyManagement>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-release-plugin</artifactId>
+                <configuration>
+                    <tagBase>https://devel.gvsig.org/svn/gvsig-raster/org.gvsig.raster.lizardtech/tags/</tagBase>
+                    <goals>deploy</goals>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+	<modules>
+		<module>org.gvsig.raster.lizardtech.io</module>
+		<module>org.gvsig.raster.lizardtech.app</module>
+	</modules>
+</project>

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/pom.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.lin.x86_64/buildNumber.properties
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.lin.x86_64/buildNumber.properties	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.lin.x86_64/buildNumber.properties	(revision 10040)
@@ -0,0 +1,2 @@
+#Wed Oct 16 00:16:19 CEST 2019
+buildNumber=137
Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.lin.x86_64/src/main/resources-plugin/autorun.sh
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.lin.x86_64/src/main/resources-plugin/autorun.sh	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.lin.x86_64/src/main/resources-plugin/autorun.sh	(revision 10040)
@@ -0,0 +1,35 @@
+#!/bin/sh
+#
+# gvSIG. Desktop Geographic Information System.
+#
+# Copyright (C) 2007-2013 gvSIG Association.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 3
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+# MA  02110-1301, USA.
+#
+# For any additional information, do not hesitate to contact us
+# at info AT gvsig.com, or visit our website www.gvsig.com.
+#
+
+
+#
+# Plugin autorun
+# 
+
+PLUGIN_NAME=$(basename "$PLUGIN_FOLDER")
+
+add_library_path "$PLUGIN_FOLDER/jmrsid/lib64"
+
+list_shared_library_dependencies "$PLUGIN_FOLDER/jmrsid/lib64/"libjmrsid*
Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.lin.x86_64/src/main/assembly/gvsig-plugin-package.xml
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.lin.x86_64/src/main/assembly/gvsig-plugin-package.xml	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.lin.x86_64/src/main/assembly/gvsig-plugin-package.xml	(revision 10040)
@@ -0,0 +1,70 @@
+<!--
+
+    gvSIG. Desktop Geographic Information System.
+
+    Copyright (C) 2007-2013 gvSIG Association.
+
+    This program is free software; you can redistribute it and/or
+    modify it under the terms of the GNU General Public License
+    as published by the Free Software Foundation; either version 3
+    of the License, or (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+    MA  02110-1301, USA.
+
+    For any additional information, do not hesitate to contact us
+    at info AT gvsig.com, or visit our website www.gvsig.com.
+
+-->
+<assembly>
+  <id>gvsig-plugin-package</id>
+  <formats>
+    <format>zip</format>
+  </formats>
+  <baseDirectory>${gvsig.package.info.code}</baseDirectory>
+  <includeBaseDirectory>true</includeBaseDirectory>
+  <files>
+    <file>
+      <source>target/package.info</source>
+    </file>
+  </files>
+
+  <fileSets>
+    <fileSet>
+      <directory>target/org.gvsig.raster.lizardtech.app.common</directory>
+      <outputDirectory>.</outputDirectory>
+      <excludes>
+      	<exclude>package.info</exclude>
+      </excludes>
+    </fileSet>
+    <fileSet>
+      <directory>target/native/jmrsid</directory>
+      <outputDirectory>./jmrsid</outputDirectory>
+    </fileSet>
+    <fileSet>
+      <directory>src/main/resources-plugin</directory>
+      <outputDirectory>.</outputDirectory>
+    </fileSet>
+  </fileSets>
+
+
+  <dependencySets>
+    <dependencySet>
+      <useProjectArtifact>false</useProjectArtifact>
+      <useTransitiveDependencies>false</useTransitiveDependencies>
+      <outputDirectory>lib</outputDirectory>
+		<includes>
+            <include>org.gvsig:org.gvsig.jmrsid:jar</include>
+		</includes>
+    </dependencySet>
+  </dependencySets>
+
+</assembly>
+
Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.lin.x86_64/pom.xml
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.lin.x86_64/pom.xml	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.lin.x86_64/pom.xml	(revision 10040)
@@ -0,0 +1,188 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>org.gvsig.raster.lizardtech.app.lin.x86_64</artifactId>
+  <packaging>jar</packaging>
+   
+ 	<parent>
+		<groupId>org.gvsig</groupId>
+		<artifactId>org.gvsig.raster.lizardtech.app</artifactId>
+    <version>2.2.84</version>
+	</parent>
+
+  <properties>
+    <gvsig.package.info.operatingSystem>lin</gvsig.package.info.operatingSystem>
+    <gvsig.package.info.architecture>x86_64</gvsig.package.info.architecture>
+    
+    <jmrsid.classifier>linux-all-gcc4-X86_64-dynamic</jmrsid.classifier>
+    <jmrsid.version>2.0.0</jmrsid.version>
+    
+    <!--
+    No hay version dinamica de la libreria de mrsid, esta enlazada staticamente
+    en jmrsid.
+    <mrsid.classifier >linux-all-gcc4-X86_64-dynamic</mrsid.classifier>
+ 		<mrsid.version>7.0.0.2164</mrsid.version>     
+ 		-->
+ 		
+  </properties>
+  
+  <dependencyManagement>
+      <dependencies>
+       <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.jmrsid</artifactId>
+            <version>${jmrsid.version}</version>
+            <classifier>${jmrsid.classifier}</classifier>
+            <type>tar.gz</type>
+        </dependency>
+        
+        <!--
+         <dependency>
+	          <groupId>com.lizardtech</groupId>
+	          <artifactId>mrsid</artifactId>
+            <classifier>${mrsid.classifier}</classifier>
+            <version>${mrsid.version}</version>
+            <type>tar.gz</type>
+	    </dependency>      
+      -->
+    </dependencies>
+  </dependencyManagement>
+
+  <dependencies>
+  
+    <dependency>
+      <groupId>org.gvsig</groupId>
+      <artifactId>org.gvsig.raster.lizardtech.app.common</artifactId>
+      <type>zip</type>
+    </dependency>
+    <dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.andami</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.raster.lizardtech.io</artifactId>
+			<scope>runtime</scope>
+		</dependency>
+
+
+
+		<dependency>
+			  <groupId>org.gvsig</groupId>
+        <artifactId>org.gvsig.jmrsid</artifactId>
+        <version>${jmrsid.version}</version>
+        <scope>compile</scope>
+		</dependency>
+    <dependency>
+        <groupId>org.gvsig</groupId>
+        <artifactId>org.gvsig.jmrsid</artifactId>
+        <version>${jmrsid.version}</version>
+        <classifier>${jmrsid.classifier}</classifier>
+        <type>tar.gz</type>
+        <scope>runtime</scope>
+    </dependency>
+    <!--
+    <dependency>
+        <groupId>com.lizardtech</groupId>
+        <artifactId>mrsid</artifactId>
+        <classifier>${mrsid.classifier}</classifier>
+        <version>${mrsid.version}</version>
+        <type>tar.gz</type>
+        <scope>runtime</scope>
+    </dependency>
+    -->
+  </dependencies>
+
+  <build>
+    <plugins>
+  
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-dependency-plugin</artifactId>
+        <executions>
+          <execution>
+          	<id>unpack</id>
+	        <phase>process-sources</phase>
+	        <goals>
+	          <goal>unpack</goal>
+	        </goals>
+	        <configuration>
+	          <artifactItems>
+	            <artifactItem>
+		            <groupId>org.gvsig</groupId>
+		            <artifactId>org.gvsig.raster.lizardtech.app.common</artifactId>
+		            <type>zip</type>
+					      <overWrite>true</overWrite>
+					      <outputDirectory>target</outputDirectory>
+	            </artifactItem>
+	            
+	            <artifactItem>
+                <groupId>org.gvsig</groupId>
+                <artifactId>org.gvsig.jmrsid</artifactId>
+                <version>${jmrsid.version}</version>
+                <classifier>${jmrsid.classifier}</classifier>
+                <type>tar.gz</type>
+					      <overWrite>true</overWrite>
+					      <outputDirectory>target/native/jmrsid</outputDirectory>
+	            </artifactItem>
+	     
+	            <!--       
+	            <artifactItem>
+                <groupId>com.lizardtech</groupId>
+                <artifactId>mrsid</artifactId>
+                <classifier>${mrsid.classifier}</classifier>
+                <version>${mrsid.version}</version>
+                <type>tar.gz</type>
+					      <overWrite>true</overWrite>
+					      <outputDirectory>target/native/mrsid</outputDirectory>
+	            </artifactItem>
+	            -->
+	            
+	          </artifactItems>
+	        </configuration>
+          </execution>
+        </executions>
+	  </plugin>
+  
+  
+    </plugins>
+  </build>
+  <!-- 
+  The profiles only configure the automatic deploy of gvSIG plugin in the gvSIG
+  configured in HOME/.gvsig-devel.properties
+  -->
+  <profiles>
+  
+    <profile>
+      <id>gvsig-plugin-install-raster-linux-x86_64</id>
+      <activation>
+         <os>
+             <family>unix</family>
+             <name>linux</name>
+             <arch>x86_64</arch>
+         </os>
+      </activation>
+	    <properties>
+	      <gvsig.install.plugin>true</gvsig.install.plugin>
+	    </properties>
+    </profile>
+
+    <profile>
+      <id>gvsig-plugin-install-raster-linux-amd64</id>
+      <activation>
+         <os>
+             <family>unix</family>
+             <name>linux</name>
+             <arch>amd64</arch>
+         </os>
+      </activation>
+      <properties>
+         <gvsig.install.plugin>true</gvsig.install.plugin>
+      </properties>
+    </profile>
+
+  </profiles>
+  
+</project>
+

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.lin.x86_64
___________________________________________________________________
Added: svn:ignore
   + target


Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/pom.xml
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/pom.xml	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/pom.xml	(revision 10040)
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>org.gvsig.raster.lizardtech.app</artifactId>
+  <packaging>pom</packaging>
+	<name>Formats: MrSID file format support</name>
+	<description>Lizardtech data provider (MrSID) for gvSIG</description>
+	<parent>
+    <groupId>org.gvsig</groupId>
+    <artifactId>org.gvsig.raster.lizardtech</artifactId>
+    <version>2.2.84</version>
+  </parent>
+  
+  <properties>
+    <svn.tags.folder>https://devel.gvsig.org/svn/gvsig-raster/org.gvsig.raster.lizardtech/tags/</svn.tags.folder>
+    <gvsig.install.plugin>false</gvsig.install.plugin>  
+        
+    <gvsig.package.info.state>testing</gvsig.package.info.state>
+    <gvsig.package.info.official>true</gvsig.package.info.official>
+    <gvsig.package.info.operatingSystem>all</gvsig.package.info.operatingSystem>
+    <gvsig.package.info.architecture>all</gvsig.package.info.architecture>
+		<gvsig.package.info.categories>Raster, Formats</gvsig.package.info.categories>
+    <gvsig.package.info.poolURL>https://devel.gvsig.org/download/projects/Raster/pool/</gvsig.package.info.poolURL>
+    <gvsig.package.info.dependencies />
+    <gvsig.package.info.code>org.gvsig.raster.lizardtech.app</gvsig.package.info.code>
+    <gvsig.package.info.codealias />
+    <gvsig.package.info.name>${project.parent.name}</gvsig.package.info.name>
+    <gvsig.package.info.description>${project.parent.description}</gvsig.package.info.description>
+    <gvsig.install.plugin>false</gvsig.install.plugin>    
+		<gvsig.package.info.dependencies>required: org.gvsig.raster.tilecache.app -ge 2</gvsig.package.info.dependencies>
+
+  </properties>
+  
+  <modules>
+    <module>org.gvsig.raster.lizardtech.app.common</module>
+    <module>org.gvsig.raster.lizardtech.app.lin.x86</module>
+    <module>org.gvsig.raster.lizardtech.app.lin.x86_64</module>
+    <module>org.gvsig.raster.lizardtech.app.win.x86</module>
+  </modules>
+
+
+</project>
+

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/pom.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.win.x86/pom.xml
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.win.x86/pom.xml	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.win.x86/pom.xml	(revision 10040)
@@ -0,0 +1,229 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>org.gvsig.raster.lizardtech.app.win.x86</artifactId>
+  <packaging>jar</packaging>
+
+ 	<parent>
+		<groupId>org.gvsig</groupId>
+		<artifactId>org.gvsig.raster.lizardtech.app</artifactId>
+    <version>2.2.84</version>
+	</parent>
+
+  <properties>
+    <gvsig.package.info.operatingSystem>win</gvsig.package.info.operatingSystem>
+    <gvsig.package.info.architecture>x86</gvsig.package.info.architecture>
+
+    <jmrsid.classifier>win-nt-vs8-i386-dynamic</jmrsid.classifier>
+    <jmrsid.version>2.0.0</jmrsid.version>
+
+    <mrsid.classifier>win-nt-vs8-i386-dynamic</mrsid.classifier>
+    <mrsid.version>7.0.0.2164</mrsid.version>
+
+    <visualcppredist1.classifier>win-nt-vs8-i386-dynamic</visualcppredist1.classifier>
+    <visualcppredist1.version>2008</visualcppredist1.version>
+
+    <visualcppredist2.classifier>win-nt-vs9-i386-dynamic</visualcppredist2.classifier>
+    <visualcppredist2.version>9.0.21022.8</visualcppredist2.version>
+
+
+  </properties>
+
+  <dependencyManagement>
+      <dependencies>
+       <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.jmrsid</artifactId>
+            <version>${jmrsid.version}</version>
+            <classifier>${jmrsid.classifier}</classifier>
+            <type>tar.gz</type>
+        </dependency>
+
+         <dependency>
+	          <groupId>com.lizardtech</groupId>
+	          <artifactId>mrsid</artifactId>
+            <classifier>${mrsid.classifier}</classifier>
+            <version>${mrsid.version}</version>
+            <type>tar.gz</type>
+	    </dependency>
+
+	    <dependency>
+		    <groupId>com.microsoft</groupId>
+		    <artifactId>visualcppredist</artifactId>
+		    <version>${visualcppredist1.version}</version>
+		    <classifier>${visualcppredist1.classifier}</classifier>
+		    <type>tar.gz</type>
+	    </dependency>
+
+	    <dependency>
+		    <groupId>com.microsoft</groupId>
+		    <artifactId>visualcppredist</artifactId>
+		    <version>${visualcppredist2.version}</version>
+		    <classifier>${visualcppredist2.classifier}</classifier>
+		    <type>tar.gz</type>
+	    </dependency>
+
+    </dependencies>
+  </dependencyManagement>
+
+  <dependencies>
+
+    <dependency>
+      <groupId>org.gvsig</groupId>
+      <artifactId>org.gvsig.raster.lizardtech.app.common</artifactId>
+      <type>zip</type>
+    </dependency>
+    <dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.andami</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.raster.lizardtech.io</artifactId>
+			<scope>runtime</scope>
+		</dependency>
+
+
+
+		<dependency>
+			  <groupId>org.gvsig</groupId>
+        <artifactId>org.gvsig.jmrsid</artifactId>
+        <version>${jmrsid.version}</version>
+        <scope>compile</scope>
+		</dependency>
+    <dependency>
+        <groupId>org.gvsig</groupId>
+        <artifactId>org.gvsig.jmrsid</artifactId>
+        <version>${jmrsid.version}</version>
+        <classifier>${jmrsid.classifier}</classifier>
+        <type>tar.gz</type>
+        <scope>runtime</scope>
+    </dependency>
+    <dependency>
+        <groupId>com.lizardtech</groupId>
+        <artifactId>mrsid</artifactId>
+        <classifier>${mrsid.classifier}</classifier>
+        <version>${mrsid.version}</version>
+        <type>tar.gz</type>
+        <scope>runtime</scope>
+    </dependency>
+
+    <dependency>
+	    <groupId>com.microsoft</groupId>
+	    <artifactId>visualcppredist</artifactId>
+	    <version>${visualcppredist1.version}</version>
+	    <classifier>${visualcppredist1.classifier}</classifier>
+	    <type>tar.gz</type>
+    </dependency>
+    <dependency>
+	    <groupId>com.microsoft</groupId>
+	    <artifactId>visualcppredist</artifactId>
+	    <version>${visualcppredist2.version}</version>
+	    <classifier>${visualcppredist2.classifier}</classifier>
+	    <type>tar.gz</type>
+    </dependency>
+
+
+  </dependencies>
+
+  <build>
+    <plugins>
+
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-dependency-plugin</artifactId>
+        <executions>
+          <execution>
+          	<id>unpack</id>
+	        <phase>process-sources</phase>
+	        <goals>
+	          <goal>unpack</goal>
+	        </goals>
+	        <configuration>
+	          <artifactItems>
+
+	            <artifactItem>
+		            <groupId>org.gvsig</groupId>
+		            <artifactId>org.gvsig.raster.lizardtech.app.common</artifactId>
+		            <type>zip</type>
+					      <overWrite>true</overWrite>
+					      <outputDirectory>target</outputDirectory>
+	            </artifactItem>
+
+	            <artifactItem>
+                <groupId>org.gvsig</groupId>
+                <artifactId>org.gvsig.jmrsid</artifactId>
+                <version>${jmrsid.version}</version>
+                <classifier>${jmrsid.classifier}</classifier>
+                <type>tar.gz</type>
+					      <overWrite>true</overWrite>
+					      <outputDirectory>target/native/jmrsid</outputDirectory>
+	            </artifactItem>
+
+	            <artifactItem>
+                <groupId>com.lizardtech</groupId>
+                <artifactId>mrsid</artifactId>
+                <classifier>${mrsid.classifier}</classifier>
+                <version>${mrsid.version}</version>
+                <type>tar.gz</type>
+					      <overWrite>true</overWrite>
+					      <outputDirectory>target/native/mrsid</outputDirectory>
+	            </artifactItem>
+
+	            <artifactItem>
+		      <groupId>com.microsoft</groupId>
+		      <artifactId>visualcppredist</artifactId>
+		      <version>${visualcppredist1.version}</version>
+		      <classifier>${visualcppredist1.classifier}</classifier>
+		      <type>tar.gz</type>
+		      <overWrite>true</overWrite>
+		      <outputDirectory>target/native/msv80</outputDirectory>
+	            </artifactItem>
+
+	            <artifactItem>
+		      <groupId>com.microsoft</groupId>
+		      <artifactId>visualcppredist</artifactId>
+		      <version>${visualcppredist2.version}</version>
+		      <classifier>${visualcppredist2.classifier}</classifier>
+		      <type>tar.gz</type>
+		      <overWrite>true</overWrite>
+		      <outputDirectory>target/native/msv90</outputDirectory>
+	            </artifactItem>
+
+	          </artifactItems>
+	        </configuration>
+          </execution>
+        </executions>
+	  </plugin>
+
+
+    </plugins>
+  </build>
+
+  <!--
+  The profiles only configure the automatic deploy of gvSIG plugin in the gvSIG
+  configured in HOME/.gvsig-devel.properties
+  -->
+  <profiles>
+
+    <profile>
+      <id>gvsig-plugin-install-raster-windows-x86</id>
+      <activation>
+         <os>
+             <family>windows</family>
+             <!-- Uncomment this when have support for amd64 -->
+             <!--
+             <arch>x86</arch>
+             -->
+         </os>
+      </activation>
+	  <properties>
+	    <gvsig.install.plugin>true</gvsig.install.plugin>
+	  </properties>
+    </profile>
+
+  </profiles>
+
+</project>
+
Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.win.x86/buildNumber.properties
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.win.x86/buildNumber.properties	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.win.x86/buildNumber.properties	(revision 10040)
@@ -0,0 +1,2 @@
+#Wed Oct 16 00:16:20 CEST 2019
+buildNumber=137
Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.win.x86/src/main/assembly/gvsig-plugin-package.xml
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.win.x86/src/main/assembly/gvsig-plugin-package.xml	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.win.x86/src/main/assembly/gvsig-plugin-package.xml	(revision 10040)
@@ -0,0 +1,82 @@
+<!--
+
+    gvSIG. Desktop Geographic Information System.
+
+    Copyright (C) 2007-2013 gvSIG Association.
+
+    This program is free software; you can redistribute it and/or
+    modify it under the terms of the GNU General Public License
+    as published by the Free Software Foundation; either version 3
+    of the License, or (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+    MA  02110-1301, USA.
+
+    For any additional information, do not hesitate to contact us
+    at info AT gvsig.com, or visit our website www.gvsig.com.
+
+-->
+<assembly>
+  <id>gvsig-plugin-package</id>
+  <formats>
+    <format>zip</format>
+  </formats>
+  <baseDirectory>${gvsig.package.info.code}</baseDirectory>
+  <includeBaseDirectory>true</includeBaseDirectory>
+  <files>
+    <file>
+        <source>target/package.info</source>
+    </file>
+  </files>
+
+  <fileSets>
+    <fileSet>
+      <directory>target/org.gvsig.raster.lizardtech.app.common</directory>
+      <outputDirectory>.</outputDirectory>
+      <excludes>
+      	<exclude>package.info</exclude>
+      </excludes>
+    </fileSet>
+    <fileSet>
+      <directory>target/native/msv80</directory>
+      <outputDirectory>./msv80</outputDirectory>
+    </fileSet>
+    <fileSet>
+      <directory>target/native/msv90</directory>
+      <outputDirectory>./msv90</outputDirectory>
+    </fileSet>
+    <fileSet>
+      <directory>target/native/mrsid</directory>
+      <outputDirectory>./mrsid</outputDirectory>
+    </fileSet>
+    <fileSet>
+      <directory>target/native/jmrsid</directory>
+      <outputDirectory>./jmrsid</outputDirectory>
+    </fileSet>
+    <fileSet>
+      <directory>src/main/resources-plugin</directory>
+      <outputDirectory>.</outputDirectory>
+    </fileSet>
+  </fileSets>
+
+
+  <dependencySets>
+    <dependencySet>
+      <useProjectArtifact>false</useProjectArtifact>
+      <useTransitiveDependencies>false</useTransitiveDependencies>
+      <outputDirectory>lib</outputDirectory>
+		<includes>
+  		 <include>org.gvsig:org.gvsig.jmrsid:jar</include>
+		</includes>
+    </dependencySet>
+  </dependencySets>
+
+</assembly>
+
Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.win.x86/src/main/resources-plugin/autorun.sh
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.win.x86/src/main/resources-plugin/autorun.sh	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.win.x86/src/main/resources-plugin/autorun.sh	(revision 10040)
@@ -0,0 +1,38 @@
+#!/bin/sh
+#
+# gvSIG. Desktop Geographic Information System.
+#
+# Copyright (C) 2007-2013 gvSIG Association.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 3
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+# MA  02110-1301, USA.
+#
+# For any additional information, do not hesitate to contact us
+# at info AT gvsig.com, or visit our website www.gvsig.com.
+#
+
+
+#
+# Plugin autorun
+#
+
+PLUGIN_NAME=$(basename "$PLUGIN_FOLDER")
+
+add_library_path "$PLUGIN_FOLDER/jmrsid/bin"
+add_library_path "$PLUGIN_FOLDER/mrsid/bin"
+add_library_path "$PLUGIN_FOLDER/msv80/bin"
+add_library_path "$PLUGIN_FOLDER/msv90/bin"
+
+list_shared_library_dependencies "$PLUGIN_FOLDER/jmrsid/bin/"jmrsid*.dll

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.win.x86
___________________________________________________________________
Added: svn:ignore
   + target


Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.lin.x86/buildNumber.properties
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.lin.x86/buildNumber.properties	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.lin.x86/buildNumber.properties	(revision 10040)
@@ -0,0 +1,2 @@
+#Wed Oct 16 00:16:19 CEST 2019
+buildNumber=137
Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.lin.x86/src/main/resources-plugin/autorun.sh
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.lin.x86/src/main/resources-plugin/autorun.sh	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.lin.x86/src/main/resources-plugin/autorun.sh	(revision 10040)
@@ -0,0 +1,35 @@
+#!/bin/sh
+#
+# gvSIG. Desktop Geographic Information System.
+#
+# Copyright (C) 2007-2013 gvSIG Association.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 3
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+# MA  02110-1301, USA.
+#
+# For any additional information, do not hesitate to contact us
+# at info AT gvsig.com, or visit our website www.gvsig.com.
+#
+
+
+#
+# Plugin autorun
+# 
+
+PLUGIN_NAME=$(basename "$PLUGIN_FOLDER")
+
+add_library_path "$PLUGIN_FOLDER/jmrsid/lib"
+
+list_shared_library_dependencies "$PLUGIN_FOLDER/jmrsid/lib/"libjmrsid*
Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.lin.x86/src/main/assembly/gvsig-plugin-package.xml
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.lin.x86/src/main/assembly/gvsig-plugin-package.xml	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.lin.x86/src/main/assembly/gvsig-plugin-package.xml	(revision 10040)
@@ -0,0 +1,70 @@
+<!--
+
+    gvSIG. Desktop Geographic Information System.
+
+    Copyright (C) 2007-2013 gvSIG Association.
+
+    This program is free software; you can redistribute it and/or
+    modify it under the terms of the GNU General Public License
+    as published by the Free Software Foundation; either version 3
+    of the License, or (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+    MA  02110-1301, USA.
+
+    For any additional information, do not hesitate to contact us
+    at info AT gvsig.com, or visit our website www.gvsig.com.
+
+-->
+<assembly>
+  <id>gvsig-plugin-package</id>
+  <formats>
+    <format>zip</format>
+  </formats>
+  <baseDirectory>${gvsig.package.info.code}</baseDirectory>
+  <includeBaseDirectory>true</includeBaseDirectory>
+  <files>
+    <file>
+      <source>target/package.info</source>
+    </file>
+  </files>
+
+  <fileSets>
+    <fileSet>
+      <directory>target/org.gvsig.raster.lizardtech.app.common</directory>
+      <outputDirectory>.</outputDirectory>
+      <excludes>
+      	<exclude>package.info</exclude>
+      </excludes>
+    </fileSet>
+    <fileSet>
+      <directory>target/native/jmrsid</directory>
+      <outputDirectory>./jmrsid</outputDirectory>
+    </fileSet>
+    <fileSet>
+      <directory>src/main/resources-plugin</directory>
+      <outputDirectory>.</outputDirectory>
+    </fileSet>
+  </fileSets>
+
+
+  <dependencySets>
+    <dependencySet>
+      <useProjectArtifact>false</useProjectArtifact>
+      <useTransitiveDependencies>false</useTransitiveDependencies>
+      <outputDirectory>lib</outputDirectory>
+		<includes>
+            <include>org.gvsig:org.gvsig.jmrsid:jar</include>
+		</includes>
+    </dependencySet>
+  </dependencySets>
+
+</assembly>
+
Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.lin.x86/pom.xml
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.lin.x86/pom.xml	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.lin.x86/pom.xml	(revision 10040)
@@ -0,0 +1,191 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>org.gvsig.raster.lizardtech.app.lin.x86</artifactId>
+  <packaging>jar</packaging>
+   
+ 	<parent>
+		<groupId>org.gvsig</groupId>
+		<artifactId>org.gvsig.raster.lizardtech.app</artifactId>
+    <version>2.2.84</version>
+	</parent>
+
+  <properties>
+    <gvsig.package.info.operatingSystem>lin</gvsig.package.info.operatingSystem>
+    <gvsig.package.info.architecture>x86</gvsig.package.info.architecture>
+    
+    <jmrsid.classifier>linux-all-gcc4-i386-dynamic</jmrsid.classifier>
+    <jmrsid.version>2.0.0</jmrsid.version>
+    
+    <!--
+    No hay version dinamica de la libreria de mrsid, esta enlazada staticamente
+    en jmrsid.
+    <mrsid.classifier >linux-all-gcc4-i386-dynamic</mrsid.classifier>
+ 		<mrsid.version>7.0.0.2164</mrsid.version>    
+ 		-->
+  </properties>
+
+  <dependencyManagement>
+      <dependencies>
+       <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.jmrsid</artifactId>
+            <version>${jmrsid.version}</version>
+            <classifier>${jmrsid.classifier}</classifier>
+            <type>tar.gz</type>
+        </dependency>
+        
+        <!--    
+         <dependency>
+	          <groupId>com.lizardtech</groupId>
+	          <artifactId>mrsid</artifactId>
+            <classifier>${mrsid.classifier}</classifier>
+            <version>${mrsid.version}</version>
+            <type>tar.gz</type>
+	      </dependency>      
+        -->
+      
+    </dependencies>
+  </dependencyManagement>
+
+  <dependencies>
+  
+    <dependency>
+      <groupId>org.gvsig</groupId>
+      <artifactId>org.gvsig.raster.lizardtech.app.common</artifactId>
+      <type>zip</type>
+    </dependency>
+    <dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.andami</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.raster.lizardtech.io</artifactId>
+			<scope>runtime</scope>
+		</dependency>
+
+
+
+		<dependency>
+			  <groupId>org.gvsig</groupId>
+        <artifactId>org.gvsig.jmrsid</artifactId>
+        <version>${jmrsid.version}</version>
+        <scope>compile</scope>
+		</dependency>
+    <dependency>
+        <groupId>org.gvsig</groupId>
+        <artifactId>org.gvsig.jmrsid</artifactId>
+        <version>${jmrsid.version}</version>
+        <classifier>${jmrsid.classifier}</classifier>
+        <type>tar.gz</type>
+        <scope>runtime</scope>
+    </dependency>
+    
+    <!--
+    <dependency>
+        <groupId>com.lizardtech</groupId>
+        <artifactId>mrsid</artifactId>
+        <classifier>${mrsid.classifier}</classifier>
+        <version>${mrsid.version}</version>
+        <type>tar.gz</type>
+        <scope>runtime</scope>
+    </dependency>
+    -->
+    
+  </dependencies>
+
+  <build>
+    <plugins>
+  
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-dependency-plugin</artifactId>
+        <executions>
+          <execution>
+          	<id>unpack</id>
+	        <phase>process-sources</phase>
+	        <goals>
+	          <goal>unpack</goal>
+	        </goals>
+	        <configuration>
+	          <artifactItems>
+	            <artifactItem>
+		            <groupId>org.gvsig</groupId>
+		            <artifactId>org.gvsig.raster.lizardtech.app.common</artifactId>
+		            <type>zip</type>
+					      <overWrite>true</overWrite>
+					      <outputDirectory>target</outputDirectory>
+	            </artifactItem>
+	            
+	            <artifactItem>
+                <groupId>org.gvsig</groupId>
+                <artifactId>org.gvsig.jmrsid</artifactId>
+                <version>${jmrsid.version}</version>
+                <classifier>${jmrsid.classifier}</classifier>
+                <type>tar.gz</type>
+					      <overWrite>true</overWrite>
+					      <outputDirectory>target/native/jmrsid</outputDirectory>
+	            </artifactItem>
+	     
+	            <!--       
+	            <artifactItem>
+                <groupId>com.lizardtech</groupId>
+                <artifactId>mrsid</artifactId>
+                <classifier>${mrsid.classifier}</classifier>
+                <version>${mrsid.version}</version>
+                <type>tar.gz</type>
+					      <overWrite>true</overWrite>
+					      <outputDirectory>target/native/mrsid</outputDirectory>
+	            </artifactItem>
+	            -->
+	            
+	          </artifactItems>
+	        </configuration>
+          </execution>
+        </executions>
+	  </plugin>
+  
+  
+    </plugins>
+  </build>
+
+  <!-- 
+  The profiles only configure the automatic deploy of gvSIG plugin in the gvSIG
+  configured in HOME/.gvsig-devel.properties
+  -->
+  <profiles>
+  
+    <profile>
+      <id>gvsig-plugin-install-raster-linux-x86</id>
+      <activation>
+         <os>
+             <family>unix</family>
+             <name>linux</name>
+             <arch>x86</arch>
+         </os>
+      </activation>
+	    <properties>
+	      <gvsig.install.plugin>true</gvsig.install.plugin>
+	    </properties>
+    </profile>
+
+    <profile>
+      <id>gvsig-plugin-install-raster-linux-i386</id>
+      <activation>
+         <os>
+             <family>unix</family>
+             <name>linux</name>
+             <arch>i386</arch>
+         </os>
+      </activation>
+      <properties>
+         <gvsig.install.plugin>true</gvsig.install.plugin>
+      </properties>
+    </profile>
+
+  </profiles>
+  
+</project>
+

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.lin.x86
___________________________________________________________________
Added: svn:ignore
   + target


Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.common/pom.xml
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.common/pom.xml	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.common/pom.xml	(revision 10040)
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<artifactId>org.gvsig.raster.lizardtech.app.common</artifactId>
+	<packaging>jar</packaging>
+	<name>${project.artifactId}</name>
+	<description />
+	<parent>
+    <groupId>org.gvsig</groupId>
+    <artifactId>org.gvsig.raster.lizardtech.app</artifactId>
+    <version>2.2.84</version>
+  </parent>
+
+	<dependencies>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.andami</artifactId>
+			<scope>compile</scope>
+		</dependency>
+    	<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.raster.lizardtech.io</artifactId>
+      <scope>runtime</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.jmrsid</artifactId>
+      <scope>compile</scope>
+		</dependency>
+	</dependencies>
+	
+  <properties>
+      <!-- Control the deploy of the plugin in gvsig.product.folder.path/gvSIG/extensiones -->
+      <gvsig.install.plugin>false</gvsig.install.plugin>
+      <!--  Control the deploy of the plugin package in gvsig.product.folder.path/install -->
+      <gvsig.install.plugin.package>false</gvsig.install.plugin.package>
+  </properties>		
+</project>
+
Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.common/buildNumber.properties
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.common/buildNumber.properties	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.common/buildNumber.properties	(revision 10040)
@@ -0,0 +1,2 @@
+#Wed Oct 16 00:16:19 CEST 2019
+buildNumber=137
Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.common/src/main/assembly/gvsig-plugin-package.xml
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.common/src/main/assembly/gvsig-plugin-package.xml	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.common/src/main/assembly/gvsig-plugin-package.xml	(revision 10040)
@@ -0,0 +1,64 @@
+<!--
+
+    gvSIG. Desktop Geographic Information System.
+
+    Copyright (C) 2007-2013 gvSIG Association.
+
+    This program is free software; you can redistribute it and/or
+    modify it under the terms of the GNU General Public License
+    as published by the Free Software Foundation; either version 3
+    of the License, or (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+    MA  02110-1301, USA.
+
+    For any additional information, do not hesitate to contact us
+    at info AT gvsig.com, or visit our website www.gvsig.com.
+
+-->
+<assembly>
+  <id>gvsig-plugin-package</id>
+  <formats>
+    <format>zip</format>
+  </formats>
+  <baseDirectory>${project.artifactId}</baseDirectory>
+  <includeBaseDirectory>true</includeBaseDirectory>
+  <files>
+    <file>
+      <source>target/${project.artifactId}-${project.version}.jar</source>
+      <outputDirectory>lib</outputDirectory>
+    </file>
+    <file>
+      <source>target/package.info</source>
+    </file>
+  </files>
+
+  <fileSets>
+    <fileSet>
+      <directory>src/main/resources-plugin</directory>
+      <outputDirectory>.</outputDirectory>
+    </fileSet>
+  </fileSets>
+
+
+  <dependencySets>
+    <dependencySet>
+      <useProjectArtifact>false</useProjectArtifact>
+      <useTransitiveDependencies>false</useTransitiveDependencies>
+      <outputDirectory>lib</outputDirectory>
+		  <includes>
+        <include>org.gvsig:org.gvsig.raster.lizardtech.io:jar</include>
+		  </includes>
+    </dependencySet>
+  </dependencySets>
+
+</assembly>
+
+
Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.common/src/main/java/org/gvsig/raster/lizardtech/app/LizardTechExtension.java
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.common/src/main/java/org/gvsig/raster/lizardtech/app/LizardTechExtension.java	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.common/src/main/java/org/gvsig/raster/lizardtech/app/LizardTechExtension.java	(revision 10040)
@@ -0,0 +1,46 @@
+/* gvSIG. Geographic Information System of the Valencian Government
+*
+* Copyright (C) 2007-2008 Infrastructures and Transports Department
+* of the Valencian Government (CIT)
+* 
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+* 
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+* 
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+* MA  02110-1301, USA.
+* 
+*/
+package org.gvsig.raster.lizardtech.app;
+
+import org.gvsig.andami.plugins.Extension;
+
+/**
+ * Entry point for this extension 
+ * @author Nacho Brodin (nachobrodin@gmail.com)
+ */
+public class LizardTechExtension extends Extension {
+
+	public void execute(String actionCommand) {
+	}
+
+	public void initialize() {
+	}
+	
+	public boolean isEnabled() {
+		return false;
+	}
+
+	public boolean isVisible() {
+		return false;
+	}
+
+}
\ No newline at end of file
Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.common/src/main/resources-plugin/config.xml
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.common/src/main/resources-plugin/config.xml	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.common/src/main/resources-plugin/config.xml	(revision 10040)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<plugin-config>
+	<depends plugin-name="org.gvsig.raster.mainplugin" />
+	<depends plugin-name="org.gvsig.raster.tilecache.app" optional="true" />
+	<libraries library-dir="lib"/>
+	<resourceBundle name="text"/>
+	<extensions>
+		<extension class-name="org.gvsig.raster.lizardtech.app.LizardTechExtension"
+			description=""
+			active="true"
+			priority="1">
+		</extension>
+	</extensions>
+</plugin-config>

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app/org.gvsig.raster.lizardtech.app.common
___________________________________________________________________
Added: svn:ignore
   + target



Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.app
___________________________________________________________________
Added: svn:ignore
   + target

.project

.classpath

.settings


Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/test-images/Urban_10cm.sid
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/test-images/Urban_10cm.sid
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/depman.xml
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/depman.xml	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/depman.xml	(revision 10040)
@@ -0,0 +1,17 @@
+<depman>
+	<package>
+		<group>org.gvsig</group>
+		<artifact>org.gvsig.jmrsid</artifact>
+		<version>2.0.0-SNAPSHOT</version>
+		<libraryType>dynamic</libraryType>
+	</package>
+ 	<dependencies platform="win, mac, linux">
+ 		<dependency>
+			<group>com.lizardtech</group>
+			<artifact>mrsid</artifact>
+			<version>7.0.0.2164</version>
+			<type>dynamic</type>
+		</dependency>
+	</dependencies>
+</depman>
+

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/depman.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_MrSIDImageReader.h
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_MrSIDImageReader.h	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_MrSIDImageReader.h	(revision 10040)
@@ -0,0 +1,37 @@
+/* DO NOT EDIT THIS FILE - it is machine generated */
+#include <jni.h>
+/* Header for class es_gva_cit_jmrsid_MrSIDImageReader */
+
+#ifndef _Included_es_gva_cit_jmrsid_MrSIDImageReader
+#define _Included_es_gva_cit_jmrsid_MrSIDImageReader
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ * Class:     es_gva_cit_jmrsid_MrSIDImageReader
+ * Method:    MrSIDImageReaderNat
+ * Signature: (Ljava/lang/String;)J
+ */
+JNIEXPORT jlong JNICALL Java_es_gva_cit_jmrsid_MrSIDImageReader_MrSIDImageReaderNat
+  (JNIEnv *, jobject, jstring);
+
+/*
+ * Class:     es_gva_cit_jmrsid_MrSIDImageReader
+ * Method:    MrSIDImageReaderArrayNat
+ * Signature: ([B)J
+ */
+JNIEXPORT jlong JNICALL Java_es_gva_cit_jmrsid_MrSIDImageReader_MrSIDImageReaderArrayNat
+  (JNIEnv *, jobject, jbyteArray);
+
+/*
+ * Class:     es_gva_cit_jmrsid_MrSIDImageReader
+ * Method:    FreeMrSIDImageReaderNat
+ * Signature: (J)V
+ */
+JNIEXPORT void JNICALL Java_es_gva_cit_jmrsid_MrSIDImageReader_FreeMrSIDImageReaderNat
+  (JNIEnv *, jobject, jlong);
+
+#ifdef __cplusplus
+}
+#endif
+#endif

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_MrSIDImageReader.h
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_LTIScene.h
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_LTIScene.h	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_LTIScene.h	(revision 10040)
@@ -0,0 +1,29 @@
+/* DO NOT EDIT THIS FILE - it is machine generated */
+#include <jni.h>
+/* Header for class es_gva_cit_jmrsid_LTIScene */
+
+#ifndef _Included_es_gva_cit_jmrsid_LTIScene
+#define _Included_es_gva_cit_jmrsid_LTIScene
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ * Class:     es_gva_cit_jmrsid_LTIScene
+ * Method:    LTISceneNat
+ * Signature: (DDDDD)J
+ */
+JNIEXPORT jlong JNICALL Java_es_gva_cit_jmrsid_LTIScene_LTISceneNat
+  (JNIEnv *, jobject, jdouble, jdouble, jdouble, jdouble, jdouble);
+
+/*
+ * Class:     es_gva_cit_jmrsid_LTIScene
+ * Method:    FreeLTISceneNat
+ * Signature: (J)V
+ */
+JNIEXPORT void JNICALL Java_es_gva_cit_jmrsid_LTIScene_FreeLTISceneNat
+  (JNIEnv *, jobject, jlong);
+
+#ifdef __cplusplus
+}
+#endif
+#endif

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_LTIScene.h
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_LTIMetadataRecord.h
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_LTIMetadataRecord.h	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_LTIMetadataRecord.h	(revision 10040)
@@ -0,0 +1,107 @@
+/* DO NOT EDIT THIS FILE - it is machine generated */
+#include <jni.h>
+/* Header for class es_gva_cit_jmrsid_LTIMetadataRecord */
+
+#ifndef _Included_es_gva_cit_jmrsid_LTIMetadataRecord
+#define _Included_es_gva_cit_jmrsid_LTIMetadataRecord
+#ifdef __cplusplus
+extern "C" {
+#endif
+#undef es_gva_cit_jmrsid_LTIMetadataRecord_LTI_METADATA_DATATYPE_INT
+#define es_gva_cit_jmrsid_LTIMetadataRecord_LTI_METADATA_DATATYPE_INT 0L
+#undef es_gva_cit_jmrsid_LTIMetadataRecord_LTI_METADATA_DATATYPE_FLOAT
+#define es_gva_cit_jmrsid_LTIMetadataRecord_LTI_METADATA_DATATYPE_FLOAT 1L
+#undef es_gva_cit_jmrsid_LTIMetadataRecord_LTI_METADATA_DATATYPE_STRING
+#define es_gva_cit_jmrsid_LTIMetadataRecord_LTI_METADATA_DATATYPE_STRING 2L
+/*
+ * Class:     es_gva_cit_jmrsid_LTIMetadataRecord
+ * Method:    getTagNameNat
+ * Signature: (J)Ljava/lang/String;
+ */
+JNIEXPORT jstring JNICALL Java_es_gva_cit_jmrsid_LTIMetadataRecord_getTagNameNat
+  (JNIEnv *, jobject, jlong);
+
+/*
+ * Class:     es_gva_cit_jmrsid_LTIMetadataRecord
+ * Method:    isScalarNat
+ * Signature: (J)I
+ */
+JNIEXPORT jint JNICALL Java_es_gva_cit_jmrsid_LTIMetadataRecord_isScalarNat
+  (JNIEnv *, jobject, jlong);
+
+/*
+ * Class:     es_gva_cit_jmrsid_LTIMetadataRecord
+ * Method:    isVectorNat
+ * Signature: (J)I
+ */
+JNIEXPORT jint JNICALL Java_es_gva_cit_jmrsid_LTIMetadataRecord_isVectorNat
+  (JNIEnv *, jobject, jlong);
+
+/*
+ * Class:     es_gva_cit_jmrsid_LTIMetadataRecord
+ * Method:    isArrayNat
+ * Signature: (J)I
+ */
+JNIEXPORT jint JNICALL Java_es_gva_cit_jmrsid_LTIMetadataRecord_isArrayNat
+  (JNIEnv *, jobject, jlong);
+
+/*
+ * Class:     es_gva_cit_jmrsid_LTIMetadataRecord
+ * Method:    getDataTypeNat
+ * Signature: (J)I
+ */
+JNIEXPORT jint JNICALL Java_es_gva_cit_jmrsid_LTIMetadataRecord_getDataTypeNat
+  (JNIEnv *, jobject, jlong);
+
+/*
+ * Class:     es_gva_cit_jmrsid_LTIMetadataRecord
+ * Method:    getScalarDataNat
+ * Signature: (J)Ljava/lang/String;
+ */
+JNIEXPORT jstring JNICALL Java_es_gva_cit_jmrsid_LTIMetadataRecord_getScalarDataNat
+  (JNIEnv *, jobject, jlong);
+
+/*
+ * Class:     es_gva_cit_jmrsid_LTIMetadataRecord
+ * Method:    getVectorDataNat
+ * Signature: (J)Les/gva/cit/jmrsid/StringArray;
+ */
+JNIEXPORT jobject JNICALL Java_es_gva_cit_jmrsid_LTIMetadataRecord_getVectorDataNat
+  (JNIEnv *, jobject, jlong);
+
+/*
+ * Class:     es_gva_cit_jmrsid_LTIMetadataRecord
+ * Method:    getArrayDataNat
+ * Signature: (J)Les/gva/cit/jmrsid/StringArray;
+ */
+JNIEXPORT jobject JNICALL Java_es_gva_cit_jmrsid_LTIMetadataRecord_getArrayDataNat
+  (JNIEnv *, jobject, jlong);
+
+/*
+ * Class:     es_gva_cit_jmrsid_LTIMetadataRecord
+ * Method:    getNumDimsNat
+ * Signature: (J)I
+ */
+JNIEXPORT jint JNICALL Java_es_gva_cit_jmrsid_LTIMetadataRecord_getNumDimsNat
+  (JNIEnv *, jobject, jlong);
+
+/*
+ * Class:     es_gva_cit_jmrsid_LTIMetadataRecord
+ * Method:    getDimsNat
+ * Signature: (J)[I
+ */
+JNIEXPORT jintArray JNICALL Java_es_gva_cit_jmrsid_LTIMetadataRecord_getDimsNat
+  (JNIEnv *, jobject, jlong);
+
+/*
+ * Class:     es_gva_cit_jmrsid_LTIMetadataRecord
+ * Method:    FreeLTIMetadataRecordNat
+ * Signature: (J)V
+ */
+JNIEXPORT void JNICALL Java_es_gva_cit_jmrsid_LTIMetadataRecord_FreeLTIMetadataRecordNat
+  (JNIEnv *, jobject, jlong);
+
+#ifdef __cplusplus
+}
+#endif
+#endif

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_LTIMetadataRecord.h
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_LTIUtils.h
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_LTIUtils.h	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_LTIUtils.h	(revision 10040)
@@ -0,0 +1,29 @@
+/* DO NOT EDIT THIS FILE - it is machine generated */
+#include <jni.h>
+/* Header for class es_gva_cit_jmrsid_LTIUtils */
+
+#ifndef _Included_es_gva_cit_jmrsid_LTIUtils
+#define _Included_es_gva_cit_jmrsid_LTIUtils
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ * Class:     es_gva_cit_jmrsid_LTIUtils
+ * Method:    levelToMagNat
+ * Signature: (I)D
+ */
+JNIEXPORT jdouble JNICALL Java_es_gva_cit_jmrsid_LTIUtils_levelToMagNat
+  (JNIEnv *, jclass, jint);
+
+/*
+ * Class:     es_gva_cit_jmrsid_LTIUtils
+ * Method:    FreeLTIUtilsNat
+ * Signature: (J)V
+ */
+JNIEXPORT void JNICALL Java_es_gva_cit_jmrsid_LTIUtils_FreeLTIUtilsNat
+  (JNIEnv *, jobject, jlong);
+
+#ifdef __cplusplus
+}
+#endif
+#endif

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_LTIUtils.h
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_LTIPixel.h
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_LTIPixel.h	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_LTIPixel.h	(revision 10040)
@@ -0,0 +1,29 @@
+/* DO NOT EDIT THIS FILE - it is machine generated */
+#include <jni.h>
+/* Header for class es_gva_cit_jmrsid_LTIPixel */
+
+#ifndef _Included_es_gva_cit_jmrsid_LTIPixel
+#define _Included_es_gva_cit_jmrsid_LTIPixel
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ * Class:     es_gva_cit_jmrsid_LTIPixel
+ * Method:    LTIPixelNat
+ * Signature: (III)J
+ */
+JNIEXPORT jlong JNICALL Java_es_gva_cit_jmrsid_LTIPixel_LTIPixelNat
+  (JNIEnv *, jobject, jint, jint, jint);
+
+/*
+ * Class:     es_gva_cit_jmrsid_LTIPixel
+ * Method:    FreeLTIPixelNat
+ * Signature: (J)V
+ */
+JNIEXPORT void JNICALL Java_es_gva_cit_jmrsid_LTIPixel_FreeLTIPixelNat
+  (JNIEnv *, jobject, jlong);
+
+#ifdef __cplusplus
+}
+#endif
+#endif

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_LTIPixel.h
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_JNIBase.h
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_JNIBase.h	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_JNIBase.h	(revision 10040)
@@ -0,0 +1,85 @@
+/* DO NOT EDIT THIS FILE - it is machine generated */
+#include <jni.h>
+/* Header for class es_gva_cit_jmrsid_JNIBase */
+
+#ifndef _Included_es_gva_cit_jmrsid_JNIBase
+#define _Included_es_gva_cit_jmrsid_JNIBase
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ * Class:     es_gva_cit_jmrsid_JNIBase
+ * Method:    getIndexCountNat
+ * Signature: (J)I
+ */
+JNIEXPORT jint JNICALL Java_es_gva_cit_jmrsid_JNIBase_getIndexCountNat
+  (JNIEnv *, jobject, jlong);
+
+/*
+ * Class:     es_gva_cit_jmrsid_JNIBase
+ * Method:    initializeNat
+ * Signature: (J)I
+ */
+JNIEXPORT jint JNICALL Java_es_gva_cit_jmrsid_JNIBase_initializeNat
+  (JNIEnv *, jobject, jlong);
+
+/*
+ * Class:     es_gva_cit_jmrsid_JNIBase
+ * Method:    getNumLevelsNat
+ * Signature: (J)I
+ */
+JNIEXPORT jint JNICALL Java_es_gva_cit_jmrsid_JNIBase_getNumLevelsNat
+  (JNIEnv *, jobject, jlong);
+
+/*
+ * Class:     es_gva_cit_jmrsid_JNIBase
+ * Method:    getWidthNat
+ * Signature: (J)I
+ */
+JNIEXPORT jint JNICALL Java_es_gva_cit_jmrsid_JNIBase_getWidthNat
+  (JNIEnv *, jobject, jlong);
+
+/*
+ * Class:     es_gva_cit_jmrsid_JNIBase
+ * Method:    getHeightNat
+ * Signature: (J)I
+ */
+JNIEXPORT jint JNICALL Java_es_gva_cit_jmrsid_JNIBase_getHeightNat
+  (JNIEnv *, jobject, jlong);
+
+/*
+ * Class:     es_gva_cit_jmrsid_JNIBase
+ * Method:    getStripHeightNat
+ * Signature: (J)I
+ */
+JNIEXPORT jint JNICALL Java_es_gva_cit_jmrsid_JNIBase_getStripHeightNat
+  (JNIEnv *, jobject, jlong);
+
+/*
+ * Class:     es_gva_cit_jmrsid_JNIBase
+ * Method:    getNumBandsNat
+ * Signature: (J)I
+ */
+JNIEXPORT jint JNICALL Java_es_gva_cit_jmrsid_JNIBase_getNumBandsNat
+  (JNIEnv *, jobject, jlong);
+
+/*
+ * Class:     es_gva_cit_jmrsid_JNIBase
+ * Method:    getColorSpaceNat
+ * Signature: (J)I
+ */
+JNIEXPORT jint JNICALL Java_es_gva_cit_jmrsid_JNIBase_getColorSpaceNat
+  (JNIEnv *, jobject, jlong);
+
+/*
+ * Class:     es_gva_cit_jmrsid_JNIBase
+ * Method:    getDataTypeNat
+ * Signature: (J)I
+ */
+JNIEXPORT jint JNICALL Java_es_gva_cit_jmrsid_JNIBase_getDataTypeNat
+  (JNIEnv *, jobject, jlong);
+
+#ifdef __cplusplus
+}
+#endif
+#endif

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_JNIBase.h
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_LTIImage.h
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_LTIImage.h	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_LTIImage.h	(revision 10040)
@@ -0,0 +1,93 @@
+/* DO NOT EDIT THIS FILE - it is machine generated */
+#include <jni.h>
+/* Header for class es_gva_cit_jmrsid_LTIImage */
+
+#ifndef _Included_es_gva_cit_jmrsid_LTIImage
+#define _Included_es_gva_cit_jmrsid_LTIImage
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ * Class:     es_gva_cit_jmrsid_LTIImage
+ * Method:    getMetadataNat
+ * Signature: (J)J
+ */
+JNIEXPORT jlong JNICALL Java_es_gva_cit_jmrsid_LTIImage_getMetadataNat
+  (JNIEnv *, jobject, jlong);
+
+/*
+ * Class:     es_gva_cit_jmrsid_LTIImage
+ * Method:    getDimsAtMagWidthNat
+ * Signature: (JD)I
+ */
+JNIEXPORT jint JNICALL Java_es_gva_cit_jmrsid_LTIImage_getDimsAtMagWidthNat
+  (JNIEnv *, jobject, jlong, jdouble);
+
+/*
+ * Class:     es_gva_cit_jmrsid_LTIImage
+ * Method:    getDimsAtMagHeightNat
+ * Signature: (JD)I
+ */
+JNIEXPORT jint JNICALL Java_es_gva_cit_jmrsid_LTIImage_getDimsAtMagHeightNat
+  (JNIEnv *, jobject, jlong, jdouble);
+
+/*
+ * Class:     es_gva_cit_jmrsid_LTIImage
+ * Method:    getPixelPropsNat
+ * Signature: (J)J
+ */
+JNIEXPORT jlong JNICALL Java_es_gva_cit_jmrsid_LTIImage_getPixelPropsNat
+  (JNIEnv *, jobject, jlong);
+
+/*
+ * Class:     es_gva_cit_jmrsid_LTIImage
+ * Method:    getBackgroundPixelNat
+ * Signature: (J)J
+ */
+JNIEXPORT jlong JNICALL Java_es_gva_cit_jmrsid_LTIImage_getBackgroundPixelNat
+  (JNIEnv *, jobject, jlong);
+
+/*
+ * Class:     es_gva_cit_jmrsid_LTIImage
+ * Method:    getNoDataPixelNat
+ * Signature: (J)J
+ */
+JNIEXPORT jlong JNICALL Java_es_gva_cit_jmrsid_LTIImage_getNoDataPixelNat
+  (JNIEnv *, jobject, jlong);
+
+/*
+ * Class:     es_gva_cit_jmrsid_LTIImage
+ * Method:    getGeoCoordNat
+ * Signature: (JLes/gva/cit/jmrsid/LTIGeoCoord;)I
+ */
+JNIEXPORT jint JNICALL Java_es_gva_cit_jmrsid_LTIImage_getGeoCoordNat
+  (JNIEnv *, jobject, jlong, jobject);
+
+/*
+ * Class:     es_gva_cit_jmrsid_LTIImage
+ * Method:    FreeLTIImageNat
+ * Signature: (J)V
+ */
+JNIEXPORT void JNICALL Java_es_gva_cit_jmrsid_LTIImage_FreeLTIImageNat
+  (JNIEnv *, jobject, jlong);
+
+/*
+ * Class:     es_gva_cit_jmrsid_LTIImage
+ * Method:    getMinMagnificationNat
+ * Signature: (J)D
+ */
+JNIEXPORT jdouble JNICALL Java_es_gva_cit_jmrsid_LTIImage_getMinMagnificationNat
+  (JNIEnv *, jobject, jlong);
+
+/*
+ * Class:     es_gva_cit_jmrsid_LTIImage
+ * Method:    getMaxMagnificationNat
+ * Signature: (J)D
+ */
+JNIEXPORT jdouble JNICALL Java_es_gva_cit_jmrsid_LTIImage_getMaxMagnificationNat
+  (JNIEnv *, jobject, jlong);
+
+#ifdef __cplusplus
+}
+#endif
+#endif

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_LTIImage.h
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/jmrsid.h
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/jmrsid.h	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/jmrsid.h	(revision 10040)
@@ -0,0 +1,12 @@
+#ifndef _Included_jmrsid
+#define _Included_jmrsid
+
+typedef struct {
+	lt_uint32 siz;
+	lt_uint8* membuf;
+	void* bufs[3];
+}t_buffer;
+
+
+#endif
+

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/jmrsid.h
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_LTIMetadataDatabase.h
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_LTIMetadataDatabase.h	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_LTIMetadataDatabase.h	(revision 10040)
@@ -0,0 +1,29 @@
+/* DO NOT EDIT THIS FILE - it is machine generated */
+#include <jni.h>
+/* Header for class es_gva_cit_jmrsid_LTIMetadataDatabase */
+
+#ifndef _Included_es_gva_cit_jmrsid_LTIMetadataDatabase
+#define _Included_es_gva_cit_jmrsid_LTIMetadataDatabase
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ * Class:     es_gva_cit_jmrsid_LTIMetadataDatabase
+ * Method:    getDataByIndexNat
+ * Signature: (JI)J
+ */
+JNIEXPORT jlong JNICALL Java_es_gva_cit_jmrsid_LTIMetadataDatabase_getDataByIndexNat
+  (JNIEnv *, jobject, jlong, jint);
+
+/*
+ * Class:     es_gva_cit_jmrsid_LTIMetadataDatabase
+ * Method:    FreeLTIMetadataDatabaseNat
+ * Signature: (J)V
+ */
+JNIEXPORT void JNICALL Java_es_gva_cit_jmrsid_LTIMetadataDatabase_FreeLTIMetadataDatabaseNat
+  (JNIEnv *, jobject, jlong);
+
+#ifdef __cplusplus
+}
+#endif
+#endif

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_LTIMetadataDatabase.h
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_LTIImageStage.h
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_LTIImageStage.h	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_LTIImageStage.h	(revision 10040)
@@ -0,0 +1,37 @@
+/* DO NOT EDIT THIS FILE - it is machine generated */
+#include <jni.h>
+/* Header for class es_gva_cit_jmrsid_LTIImageStage */
+
+#ifndef _Included_es_gva_cit_jmrsid_LTIImageStage
+#define _Included_es_gva_cit_jmrsid_LTIImageStage
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ * Class:     es_gva_cit_jmrsid_LTIImageStage
+ * Method:    readNat
+ * Signature: (JJJJLes/gva/cit/jmrsid/LTISceneBuffer;)I
+ */
+JNIEXPORT jint JNICALL Java_es_gva_cit_jmrsid_LTIImageStage_readNat
+  (JNIEnv *, jobject, jlong, jlong, jlong, jlong, jobject);
+
+/*
+ * Class:     es_gva_cit_jmrsid_LTIImageStage
+ * Method:    FreeLTIImageStageNat
+ * Signature: (J)V
+ */
+JNIEXPORT void JNICALL Java_es_gva_cit_jmrsid_LTIImageStage_FreeLTIImageStageNat
+  (JNIEnv *, jobject, jlong);
+
+/*
+ * Class:     es_gva_cit_jmrsid_LTIImageStage
+ * Method:    readNat
+ * Signature: (JJJJLes/gva/cit/jmrsid/LTISceneBuffer;)I
+ */
+JNIEXPORT void JNICALL Java_es_gva_cit_jmrsid_LTIImageStage_readSceneNat
+  (JNIEnv *, jobject, jlong, jdouble, jdouble, jdouble, jdouble, jdouble, jlong, jint, jint, jboolean, jobject);
+
+#ifdef __cplusplus
+}
+#endif
+#endif

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_LTIImageStage.h
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_MrSIDImageReaderBase.h
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_MrSIDImageReaderBase.h	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_MrSIDImageReaderBase.h	(revision 10040)
@@ -0,0 +1,21 @@
+/* DO NOT EDIT THIS FILE - it is machine generated */
+#include <jni.h>
+/* Header for class es_gva_cit_jmrsid_MrSIDImageReaderBase */
+
+#ifndef _Included_es_gva_cit_jmrsid_MrSIDImageReaderBase
+#define _Included_es_gva_cit_jmrsid_MrSIDImageReaderBase
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ * Class:     es_gva_cit_jmrsid_MrSIDImageReaderBase
+ * Method:    FreeMrSIDImageReaderBaseNat
+ * Signature: (J)V
+ */
+JNIEXPORT void JNICALL Java_es_gva_cit_jmrsid_MrSIDImageReaderBase_FreeMrSIDImageReaderBaseNat
+  (JNIEnv *, jobject, jlong);
+
+#ifdef __cplusplus
+}
+#endif
+#endif

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_MrSIDImageReaderBase.h
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_LTISceneBuffer.h
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_LTISceneBuffer.h	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_LTISceneBuffer.h	(revision 10040)
@@ -0,0 +1,37 @@
+/* DO NOT EDIT THIS FILE - it is machine generated */
+#include <jni.h>
+/* Header for class es_gva_cit_jmrsid_LTISceneBuffer */
+
+#ifndef _Included_es_gva_cit_jmrsid_LTISceneBuffer
+#define _Included_es_gva_cit_jmrsid_LTISceneBuffer
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ * Class:     es_gva_cit_jmrsid_LTISceneBuffer
+ * Method:    LTISceneBufferNat
+ * Signature: (JIII)J
+ */
+JNIEXPORT jlong JNICALL Java_es_gva_cit_jmrsid_LTISceneBuffer_LTISceneBufferNat
+  (JNIEnv *, jobject, jlong, jint, jint, jint);
+
+/*
+ * Class:     es_gva_cit_jmrsid_LTISceneBuffer
+ * Method:    LTISceneBuffer1Nat
+ * Signature: (JIIIIIII)J
+ */
+JNIEXPORT jlong JNICALL Java_es_gva_cit_jmrsid_LTISceneBuffer_LTISceneBuffer1Nat
+  (JNIEnv *, jobject, jlong, jint, jint, jint, jint, jint, jint, jint);
+
+/*
+ * Class:     es_gva_cit_jmrsid_LTISceneBuffer
+ * Method:    FreeLTISceneBufferNat
+ * Signature: (JJ)V
+ */
+JNIEXPORT void JNICALL Java_es_gva_cit_jmrsid_LTISceneBuffer_FreeLTISceneBufferNat
+  (JNIEnv *, jobject, jlong, jlong);
+
+#ifdef __cplusplus
+}
+#endif
+#endif

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/include/es_gva_cit_jmrsid_LTISceneBuffer.h
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/CMakeLists.txt
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/CMakeLists.txt	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/CMakeLists.txt	(revision 10040)
@@ -0,0 +1,3 @@
+add_subdirectory(jmrsid)
+
+

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/CMakeLists.txt
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/ltiimage.cpp
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/ltiimage.cpp	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/ltiimage.cpp	(revision 10040)
@@ -0,0 +1,434 @@
+ /**********************************************************************
+ * $Id: ltiimage.cpp 8460 2006-10-31 16:26:34Z nacho $
+ *
+ * Name:     ltiimage.c
+ * Project:  JMRSID. Interfaz java to MrSID (Lizardtech).
+ * Purpose:  
+ * Author:   Nacho Brodin, brodin_ign@gva.es
+ *
+ **********************************************************************/
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+*
+* Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+*
+* For more information, contact:
+*
+*  Generalitat Valenciana
+*   Conselleria d'Infraestructures i Transport
+*   Av. Blasco Ib��ez, 50
+*   46010 VALENCIA
+*   SPAIN
+*
+*      +34 963862235
+*   gvsig@gva.es
+*      www.gvsig.gva.es
+*
+*    or
+*
+*   IVER T.I. S.A
+*   Salamanca 50
+*   46005 Valencia
+*   Spain
+*
+*   +34 963163400
+*   dac@iver.es
+*/
+
+
+#include <jni.h>
+#include <malloc.h>
+#include "es_gva_cit_jmrsid_LTIImage.h"
+#include "es_gva_cit_jmrsid_JNIBase.h"
+#include "lti_geoCoord.h"
+#include "lti_pixel.h"
+#include "lti_metadataDatabase.h"
+#include "lti_imageReader.h"
+
+LT_USE_NAMESPACE(LizardTech);
+
+/******************************************************************************/
+//						 		initialize
+/******************************************************************************/
+
+
+JNIEXPORT jint JNICALL Java_es_gva_cit_jmrsid_JNIBase_initializeNat
+  (JNIEnv *env, jobject obj, jlong cPtr){
+  	
+    LTIImage *img  = (LTIImage *) 0 ;
+  	int res = -1;
+  	  	
+    /*img = *(LTIImage **)&cPtr;
+    
+    if(img!=NULL)
+    	res = img->initialize();*/	
+
+    return res;
+  		
+  }
+  
+/******************************************************************************/
+//						 		getMetadata
+/******************************************************************************/
+  
+ JNIEXPORT jlong JNICALL Java_es_gva_cit_jmrsid_LTIImage_getMetadataNat
+  (JNIEnv *env, jobject obj, jlong cPtr){
+	
+  	jlong jresult = 0 ;
+  	LTIImageReader *img  = (LTIImageReader *) 0 ;
+  	LTIMetadataDatabase *metadata=NULL;
+  
+  	img = *(LTIImageReader **)&cPtr;
+  	if(img!=NULL){
+	  	metadata = new LTIMetadataDatabase( img->getMetadata() );
+	  	*(LTIMetadataDatabase **)&jresult = metadata;
+  	}
+  
+  	return jresult;
+	  	
+  } 
+  
+/******************************************************************************/
+//						 		getWidth
+/******************************************************************************/
+
+
+JNIEXPORT jint JNICALL Java_es_gva_cit_jmrsid_JNIBase_getWidthNat
+  (JNIEnv *env, jobject obj, jlong cPtr){
+  	
+    LTIImage *img  = (LTIImage *) 0 ;
+  	int res = -1;
+   	  	
+    img = *(LTIImage **)&cPtr;
+    
+    if(img!=NULL)
+    	res = img->getWidth();	
+
+    return res;
+  		
+  }
+  
+  
+/******************************************************************************/
+//						 		getHeight
+/******************************************************************************/
+
+
+JNIEXPORT jint JNICALL Java_es_gva_cit_jmrsid_JNIBase_getHeightNat
+  (JNIEnv *env, jobject obj, jlong cPtr){
+  	
+    LTIImage *img  = (LTIImage *) 0 ;
+  	int res = -1;
+   	  	
+    img = *(LTIImage **)&cPtr;
+    
+    if(img!=NULL)
+    	res = img->getHeight();	
+
+    return res;
+  		
+  }
+  
+    
+/******************************************************************************/
+//						 		getDimsAtMagWidth
+/******************************************************************************/
+
+
+JNIEXPORT jint JNICALL Java_es_gva_cit_jmrsid_LTIImage_getDimsAtMagWidthNat
+  (JNIEnv *env, jobject obj, jlong cPtr, jdouble mag){
+  	
+    LTIImage *img  = (LTIImage *) 0 ;
+  	int res = -1;
+  	int height;
+  	double mg=mag;
+   	  	
+    img = *(LTIImage **)&cPtr;
+    
+    if(img!=NULL)
+    	img->getDimsAtMag((double)mg,(lt_uint32 &)res,(lt_uint32 &)height);	
+
+    return res;
+  		
+  }  
+  
+/******************************************************************************/
+//						 		getDimsAtMagHeight
+/******************************************************************************/
+
+
+JNIEXPORT jint JNICALL Java_es_gva_cit_jmrsid_LTIImage_getDimsAtMagHeightNat
+  (JNIEnv *env, jobject obj, jlong cPtr, jdouble mag){
+  	
+    LTIImage *img  = (LTIImage *) 0 ;
+  	int res = -1;
+  	int width;
+  	double mg=mag;
+   	  	
+    img = *(LTIImage **)&cPtr;
+    
+    if(img!=NULL)
+    	img->getDimsAtMag((double)mg,(lt_uint32 &)width,(lt_uint32 &)res);	
+
+    return res;
+  		
+  }
+  
+/******************************************************************************/
+//						 		getStripHeight
+/******************************************************************************/
+
+
+JNIEXPORT jint JNICALL Java_es_gva_cit_jmrsid_JNIBase_getStripHeightNat
+  (JNIEnv *env, jobject obj, jlong cPtr){
+  	
+    LTIImageReader *img  = (LTIImageReader *) 0 ;
+  	int res = -1;
+   	  	
+    img = *(LTIImageReader **)&cPtr;
+    
+    if(img!=NULL)
+    	res = img->getStripHeight();	
+
+    return res;
+  		
+  } 
+  
+/******************************************************************************/
+//						 		getNumBands
+/******************************************************************************/
+
+
+JNIEXPORT jint JNICALL Java_es_gva_cit_jmrsid_JNIBase_getNumBandsNat
+  (JNIEnv *env, jobject obj, jlong cPtr){
+  	
+    LTIImage *img  = (LTIImage *) 0 ;
+  	int res = -1;
+   	  	
+    img = *(LTIImage **)&cPtr;
+    
+    if(img!=NULL)
+    	res = img->getNumBands();	
+
+    return res;
+  		
+  } 
+  
+/******************************************************************************/
+//						 		getColorSpace
+/******************************************************************************/
+
+
+JNIEXPORT jint JNICALL Java_es_gva_cit_jmrsid_JNIBase_getColorSpaceNat
+  (JNIEnv *env, jobject obj, jlong cPtr){
+  	
+    LTIImage *img  = (LTIImage *) 0 ;
+  	int res = -1;
+   	  	
+    img = *(LTIImage **)&cPtr;
+    
+    if(img!=NULL)
+    	res = img->getColorSpace();	
+
+    return res;
+  		
+  } 
+  
+/******************************************************************************/
+//						 		getDataType
+/******************************************************************************/
+
+
+JNIEXPORT jint JNICALL Java_es_gva_cit_jmrsid_JNIBase_getDataTypeNat
+  (JNIEnv *env, jobject obj, jlong cPtr){
+  	
+    LTIImage *img  = (LTIImage *) 0 ;
+  	int res = -1;
+   	  	
+    img = *(LTIImage **)&cPtr;
+    
+    if(img!=NULL)
+    	res = img->getDataType();	
+
+    return res;
+  		
+  }  
+  
+/******************************************************************************/
+//						 		getMinMagnification
+/******************************************************************************/
+
+
+JNIEXPORT jdouble JNICALL Java_es_gva_cit_jmrsid_LTIImage_getMinMagnificationNat
+  (JNIEnv *env, jobject obj, jlong cPtr){
+  	
+    LTIImage *img  = (LTIImage *) 0 ;
+  	double res = -1;
+   	  	
+    img = *(LTIImage **)&cPtr;
+    
+    if(img!=NULL)
+    	res = img->getMinMagnification();	
+
+    return (jdouble)res;
+  		
+  }
+  
+/******************************************************************************/
+//						 		getMaxMagnification
+/******************************************************************************/
+
+
+JNIEXPORT jdouble JNICALL Java_es_gva_cit_jmrsid_LTIImage_getMaxMagnificationNat
+  (JNIEnv *env, jobject obj, jlong cPtr){
+  	
+    LTIImage *img  = (LTIImage *) 0 ;
+  	double res = -1;
+   	  	
+    img = *(LTIImage **)&cPtr;
+    
+    if(img!=NULL)
+    	res = img->getMaxMagnification();	
+
+    return (jdouble)res;
+  		
+  }
+  
+/******************************************************************************/
+//						 		getPixelProps
+/******************************************************************************/
+
+
+/*JNIEXPORT jdouble JNICALL Java_es_gva_cit_jmrsid_LTIImage_getPixelPropsNat
+  (JNIEnv *env, jobject obj, jlong cPtr){
+  	
+	jlong jresult = 0 ;*/
+  	/*LTIImage *img  = (LTIImage *) 0 ;
+  	
+  
+  	img = *(LTIImage **)&cPtr;
+  	if(img!=NULL){
+	  	const LTIPixel& pixelprops = img->getPixelProps();
+	  	*(LTIPixel **)&jresult = pixelprops;
+  	
+  
+  	return (jlong)pixelprops;
+  	}*/
+  	/*return jresult;
+  		
+  } */
+  
+/******************************************************************************/
+//						 		getGeoCoord
+/******************************************************************************/
+
+JNIEXPORT jint JNICALL Java_es_gva_cit_jmrsid_LTIImage_getGeoCoordNat
+  (JNIEnv *env, jobject obj, jlong cPtr, jobject geocoord){
+	
+	LTIImage *img  = (LTIImage *) 0 ;
+  	jclass clase;
+  	jfieldID id_campo; 
+   	  	
+    img = *(LTIImage **)&cPtr;
+    if(img!=NULL){
+    	const LTIGeoCoord& geo = img->getGeoCoord();
+    	
+    	clase = env->GetObjectClass(geocoord);
+    	id_campo = env->GetFieldID(clase, "xUL", "D");
+    	env->SetDoubleField(geocoord, id_campo, geo.getX());
+    	
+    	id_campo = env->GetFieldID(clase, "yUL", "D");
+    	env->SetDoubleField(geocoord, id_campo, geo.getY());
+    	
+    	id_campo = env->GetFieldID(clase, "xRes", "D");
+    	env->SetDoubleField(geocoord, id_campo, geo.getXRes());
+    	
+    	id_campo = env->GetFieldID(clase, "yRes", "D");
+    	env->SetDoubleField(geocoord, id_campo, geo.getYRes());
+    	
+    	id_campo = env->GetFieldID(clase, "xRot", "D");
+    	env->SetDoubleField(geocoord, id_campo, geo.getXRot());
+    	
+    	id_campo = env->GetFieldID(clase, "yRot", "D");
+    	env->SetDoubleField(geocoord, id_campo, geo.getYRot());
+    	return 1;
+    }
+    
+    return -1;
+  }
+  
+/******************************************************************************/
+//						 		getBackgroundPixel
+/******************************************************************************/
+
+
+JNIEXPORT jlong JNICALL Java_es_gva_cit_jmrsid_LTIImage_getBackgroundPixelNat
+  (JNIEnv *env, jobject obj, jlong cPtr){
+  	
+    LTIImage *img  = (LTIImage *) 0 ;
+  	jlong jresult = 0 ;
+   	  	
+    img = *(LTIImage **)&cPtr;
+    
+    if(img!=NULL){
+    	const LTIPixel *pixel=img->getBackgroundPixel();
+    	LTIPixel p=LTIPixel(*pixel);
+    	*(LTIPixel **)&jresult = &p;
+    }
+    
+    return jresult;
+  		
+  }  
+  
+  
+/******************************************************************************/
+//						 		getNoData
+/******************************************************************************/
+
+
+JNIEXPORT jlong JNICALL Java_es_gva_cit_jmrsid_LTIImage_getNoDataPixelNat
+  (JNIEnv *env, jobject obj, jlong cPtr){
+  	
+    LTIImage *img  = (LTIImage *) 0 ;
+  	jlong jresult = 0 ;
+   	  	
+    img = *(LTIImage **)&cPtr;
+    
+    if(img!=NULL){
+    	const LTIPixel *pixel=img->getNoDataPixel();
+    	LTIPixel p=LTIPixel(*pixel);
+    	*(LTIPixel **)&jresult = &p;
+    }
+    
+    return jresult;
+  		
+  } 
+  
+/******************************************************************************/
+//						 		~LTIImage
+/******************************************************************************/
+  
+JNIEXPORT void JNICALL Java_es_gva_cit_jmrsid_LTIImage_FreeLTIImageNat
+  (JNIEnv *env, jobject obj, jlong cPtr){
+  	
+  	LTIImage *img = (LTIImage *) 0 ;
+  	
+  	img = *(LTIImage **)&cPtr;
+  	if(img!=NULL){
+  		delete img;
+  	}
+  	
+  } 
\ No newline at end of file

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/ltiimage.cpp
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/CMakeLists.txt
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/CMakeLists.txt	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/CMakeLists.txt	(revision 10040)
@@ -0,0 +1,41 @@
+set(LIB_NAME jmrsid)
+
+
+FILE(GLOB SOURCES "*.c*")
+
+include_directories(
+	${CMAKE_SOURCE_DIR}/include
+	${JAVA_INCLUDE_PATH}
+	${JAVA_INCLUDE_PATH2}
+	${MRSID_INCLUDE_DIR}
+	${MRSID_INCLUDE_DIR2}
+	${MRSID_INCLUDE_DIR3}
+	${MRSID_INCLUDE_DIR4}
+	${MRSID_INCLUDE_DIR5}
+	${MRSID_INCLUDE_DIR6}
+	${MRSID_INCLUDE_DIR7}
+	${MRSID_INCLUDE_DIR8}
+)
+
+IF(UNIX OR APPLE)
+	SET(LIBRARIES_OPTIMIZED 
+    	${MRSID_LIBRARY} 
+   		${GDAL_LIBRARY}
+	)
+	SET(LIBRARIES_DEBUG
+    	${MRSID_LIBRARY}
+	)
+ENDIF()
+
+IF(WIN32)
+	SET(LIBRARIES_OPTIMIZED 
+   	 	${MRSID_LIBRARY_W1} 
+   	 	${GDAL_LIBRARY}
+	)
+
+	SET(LIBRARIES_DEBUG
+    	${MRSID_LIBRARY_W1}
+	)
+ENDIF()
+
+SETUP_JNILIB(${LIB_NAME})

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/CMakeLists.txt
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/ltimetadatadatabase.cpp
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/ltimetadatadatabase.cpp	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/ltimetadatadatabase.cpp	(revision 10040)
@@ -0,0 +1,114 @@
+ /**********************************************************************
+ * $Id: ltimetadatadatabase.cpp 3539 2006-01-09 12:23:20Z nacho $
+ *
+ * Name:     ltimetadatadatabase.c
+ * Project:  JMRSID. Interfaz java to MrSID (Lizardtech).
+ * Purpose:  
+ * Author:   Nacho Brodin, brodin_ign@gva.es
+ *
+ **********************************************************************/
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+*
+* Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+*
+* For more information, contact:
+*
+*  Generalitat Valenciana
+*   Conselleria d'Infraestructures i Transport
+*   Av. Blasco Ib��ez, 50
+*   46010 VALENCIA
+*   SPAIN
+*
+*      +34 963862235
+*   gvsig@gva.es
+*      www.gvsig.gva.es
+*
+*    or
+*
+*   IVER T.I. S.A
+*   Salamanca 50
+*   46005 Valencia
+*   Spain
+*
+*   +34 963163400
+*   dac@iver.es
+*/
+
+
+#include <jni.h>
+#include "es_gva_cit_jmrsid_LTIMetadataDatabase.h"
+#include "es_gva_cit_jmrsid_JNIBase.h"
+#include "lti_metadataDatabase.h"
+#include "lti_metadataRecord.h"
+
+LT_USE_NAMESPACE(LizardTech);
+
+/******************************************************************************/
+//				 			getIndexCount
+/******************************************************************************/
+
+JNIEXPORT jint JNICALL Java_es_gva_cit_jmrsid_JNIBase_getIndexCountNat
+  (JNIEnv *env, jobject obj, jlong cPtr){
+  	
+  	LTIMetadataDatabase *metadata  = (LTIMetadataDatabase *) 0 ;
+  	int res = -1;
+  	  	
+    metadata = *(LTIMetadataDatabase **)&cPtr;
+    
+    if(metadata!=NULL)
+    	res = metadata->getIndexCount();	
+
+    return res;
+  	
+  }
+
+/******************************************************************************/
+//				 			getDataByIndex
+/******************************************************************************/
+  
+JNIEXPORT jlong JNICALL Java_es_gva_cit_jmrsid_LTIMetadataDatabase_getDataByIndexNat
+  (JNIEnv *env, jobject obj, jlong cPtr, jint i){
+  	
+  	LTIMetadataDatabase *metadata  = (LTIMetadataDatabase *) 0 ;
+  	jlong jresult = 0;
+    const LTIMetadataRecord* rec = NULL;
+  	  	
+    metadata = *(LTIMetadataDatabase **)&cPtr;
+    
+    if(metadata!=NULL){
+    	metadata->getDataByIndex(i,rec);
+    	LTIMetadataRecord *record = new LTIMetadataRecord(*rec);
+	    *(LTIMetadataRecord **)&jresult = record;	
+    }
+  	return jresult;
+  }
+  
+/******************************************************************************/
+//						 		~LTIMetadataDatabase
+/******************************************************************************/
+  
+JNIEXPORT void JNICALL Java_es_gva_cit_jmrsid_LTIMetadataDatabase_FreeLTIMetadataDatabaseNat
+  (JNIEnv *env, jobject obj, jlong cPtr){
+  	
+  	LTIMetadataDatabase *metadata = (LTIMetadataDatabase *) 0 ;
+  	
+  	metadata = *(LTIMetadataDatabase **)&cPtr;
+  	if(metadata!=NULL){
+  		delete metadata;
+  	}
+  	
+  } 
\ No newline at end of file

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/ltimetadatadatabase.cpp
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/ltiimagestage.cpp
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/ltiimagestage.cpp	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/ltiimagestage.cpp	(revision 10040)
@@ -0,0 +1,203 @@
+ /**********************************************************************
+ * $Id: ltiimagestage.cpp 3539 2006-01-09 12:23:20Z nacho $
+ *
+ * Name:     ltiimagestage.c
+ * Project:  JMRSID. Interfaz java to MrSID (Lizardtech).
+ * Purpose:  
+ * Author:   Nacho Brodin, brodin_ign@gva.es
+ *
+ **********************************************************************/
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+*
+* Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+*
+* For more information, contact:
+*
+*  Generalitat Valenciana
+*   Conselleria d'Infraestructures i Transport
+*   Av. Blasco Ib��ez, 50
+*   46010 VALENCIA
+*   SPAIN
+*
+*      +34 963862235
+*   gvsig@gva.es
+*      www.gvsig.gva.es
+*
+*    or
+*
+*   IVER T.I. S.A
+*   Salamanca 50
+*   46005 Valencia
+*   Spain
+*
+*   +34 963163400
+*   dac@iver.es
+*/
+
+
+#include <jni.h>
+#include <malloc.h>
+#include "es_gva_cit_jmrsid_LTIImageStage.h"
+#include "es_gva_cit_jmrsid_JNIBase.h"
+#include "lti_sceneBuffer.h"
+#include "lti_scene.h"
+#include "lti_imageStage.h"
+#include "MrSIDImageReader.h"
+#include "../include/jmrsid.h"
+
+LT_USE_NAMESPACE(LizardTech);
+
+/******************************************************************************/
+//					 				readScene
+/******************************************************************************/
+
+
+JNIEXPORT void JNICALL Java_es_gva_cit_jmrsid_LTIImageStage_readSceneNat(
+	JNIEnv *env, 
+  	jobject obj, 
+  	jlong cPtr, 
+  	jdouble x, 
+  	jdouble y, 
+  	jdouble w, 
+  	jdouble h, 
+  	jdouble mag,
+  	jlong cPtrReader,
+  	jint wImg, 
+  	jint hImg, 
+  	jboolean flag,
+  	jobject objbuf) {
+  	
+  	MrSIDImageReader *img  = NULL;
+  	jclass class_mrsidbuffer;
+  	jfieldID id_b1, id_b2, id_b3, fid;
+  	jbyteArray jvect_byte1, jvect_byte2, jvect_byte3;
+  	int size;
+  	t_buffer *str_buffer = (t_buffer*)malloc(sizeof(t_buffer));
+  	
+  	img = *(MrSIDImageReader **)&cPtrReader;
+  	const LTIScene scene(x, y, w, h, mag);
+  	
+  	//Creamos el buffer
+  	str_buffer->siz = wImg * hImg;
+	str_buffer->membuf = new lt_uint8[str_buffer->siz * 3];
+	str_buffer->bufs[0] = str_buffer->membuf;
+	str_buffer->bufs[1] = str_buffer->membuf + str_buffer->siz;
+	str_buffer->bufs[2] = str_buffer->membuf + str_buffer->siz * 2;
+	   		
+  	LTISceneBuffer buffer(img->getPixelProps(), wImg, hImg, str_buffer->bufs);
+  	int res = img->read(scene, buffer);
+  	
+  	class_mrsidbuffer = env->GetObjectClass(objbuf);
+	
+  	id_b1 = env->GetFieldID(class_mrsidbuffer, "buf1", "[B");
+	jvect_byte1 = env->NewByteArray(str_buffer->siz);
+	env->SetByteArrayRegion(jvect_byte1, 0, str_buffer->siz,(jbyte *)str_buffer->bufs[0]); 
+	env->SetObjectField(objbuf, id_b1, jvect_byte1);
+  	
+  	id_b2 = env->GetFieldID( class_mrsidbuffer, "buf2", "[B");
+  	jvect_byte2 = env->NewByteArray(str_buffer->siz);
+  	env->SetByteArrayRegion(jvect_byte2, 0, str_buffer->siz,(jbyte *)str_buffer->bufs[1]); 
+	env->SetObjectField(objbuf, id_b2, jvect_byte2);
+  	
+  	id_b3 = env->GetFieldID( class_mrsidbuffer, "buf3", "[B");
+  	jvect_byte3 = env->NewByteArray(str_buffer->siz);
+  	env->SetByteArrayRegion(jvect_byte3, 0, str_buffer->siz,(jbyte *)str_buffer->bufs[2]); 
+	env->SetObjectField(objbuf, id_b3, jvect_byte3);
+  		
+  	delete(str_buffer->membuf);
+  	free(str_buffer);
+  }
+  
+/******************************************************************************/
+//					 				read
+/******************************************************************************/
+
+
+JNIEXPORT jint JNICALL Java_es_gva_cit_jmrsid_LTIImageStage_readNat
+  (JNIEnv *env, jobject obj, jlong cPtr, jlong cPtrscene, jlong cPtr_scenebuffer,jlong cPtrbuffer, jobject objbuf){
+  	
+  	LTIScene *scene;
+  	LTISceneBuffer *buffer;
+  	LTIImageStage *img;
+  	t_buffer *str_buffer=NULL;
+  	jclass class_mrsidbuffer;
+  	jfieldID id_b1,id_b2,id_b3,fid;
+  	jbyteArray jvect_byte1,jvect_byte2,jvect_byte3;
+  	int size;
+  	
+  	img = *(LTIImageStage **)&cPtr;
+  	scene = *(LTIScene **)&cPtrscene;
+  	buffer = *(LTISceneBuffer **)&cPtr_scenebuffer;
+  	
+  	//Obtenemos el puntero al buffer. La llamada al constructor de SceneBuffer fue con el flag a 1.
+  	
+  	if(cPtrbuffer!=-1){
+  		str_buffer = *(t_buffer **)&cPtrbuffer;
+  	}
+  	
+  	//Llamamos a read
+  	
+  	int res=img->read(*scene,*buffer);
+
+	if(str_buffer!=NULL){
+		
+	  	//Obtenemos el tama�o
+  	
+  		class_mrsidbuffer = env->GetObjectClass(objbuf);
+		fid = env->GetFieldID( class_mrsidbuffer, "size", "I");
+  		size = env->GetIntField( objbuf, fid);
+	  	
+	  	//Cargamos los datos en el buffer si la llamada fue con flag a 1
+  	  	
+  		id_b1 = env->GetFieldID( class_mrsidbuffer, "buf1", "[B");
+	  	jvect_byte1 = env->NewByteArray(size);
+		env->SetByteArrayRegion(jvect_byte1, 0, size,(jbyte *)str_buffer->bufs[0]); 
+	  	env->SetObjectField( objbuf, id_b1, jvect_byte1);
+  	
+  		id_b2 = env->GetFieldID( class_mrsidbuffer, "buf2", "[B");
+  		jvect_byte2 = env->NewByteArray(size);
+  		env->SetByteArrayRegion(jvect_byte2, 0, size,(jbyte *)str_buffer->bufs[1]); 
+	  	env->SetObjectField( objbuf, id_b2, jvect_byte2);
+  	
+  		id_b3 = env->GetFieldID( class_mrsidbuffer, "buf3", "[B");
+  		jvect_byte3 = env->NewByteArray(size);
+  		env->SetByteArrayRegion(jvect_byte3, 0, size,(jbyte *)str_buffer->bufs[2]); 
+	  	env->SetObjectField( objbuf, id_b3, jvect_byte3);
+  		
+  		//Esto lo haremos en el destructor de LTISceneBuffer
+  		//delete(str_buffer->membuf);
+  		//free(str_buffer);
+  	}		
+	  	return res;
+
+  }
+  
+/******************************************************************************/
+//						 		~LTIImageStage
+/******************************************************************************/
+  
+JNIEXPORT void JNICALL Java_es_gva_cit_jmrsid_LTIImageStage_FreeLTIImageStageNat
+  (JNIEnv *env, jobject obj, jlong cPtr){
+  	
+  	LTIImageStage *stage = (LTIImageStage *) 0 ;
+  	
+  	stage = *(LTIImageStage **)&cPtr;
+  	if(stage!=NULL){
+  		delete stage;
+  	}
+  	
+  } 
\ No newline at end of file

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/ltiimagestage.cpp
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/mrsidimagereaderbase.cpp
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/mrsidimagereaderbase.cpp	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/mrsidimagereaderbase.cpp	(revision 10040)
@@ -0,0 +1,71 @@
+ /**********************************************************************
+ * $Id: mrsidimagereaderbase.cpp 3539 2006-01-09 12:23:20Z nacho $
+ *
+ * Name:     mrsid_interfaz.c
+ * Project:  JMRSID. Interfaz java to MrSID (Lizardtech).
+ * Purpose:  dataset's Basic Funcions.
+ * Author:   Nacho Brodin, brodin_ign@gva.es
+ *
+ **********************************************************************/
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+*
+* Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+*
+* For more information, contact:
+*
+*  Generalitat Valenciana
+*   Conselleria d'Infraestructures i Transport
+*   Av. Blasco Ib��ez, 50
+*   46010 VALENCIA
+*   SPAIN
+*
+*      +34 963862235
+*   gvsig@gva.es
+*      www.gvsig.gva.es
+*
+*    or
+*
+*   IVER T.I. S.A
+*   Salamanca 50
+*   46005 Valencia
+*   Spain
+*
+*   +34 963163400
+*   dac@iver.es
+*/
+
+
+#include <jni.h>
+#include "es_gva_cit_jmrsid_MrSIDImageReader.h"
+#include "es_gva_cit_jmrsid_JNIBase.h"
+#include "MrSIDImageReader.h"
+
+
+/******************************************************************************/
+//						 		~MrSIDImageReaderBase
+/******************************************************************************/
+  
+JNIEXPORT void JNICALL Java_es_gva_cit_jmrsid_MrSIDImageReaderBase_FreeMrSIDImageReaderBaseNat
+  (JNIEnv *env, jobject obj, jlong cPtr) {
+  	/*MrSIDImageReaderBase *reader;
+  	//reader = (MrSIDImageReaderBase *) 0 ;
+  	
+  	reader = *(MrSIDImageReaderBase **)&cPtr;
+  	if(reader!=NULL){
+  		delete reader;
+  	}*/
+  }
\ No newline at end of file

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/mrsidimagereaderbase.cpp
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/ltiscenebuffer.cpp
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/ltiscenebuffer.cpp	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/ltiscenebuffer.cpp	(revision 10040)
@@ -0,0 +1,207 @@
+ /**********************************************************************
+ * $Id: ltiscenebuffer.cpp 3539 2006-01-09 12:23:20Z nacho $
+ *
+ * Name:     ltiscenebuffer.c
+ * Project:  JMRSID. Interfaz java to MrSID (Lizardtech).
+ * Purpose:  
+ * Author:   Nacho Brodin, brodin_ign@gva.es
+ *
+ **********************************************************************/
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+*
+* Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+*
+* For more information, contact:
+*
+*  Generalitat Valenciana
+*   Conselleria d'Infraestructures i Transport
+*   Av. Blasco Ib��ez, 50
+*   46010 VALENCIA
+*   SPAIN
+*
+*      +34 963862235
+*   gvsig@gva.es
+*      www.gvsig.gva.es
+*
+*    or
+*
+*   IVER T.I. S.A
+*   Salamanca 50
+*   46005 Valencia
+*   Spain
+*
+*   +34 963163400
+*   dac@iver.es
+*/
+
+
+#include <jni.h>
+#include <malloc.h>
+#include "es_gva_cit_jmrsid_LTISceneBuffer.h"
+#include "es_gva_cit_jmrsid_JNIBase.h"
+#include "lti_pixel.h"
+#include "lti_sceneBuffer.h"
+#include "../include/jmrsid.h"
+
+LT_USE_NAMESPACE(LizardTech);
+
+/******************************************************************************/
+//				 		Constructor LTISceneBuffer
+/******************************************************************************/
+
+
+JNIEXPORT jlong JNICALL Java_es_gva_cit_jmrsid_LTISceneBuffer_LTISceneBufferNat
+  (JNIEnv *env, jobject obj, jlong cPtr, jint tamx, jint tamy, jint flag){
+  	
+  	LTISceneBuffer *buffer=NULL;
+  	LTIPixel *pixel  = (LTIPixel *) 0 ;
+  	jclass class_mrsidbuffer;
+  	jfieldID id_ptrbuffer;
+  	t_buffer *datos_ventana = (t_buffer*)malloc(sizeof(t_buffer));
+	jlong jbuf = 0 ;
+	jlong jstructbuf = 0 ;
+	
+  	
+  	pixel = *(LTIPixel **)&cPtr;
+  	
+  	//Si el flag es 1 necesitamos un buffer.
+  	
+  	if(pixel!=NULL) {
+	  	if(flag>=1) {
+	  		//Creamos el buffer
+	  	
+  			datos_ventana->siz = tamx * tamy;
+	    	datos_ventana->membuf = new lt_uint8[datos_ventana->siz*3];
+	   		datos_ventana->bufs[0] = datos_ventana->membuf;
+	   		datos_ventana->bufs[1] = datos_ventana->membuf+datos_ventana->siz;
+	   		datos_ventana->bufs[2] = datos_ventana->membuf+datos_ventana->siz*2;
+  	  	
+  	  		//Obtenemos el id del campo que tiene el buffer de la clase LTISceneBuffer de java
+  	  	
+  			class_mrsidbuffer = env->GetObjectClass(obj);
+  			id_ptrbuffer = env->GetFieldID( class_mrsidbuffer, "cPtrbuffer", "J");
+
+  			//Llamamos al constructor pasandole el buffer creado
+  			
+  			buffer=new LTISceneBuffer(*pixel,tamx,tamy,datos_ventana->bufs);
+  			
+  			//Obtenemos los punteros a objeto buffer y a la estructura con el buffer de memoria
+  			
+  			*(t_buffer **)&jstructbuf = datos_ventana;
+  			
+  			//Guardamos el id del buffer en la parte java
+  			
+  			env->SetLongField(obj, id_ptrbuffer, jstructbuf); 
+  		}else
+		  	buffer=new LTISceneBuffer(*pixel,tamx,tamy,NULL);	
+	  	
+		*(LTISceneBuffer **)&jbuf = buffer;
+  	
+  	}else 
+  		return -1;
+  	
+  	return jbuf;
+  }
+  
+
+/******************************************************************************/
+//						 		LTISceneBuffer
+/******************************************************************************/
+
+JNIEXPORT jlong JNICALL Java_es_gva_cit_jmrsid_LTISceneBuffer_LTISceneBuffer1Nat__JIIIIIII
+  (JNIEnv *env, jobject obj, jlong cPtr, jint totalNumCols, jint totalNumRows, jint colOffset, jint rowOffset, jint windowNumCols, jint windowNumRows, jint flag){
+  	
+  	LTISceneBuffer *buffer=NULL;
+  	LTIPixel *pixel  = (LTIPixel *) 0 ;
+  	jclass class_mrsidbuffer;
+  	jfieldID id_ptrbuffer;
+  	t_buffer *datos_ventana = (t_buffer*)malloc(sizeof(t_buffer));
+	jlong jbuf = 0 ;
+	jlong jstructbuf = 0 ;
+	
+  	
+  	pixel = *(LTIPixel **)&cPtr;
+  	
+  	//Si el flag es 1 necesitamos un buffer.
+  	
+  	if(pixel!=NULL){
+	  	if(flag>=1){
+	  		
+	  		//Creamos el buffer
+	  	
+  			datos_ventana->siz = totalNumCols * totalNumRows;
+	    	datos_ventana->membuf = new lt_uint8[datos_ventana->siz*3];
+	   		datos_ventana->bufs[0] = datos_ventana->membuf;
+	   		datos_ventana->bufs[1] = datos_ventana->membuf+datos_ventana->siz;
+	   		datos_ventana->bufs[2] = datos_ventana->membuf+datos_ventana->siz*2;
+  	  	
+  	  		//Obtenemos el id del campo que tiene el buffer de la clase LTISceneBuffer de java
+  	  	
+  			class_mrsidbuffer = env->GetObjectClass(obj);
+  			id_ptrbuffer = env->GetFieldID( class_mrsidbuffer, "cPtrbuffer", "J");
+
+  			
+  			//Llamamos al constructor pasandole el buffer creado
+  			
+  			buffer=new LTISceneBuffer(*pixel, totalNumCols, totalNumRows, colOffset, rowOffset, windowNumCols, windowNumRows, datos_ventana->bufs);
+  			
+  			//Obtenemos los punteros a objeto buffer y a la estructura con el buffer de memoria
+  			
+  			*(t_buffer **)&jstructbuf = datos_ventana;
+  			
+  			//Guardamos el id del buffer en la parte java
+  			
+  			env->SetLongField(obj, id_ptrbuffer, jstructbuf); 
+  		}else
+		  	buffer=new LTISceneBuffer(*pixel, totalNumCols, totalNumRows, colOffset, rowOffset, windowNumCols, windowNumRows, NULL);	
+	  	
+  	
+		*(LTISceneBuffer **)&jbuf = buffer;
+  	
+	
+  	}else return -1;
+  	
+  	
+  	
+  	return jbuf;
+  }
+  
+/******************************************************************************/
+//						 		~LTISceneBuffer
+/******************************************************************************/
+  
+JNIEXPORT void JNICALL Java_es_gva_cit_jmrsid_LTISceneBuffer_FreeLTISceneBufferNat
+  (JNIEnv *env, jobject obj, jlong cPtr_LTISceneBuffer, jlong cPtr_tbuffer){
+  	
+  	LTISceneBuffer *scene = (LTISceneBuffer *) 0 ;
+  	t_buffer *datos_ventana;
+  	
+  	scene = *(LTISceneBuffer **)&cPtr_LTISceneBuffer;
+  	datos_ventana = *(t_buffer **)&cPtr_tbuffer;
+  	
+  	//Nos cepillamos el buffer y el objeto scenebuffer para que quede todo aseado
+  	
+  	if(datos_ventana!=NULL){
+	  	if(datos_ventana->membuf!=NULL)delete datos_ventana->membuf;
+  		free(datos_ventana);
+  	}
+  	if(scene!=NULL){
+  		delete scene;
+  	}
+  	
+  }
+ 
\ No newline at end of file

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/ltiscenebuffer.cpp
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/mrsidimagereader.cpp
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/mrsidimagereader.cpp	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/mrsidimagereader.cpp	(revision 10040)
@@ -0,0 +1,188 @@
+ /**********************************************************************
+ * $Id: mrsidimagereader.cpp 8460 2006-10-31 16:26:34Z nacho $
+ *
+ * Name:     mrsid_interfaz.c
+ * Project:  JMRSID. Interfaz java to MrSID (Lizardtech).
+ * Purpose:  dataset's Basic Funcions.
+ * Author:   Nacho Brodin, brodin_ign@gva.es
+ *
+ **********************************************************************/
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+*
+* Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+*
+* For more information, contact:
+*
+*  Generalitat Valenciana
+*   Conselleria d'Infraestructures i Transport
+*   Av. Blasco Ib��ez, 50
+*   46010 VALENCIA
+*   SPAIN
+*
+*      +34 963862235
+*   gvsig@gva.es
+*      www.gvsig.gva.es
+*
+*    or
+*
+*   IVER T.I. S.A
+*   Salamanca 50
+*   46005 Valencia
+*   Spain
+*
+*   +34 963163400
+*   dac@iver.es
+* 
+* [01] 01-Oct-2005 nbt MrSIDImageReaderArrayNat function to support name parameter in char array
+*/
+
+
+#include <jni.h>
+#include <stdlib.h>
+#include "es_gva_cit_jmrsid_MrSIDImageReader.h"
+#include "es_gva_cit_jmrsid_JNIBase.h"
+#include "lt_fileSpec.h"
+#include "MrSIDImageReader.h"
+
+LT_USE_NAMESPACE(LizardTech);
+
+/******************************************************************************/
+//						 Constructor MrSIDImageReader
+/******************************************************************************/
+
+
+JNIEXPORT jlong JNICALL Java_es_gva_cit_jmrsid_MrSIDImageReader_MrSIDImageReaderNat
+  (JNIEnv *env, jobject obj, jstring pszF){
+  	
+  	const char *pszFilename;
+  	MrSIDImageReader     *poImageReader;
+  	jlong jresult = 0 ;
+  	FILE *fich;
+  	
+  	
+  	pszFilename = env->GetStringUTFChars(pszF, 0);
+
+	fich=fopen( pszFilename, "r" );
+	if( fich )
+		fclose(fich);
+	else
+   	{
+      	fclose(fich);
+      	return -1;
+   	}
+  	
+  	const LTFileSpec fileSpec(pszFilename);
+  	poImageReader = MrSIDImageReader::create();
+    poImageReader->initialize(fileSpec);
+   
+  	//poImageReader = new MrSIDImageReader( fileSpec );
+  	//*(LTIImageReader **)&jresult = poImageReader;
+  	
+  	*(MrSIDImageReader **)&jresult = poImageReader;
+    env->ReleaseStringUTFChars(pszF, pszFilename);
+  	
+  
+  	if(poImageReader==NULL)return -1; 
+  	else return jresult; 
+  		
+  }
+  
+/******************************************************************************/
+//						 Constructor MrSIDImageArrayReader
+/******************************************************************************/
+
+
+JNIEXPORT jlong JNICALL Java_es_gva_cit_jmrsid_MrSIDImageReader_MrSIDImageReaderArrayNat
+  (JNIEnv *env, jobject obj, jbyteArray pszF){
+  	
+	jbyte *aux = NULL;
+  	jbyte *pszFilename;
+  	MrSIDImageReader     *poImageReader;
+  	jlong jresult = 0 ;
+  	FILE *fich;
+  	int longitud = 0;
+  	
+  	longitud = env->GetArrayLength(pszF); 
+  	pszFilename = (jbyte *)env->GetByteArrayElements(pszF, 0); 
+
+	aux = (jbyte *)malloc(sizeof(jbyte) * (longitud + 1));
+  	memcpy(aux, pszFilename, longitud);
+	env->ReleaseByteArrayElements(pszF, (jbyte *)pszFilename, 0);
+  	pszFilename = aux;
+
+	pszFilename[longitud] = '\0';
+	  	
+	fich=fopen( (char *)pszFilename, "r" );
+	if( fich )
+		fclose(fich);
+	else
+      	return -1;
+   	
+  	const LTFileSpec fileSpec((char *)pszFilename);
+  	poImageReader = MrSIDImageReader::create();
+    poImageReader->initialize(fileSpec);
+
+  	*(MrSIDImageReader **)&jresult = poImageReader;
+
+    free(pszFilename);
+
+  	if(poImageReader==NULL)
+  		return -1; 
+  	else 
+  		return jresult; 
+  		
+  }
+  
+/******************************************************************************/
+//						 		getNumLevels
+/******************************************************************************/
+  
+JNIEXPORT jint JNICALL Java_es_gva_cit_jmrsid_JNIBase_getNumLevelsNat
+  (JNIEnv *env, jobject obj, jlong cPtr){
+  	
+  	MrSIDImageReader *img  = (MrSIDImageReader *) 0 ;
+  	int res = -1;
+  	  	
+    img = *(MrSIDImageReader **)&cPtr;
+    
+    if(img!=NULL)
+		res = img->getNumLevels();
+
+    return res;
+    
+  }
+  
+/******************************************************************************/
+//						 		~MrSIDImageReader
+/******************************************************************************/
+  
+JNIEXPORT void JNICALL Java_es_gva_cit_jmrsid_MrSIDImageReader_FreeMrSIDImageReaderNat
+  (JNIEnv *env, jobject obj, jlong cPtr){
+  	
+  	/*MrSIDImageReader *reader = (MrSIDImageReader *) 0 ;
+  	
+  	reader = *(MrSIDImageReader **)&cPtr;
+  	if(reader!=NULL){
+  		delete reader;
+  	}*/
+  	
+  }
+  
+
+ 
+  
+  

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/mrsidimagereader.cpp
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/ltiscene.cpp
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/ltiscene.cpp	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/ltiscene.cpp	(revision 10040)
@@ -0,0 +1,93 @@
+ /**********************************************************************
+ * $Id: ltiscene.cpp 3539 2006-01-09 12:23:20Z nacho $
+ *
+ * Name:     ltiscene.c
+ * Project:  JMRSID. Interfaz java to MrSID (Lizardtech).
+ * Purpose:  
+ * Author:   Nacho Brodin, brodin_ign@gva.es
+ *
+ **********************************************************************/
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+*
+* Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+*
+* For more information, contact:
+*
+*  Generalitat Valenciana
+*   Conselleria d'Infraestructures i Transport
+*   Av. Blasco Ib��ez, 50
+*   46010 VALENCIA
+*   SPAIN
+*
+*      +34 963862235
+*   gvsig@gva.es
+*      www.gvsig.gva.es
+*
+*    or
+*
+*   IVER T.I. S.A
+*   Salamanca 50
+*   46005 Valencia
+*   Spain
+*
+*   +34 963163400
+*   dac@iver.es
+*/
+
+
+#include <jni.h>
+#include "es_gva_cit_jmrsid_LTIScene.h"
+#include "es_gva_cit_jmrsid_JNIBase.h"
+#include "lti_scene.h"
+
+LT_USE_NAMESPACE(LizardTech);
+
+/******************************************************************************/
+//					 		Constructor LTIScene
+/******************************************************************************/
+
+
+JNIEXPORT jlong JNICALL Java_es_gva_cit_jmrsid_LTIScene_LTISceneNat
+  (JNIEnv *env, jobject obj, jdouble xinic, jdouble yinic, jdouble tamx, jdouble tamy, jdouble magn){
+  	
+	LTIScene *scene;
+	jlong jresult = 0 ;
+	
+	//printf("--->%f %f %f %f %f\n", xinic, yinic, tamx, tamy, magn);
+	scene = new LTIScene(xinic, yinic, tamx, tamy, magn);
+	*(LTIScene **)&jresult = scene;
+
+	return jresult;
+  		
+  }
+  
+/******************************************************************************/
+//						 		~LTIScene
+/******************************************************************************/
+  
+JNIEXPORT void JNICALL Java_es_gva_cit_jmrsid_LTIScene_FreeLTISceneNat
+  (JNIEnv *env, jobject obj, jlong cPtr){
+  	
+  	LTIScene *scene = (LTIScene *) 0 ;
+  	
+  	scene = *(LTIScene **)&cPtr;
+  	if(scene!=NULL){
+  		delete scene;
+  	}
+  	
+  }  
+ 
\ No newline at end of file

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/ltiscene.cpp
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/ltimetadatarecord.cpp
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/ltimetadatarecord.cpp	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/ltimetadatarecord.cpp	(revision 10040)
@@ -0,0 +1,450 @@
+/**********************************************************************
+ * $Id: ltimetadatarecord.cpp 3539 2006-01-09 12:23:20Z nacho $
+ *
+ * Name:     ltimetadatarecord.c
+ * Project:  JMRSID. Interfaz java to MrSID (Lizardtech).
+ * Purpose:  
+ * Author:   Nacho Brodin, brodin_ign@gva.es
+ *
+ **********************************************************************/
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+*
+* Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+*
+* For more information, contact:
+*
+*  Generalitat Valenciana
+*   Conselleria d'Infraestructures i Transport
+*   Av. Blasco Ib��ez, 50
+*   46010 VALENCIA
+*   SPAIN
+*
+*      +34 963862235
+*   gvsig@gva.es
+*      www.gvsig.gva.es
+*
+*    or
+*
+*   IVER T.I. S.A
+*   Salamanca 50
+*   46005 Valencia
+*   Spain
+*
+*   +34 963163400
+*   dac@iver.es
+*/
+
+
+#include <jni.h>
+#include <string.h>
+#include "es_gva_cit_jmrsid_LTIMetadataRecord.h"
+#include "es_gva_cit_jmrsid_JNIBase.h"
+#include "lti_metadataRecord.h"
+
+LT_USE_NAMESPACE(LizardTech);
+
+/******************************************************************************/
+//				 			getTagName
+/******************************************************************************/
+
+JNIEXPORT jstring JNICALL Java_es_gva_cit_jmrsid_LTIMetadataRecord_getTagNameNat
+  (JNIEnv *env, jobject obj, jlong cPtr){
+  	
+  	LTIMetadataRecord *record  = (LTIMetadataRecord *) 0 ;
+  	jstring res=NULL;
+  	const char *tagname;
+  	  	
+    record = *(LTIMetadataRecord **)&cPtr;
+    
+    if(record!=NULL){
+		tagname=record->getTagName();
+		res = env->NewStringUTF(tagname); 
+    }
+
+    return res;
+  	
+  }
+  
+/******************************************************************************/
+//				 			isScalar
+/******************************************************************************/
+
+  JNIEXPORT jint JNICALL Java_es_gva_cit_jmrsid_LTIMetadataRecord_isScalarNat
+  (JNIEnv *env, jobject obj, jlong cPtr){
+  	
+  	LTIMetadataRecord *record  = (LTIMetadataRecord *) 0 ;
+  	
+  	record = *(LTIMetadataRecord **)&cPtr;
+  	
+  	if(record!=NULL){
+  		if (record->isScalar())return 1;
+  		else return 0;
+  	}else return -1; 
+  }
+
+
+/******************************************************************************/
+//				 			isVector
+/******************************************************************************/
+
+JNIEXPORT jint JNICALL Java_es_gva_cit_jmrsid_LTIMetadataRecord_isVectorNat
+  (JNIEnv *env, jobject obj, jlong cPtr){
+  	
+  	LTIMetadataRecord *record  = (LTIMetadataRecord *) 0 ;
+  	
+  	record = *(LTIMetadataRecord **)&cPtr;
+  	
+  	if(record!=NULL){
+  		if (record->isVector())return 1;
+  		else return 0;
+  	}else return -1;
+  }
+
+/******************************************************************************/
+//				 			isArray
+/******************************************************************************/
+
+JNIEXPORT jint JNICALL Java_es_gva_cit_jmrsid_LTIMetadataRecord_isArrayNat
+  (JNIEnv *env, jobject obj, jlong cPtr){
+  	
+  	LTIMetadataRecord *record  = (LTIMetadataRecord *) 0 ;
+  	
+  	record = *(LTIMetadataRecord **)&cPtr;
+  	
+  	if(record!=NULL){
+  		if (record->isArray())return 1;
+  		else return 0;
+  	}else return -1;
+  }
+
+/******************************************************************************/
+//				 			getDataType
+/******************************************************************************/
+
+JNIEXPORT jint JNICALL Java_es_gva_cit_jmrsid_LTIMetadataRecord_getDataTypeNat
+  (JNIEnv *env, jobject obj, jlong cPtr){
+  	
+  	LTIMetadataRecord *record  = (LTIMetadataRecord *) 0 ;
+  	
+  	record = *(LTIMetadataRecord **)&cPtr;
+  	
+  	if(record!=NULL){
+  		switch (record->getDataType())
+   		{
+   			case LTI_METADATA_DATATYPE_UINT8:
+			case LTI_METADATA_DATATYPE_SINT8:
+		    case LTI_METADATA_DATATYPE_UINT16:
+	   		case LTI_METADATA_DATATYPE_SINT16:
+		    case LTI_METADATA_DATATYPE_UINT32:
+		    case LTI_METADATA_DATATYPE_SINT32:
+		    case LTI_METADATA_DATATYPE_UINT64:
+		    case LTI_METADATA_DATATYPE_SINT64:return 0;break;
+		    case LTI_METADATA_DATATYPE_FLOAT32:
+		    case LTI_METADATA_DATATYPE_FLOAT64:return 1;break;
+    		case LTI_METADATA_DATATYPE_ASCII:return 2;break;
+	   }
+  	}
+  	
+  	return -1;
+  }
+
+/******************************************************************************/
+//				 			getScalarData
+/******************************************************************************/
+
+JNIEXPORT jstring JNICALL Java_es_gva_cit_jmrsid_LTIMetadataRecord_getScalarDataNat
+  (JNIEnv *env, jobject obj, jlong cPtr){
+  	
+  	LTIMetadataRecord *record  = (LTIMetadataRecord *) 0 ;
+  	record = *(LTIMetadataRecord **)&cPtr;
+  	
+  	if(record!=NULL){
+  		char dato[8192];
+  		const void* data = record->getScalarData();
+  		switch (record->getDataType())
+	   		{
+				case LTI_METADATA_DATATYPE_UINT8:
+			      sprintf(dato, "%d", (lt_uint32)((lt_uint8*)data)[0]);
+			      break;
+			    case LTI_METADATA_DATATYPE_SINT8:
+			      sprintf(dato, "%d", (lt_int32)((lt_int8*)data)[0]);
+			      break;
+			    case LTI_METADATA_DATATYPE_UINT16:
+			      sprintf(dato, "%d", (lt_uint32)((lt_uint16*)data)[0]);
+			      break;
+			    case LTI_METADATA_DATATYPE_SINT16:
+			      sprintf(dato, "%d", (lt_int32)((lt_int16*)data)[0]);
+			      break;
+			    case LTI_METADATA_DATATYPE_UINT32:
+			      sprintf(dato, "%d", ((lt_uint32*)data)[0]);
+			      break;
+			    case LTI_METADATA_DATATYPE_SINT32:
+			      sprintf(dato, "%d", ((lt_int32*)data)[0]);
+			      break;
+			    case LTI_METADATA_DATATYPE_UINT64:
+			      sprintf(dato, "%I64u", ((lt_uint64*)data)[0]);
+			      break;
+			    case LTI_METADATA_DATATYPE_SINT64:
+			      sprintf(dato, "%I64d", ((lt_int64*)data)[0]);
+			      break;
+			    case LTI_METADATA_DATATYPE_FLOAT32:
+			      sprintf(dato, "%f", ((float*)data)[0]);
+			      break;
+			    case LTI_METADATA_DATATYPE_FLOAT64:
+			      sprintf(dato, "%f", ((double*)data)[0]);
+			      break;
+			    case LTI_METADATA_DATATYPE_ASCII:
+			      {
+			      	
+			         const char* p = ((const char**)data)[0];
+			         if(strlen(p)>8192)
+			         	strncpy(dato,p,8192);
+			         else
+			        	 sprintf(dato,"%s", p);
+			      }
+			      break;
+	   		}
+	   
+	   return env->NewStringUTF(dato); 
+	   
+  		
+  	}else return NULL;
+  }
+
+
+
+
+/******************************************************************************/
+//				 			getVectorData
+/******************************************************************************/
+
+JNIEXPORT jobject JNICALL Java_es_gva_cit_jmrsid_LTIMetadataRecord_getVectorDataNat
+  (JNIEnv *env, jobject obj, jlong cPtr){
+  	
+  	LTIMetadataRecord *record  = (LTIMetadataRecord *) 0 ;
+   	char dato[255];
+ 	jclass clase;
+ 	jmethodID metodo;
+ 	jobject obj_stringarray;
+ 	jfieldID id_campo;
+   	jobjectArray arr_string;
+   	   	
+  	record = *(LTIMetadataRecord **)&cPtr;
+  	
+  	if(record!=NULL){
+  		lt_uint32 len=0;
+    	const void* data = record->getVectorData(len);
+    	
+    	clase = env->FindClass ("es/gva/cit/jmrsid/StringArray");
+	   	metodo = env->GetMethodID(clase, "reserva", "(I)V");
+   		obj_stringarray = env->NewObject (clase,metodo,len);
+   		id_campo = env->GetFieldID(clase, "array", "[Ljava/lang/String;");
+   		arr_string =(jobjectArray)env->GetObjectField(obj_stringarray, id_campo);
+   		
+      	for (lt_uint32 i=0; i<len; i++)
+  	    {
+	  		switch (record->getDataType())
+	   		{
+				case LTI_METADATA_DATATYPE_UINT8:
+			      sprintf(dato, "%d", (lt_uint32)((lt_uint8*)data)[i]);
+			      break;
+			    case LTI_METADATA_DATATYPE_SINT8:
+			      sprintf(dato, "%d", (lt_int32)((lt_int8*)data)[i]);
+			      break;
+			    case LTI_METADATA_DATATYPE_UINT16:
+			      sprintf(dato, "%d", (lt_uint32)((lt_uint16*)data)[i]);
+			      break;
+			    case LTI_METADATA_DATATYPE_SINT16:
+			      sprintf(dato, "%d", (lt_int32)((lt_int16*)data)[i]);
+			      break;
+			    case LTI_METADATA_DATATYPE_UINT32:
+			      sprintf(dato, "%d", ((lt_uint32*)data)[i]);
+			      break;
+			    case LTI_METADATA_DATATYPE_SINT32:
+			      sprintf(dato, "%d", ((lt_int32*)data)[i]);
+			      break;
+			    case LTI_METADATA_DATATYPE_UINT64:
+			      sprintf(dato, "%I64u", ((lt_uint64*)data)[i]);
+			      break;
+			    case LTI_METADATA_DATATYPE_SINT64:
+			      sprintf(dato, "%I64d", ((lt_int64*)data)[i]);
+			      break;
+			    case LTI_METADATA_DATATYPE_FLOAT32:
+			      sprintf(dato, "%f", ((float*)data)[i]);
+			      break;
+			    case LTI_METADATA_DATATYPE_FLOAT64:
+			      sprintf(dato, "%f", ((double*)data)[i]);
+			      break;
+			    case LTI_METADATA_DATATYPE_ASCII:
+			      {
+			         const char* p = ((const char**)data)[i];
+			         sprintf(dato,"%s", p);
+			      }
+			      break;
+		   }
+
+		   env->SetObjectArrayElement(arr_string,i,env->NewStringUTF(dato));
+   	 	
+    	}
+    	
+  	}
+  	
+  	return obj_stringarray;
+  	
+  }
+
+/******************************************************************************/
+//				 			getArrayData
+/******************************************************************************/
+
+JNIEXPORT jobject JNICALL Java_es_gva_cit_jmrsid_LTIMetadataRecord_getArrayDataNat
+  (JNIEnv *env, jobject obj, jlong cPtr){
+  	
+  	LTIMetadataRecord *record  = (LTIMetadataRecord *) 0 ;
+   	char dato[255];
+ 	jclass clase;
+ 	jmethodID metodo;
+ 	jobject obj_stringarray;
+ 	jfieldID id_campo;
+   	jobjectArray arr_string;
+   	   	
+  	record = *(LTIMetadataRecord **)&cPtr;
+  	
+  	if(record!=NULL){
+  		
+  		lt_uint32 numDims=0;
+      	const lt_uint32* dims=NULL;
+        const void* data = record->getArrayData(numDims, dims);
+      	lt_uint32 i=0;
+      	lt_uint32 d=0;
+              
+    	
+    	clase = env->FindClass ("es/gva/cit/jmrsid/StringArray");
+	   	metodo = env->GetMethodID(clase, "reserva", "(I)V");
+   		obj_stringarray = env->NewObject (clase,metodo,numDims*(*dims));
+   		id_campo = env->GetFieldID(clase, "array", "[Ljava/lang/String;");
+   		arr_string =(jobjectArray)env->GetObjectField(obj_stringarray, id_campo);
+   		
+      	for (d=0; d<numDims; d++)
+      	{
+
+         	lt_uint32 nd=0;
+ 			for (nd=0; nd<dims[d]; nd++)
+         	{
+		  		switch (record->getDataType())
+		   		{
+					case LTI_METADATA_DATATYPE_UINT8:
+				      sprintf(dato, "%d", (lt_uint32)((lt_uint8*)data)[i]);
+				      break;
+				    case LTI_METADATA_DATATYPE_SINT8:
+				      sprintf(dato, "%d", (lt_int32)((lt_int8*)data)[i]);
+				      break;
+				    case LTI_METADATA_DATATYPE_UINT16:
+				      sprintf(dato, "%d", (lt_uint32)((lt_uint16*)data)[i]);
+				      break;
+				    case LTI_METADATA_DATATYPE_SINT16:
+				      sprintf(dato, "%d", (lt_int32)((lt_int16*)data)[i]);
+				      break;
+				    case LTI_METADATA_DATATYPE_UINT32:
+				      sprintf(dato, "%d", ((lt_uint32*)data)[i]);
+				      break;
+				    case LTI_METADATA_DATATYPE_SINT32:
+				      sprintf(dato, "%d", ((lt_int32*)data)[i]);
+				      break;
+				    case LTI_METADATA_DATATYPE_UINT64:
+				      sprintf(dato, "%I64u", ((lt_uint64*)data)[i]);
+				      break;
+				    case LTI_METADATA_DATATYPE_SINT64:
+				      sprintf(dato, "%I64d", ((lt_int64*)data)[i]);
+				      break;
+				    case LTI_METADATA_DATATYPE_FLOAT32:
+				      sprintf(dato, "%f", ((float*)data)[i]);
+				      break;
+				    case LTI_METADATA_DATATYPE_FLOAT64:
+				      sprintf(dato, "%f", ((double*)data)[i]);
+				      break;
+				    case LTI_METADATA_DATATYPE_ASCII:
+				      {
+				         const char* p = ((const char**)data)[i];
+				         sprintf(dato,"%s", p);
+				      }
+				      break;
+			   }
+	
+			   env->SetObjectArrayElement(arr_string,i,env->NewStringUTF(dato));
+	   	 	
+	    	   ++i;
+         	}
+      	}
+    	
+  	}
+  	
+  	return obj_stringarray;
+  }
+  
+/******************************************************************************/
+//				 			getNumDims
+/******************************************************************************/
+
+  JNIEXPORT jint JNICALL Java_es_gva_cit_jmrsid_LTIMetadataRecord_getNumDimsNat
+  (JNIEnv *env, jobject obj, jlong cPtr){
+  	
+  	jint dims=-1;
+  	LTIMetadataRecord *record  = (LTIMetadataRecord *) 0 ;
+  	record = *(LTIMetadataRecord **)&cPtr;
+  	if(record!=NULL){
+  		dims = (jint)record->getNumDims();
+  	}
+  	return dims;
+  }
+
+/******************************************************************************/
+//				 			getDims
+/******************************************************************************/
+
+JNIEXPORT jintArray JNICALL Java_es_gva_cit_jmrsid_LTIMetadataRecord_getDimsNat
+  (JNIEnv *env, jobject obj, jlong cPtr){
+  	
+  	jintArray longitudes=NULL;
+  	LTIMetadataRecord *record  = (LTIMetadataRecord *) 0 ;
+  	record = *(LTIMetadataRecord **)&cPtr;
+  	if(record!=NULL){
+  		const lt_uint32* dims = record->getDims();
+  		const lt_uint32 numdims = record->getNumDims();
+  		longitudes = env->NewIntArray((int)numdims);
+  		env->SetIntArrayRegion( longitudes, 0, (int)numdims,(jint *)dims); 
+
+  	}
+  	return longitudes;
+  }
+  
+  
+/******************************************************************************/
+//						 		~LTIMetadataRecord
+/******************************************************************************/
+  
+JNIEXPORT void JNICALL Java_es_gva_cit_jmrsid_LTIMetadataRecord_FreeLTIMetadataRecordNat
+  (JNIEnv *env, jobject obj, jlong cPtr){
+  	
+  	LTIMetadataRecord *record = (LTIMetadataRecord *) 0 ;
+  	
+  	record = *(LTIMetadataRecord **)&cPtr;
+  	if(record!=NULL){
+  		delete record;
+  	}
+  	
+  } 
\ No newline at end of file

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/ltimetadatarecord.cpp
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/ltiutils.cpp
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/ltiutils.cpp	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/ltiutils.cpp	(revision 10040)
@@ -0,0 +1,70 @@
+/**********************************************************************
+ * $Id: ltiutils.cpp 3539 2006-01-09 12:23:20Z nacho $
+ *
+ * Name:     ltiutils.c
+ * Project:  JMRSID. Interfaz java to MrSID (Lizardtech).
+ * Purpose:  
+ * Author:   Nacho Brodin, brodin_ign@gva.es
+ *
+ **********************************************************************/
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+*
+* Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+*
+* For more information, contact:
+*
+*  Generalitat Valenciana
+*   Conselleria d'Infraestructures i Transport
+*   Av. Blasco Ib��ez, 50
+*   46010 VALENCIA
+*   SPAIN
+*
+*      +34 963862235
+*   gvsig@gva.es
+*      www.gvsig.gva.es
+*
+*    or
+*
+*   IVER T.I. S.A
+*   Salamanca 50
+*   46005 Valencia
+*   Spain
+*
+*   +34 963163400
+*   dac@iver.es
+*/
+
+
+#include <jni.h>
+#include <malloc.h>
+#include "es_gva_cit_jmrsid_LTIUtils.h"
+#include "es_gva_cit_jmrsid_JNIBase.h"
+#include "lti_utils.h"
+
+LT_USE_NAMESPACE(LizardTech);
+
+/******************************************************************************/
+//						 		levelToMag
+/******************************************************************************/
+
+JNIEXPORT jdouble JNICALL Java_es_gva_cit_jmrsid_LTIUtils_levelToMagNat
+  (JNIEnv *env, jclass clase, jint level){
+  	
+  	double mag = LTIUtils::levelToMag(level);
+  	
+  	return (jdouble)mag;
+  }

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/ltiutils.cpp
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/ltipixel.cpp
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/ltipixel.cpp	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/ltipixel.cpp	(revision 10040)
@@ -0,0 +1,91 @@
+ /**********************************************************************
+ * $Id: ltipixel.cpp 3539 2006-01-09 12:23:20Z nacho $
+ *
+ * Name:     ltipixel.c
+ * Project:  JMRSID. Interfaz java to MrSID (Lizardtech).
+ * Purpose:  
+ * Author:   Nacho Brodin, brodin_ign@gva.es
+ *
+ **********************************************************************/
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+*
+* Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+*
+* For more information, contact:
+*
+*  Generalitat Valenciana
+*   Conselleria d'Infraestructures i Transport
+*   Av. Blasco Ib��ez, 50
+*   46010 VALENCIA
+*   SPAIN
+*
+*      +34 963862235
+*   gvsig@gva.es
+*      www.gvsig.gva.es
+*
+*    or
+*
+*   IVER T.I. S.A
+*   Salamanca 50
+*   46005 Valencia
+*   Spain
+*
+*   +34 963163400
+*   dac@iver.es
+*/
+
+
+#include <jni.h>
+#include "es_gva_cit_jmrsid_LTIPixel.h"
+#include "es_gva_cit_jmrsid_JNIBase.h"
+#include "lti_pixel.h"
+
+LT_USE_NAMESPACE(LizardTech);
+
+/******************************************************************************/
+//					 		Constructor LTIPixel
+/******************************************************************************/
+
+
+JNIEXPORT jlong JNICALL Java_es_gva_cit_jmrsid_LTIPixel_LTIPixelNat
+  (JNIEnv *env, jobject obj, jint eColorSpace, jint nBands, jint eSampleType){
+  	
+	LTIPixel *poPixel;
+	jlong jresult = 0 ;
+	
+	poPixel = new LTIPixel((LTIColorSpace)eColorSpace, (lt_uint16)nBands, (LTIDataType)eSampleType );
+  		
+  	*(LTIPixel **)&jresult = poPixel;
+  	
+  	return jresult;
+  }
+  
+/******************************************************************************/
+//						 		~LTIPixel
+/******************************************************************************/
+  
+JNIEXPORT void JNICALL Java_es_gva_cit_jmrsid_LTIPixel_FreeLTIPixelNat
+  (JNIEnv *env, jobject obj, jlong cPtr){
+  	
+  	LTIPixel *pixel = (LTIPixel *) 0 ;
+  	
+  	pixel = *(LTIPixel **)&cPtr;
+  	if(pixel!=NULL){
+  		delete pixel;
+  	}
+  	
+  } 
\ No newline at end of file

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/native/jmrsid/ltipixel.cpp
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIDataType.java
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIDataType.java	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIDataType.java	(revision 10040)
@@ -0,0 +1,72 @@
+/**********************************************************************
+ * $Id: LTIDataType.java 3539 2006-01-09 12:23:20Z nacho $
+ *
+ * Name:     LTIDataType.java
+ * Project:  JMRSID. Interface java to mrsid (Lizardtech).
+ * Purpose:   
+ * Author:   Nacho Brodin, brodin_ign@gva.es
+ *
+ **********************************************************************/
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+*
+* Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+*
+* For more information, contact:
+*
+*  Generalitat Valenciana
+*   Conselleria d'Infraestructures i Transport
+*   Av. Blasco Ib��ez, 50
+*   46010 VALENCIA
+*   SPAIN
+*
+*      +34 963862235
+*   gvsig@gva.es
+*      www.gvsig.gva.es
+*
+*    or
+*
+*   IVER T.I. S.A
+*   Salamanca 50
+*   46005 Valencia
+*   Spain
+*
+*   +34 963163400
+*   dac@iver.es
+*/
+
+package es.gva.cit.jmrsid;
+
+/**
+ * Clase que contiene las constantes asociadas a cada tipo de dato.
+ * 
+ * @author Nacho Brodin <brodin_ign@gva.es>.<BR> Equipo de desarrollo gvSIG.<BR> http://www.gvsig.gva.es
+ * @version 0.0
+ * @link http://www.gvsig.gva.es
+ */
+public class LTIDataType{
+	
+	  public static final int LTI_DATATYPE_INVALID  = 0;
+	  public static final int LTI_DATATYPE_UINT8    = 1;
+	  public static final int LTI_DATATYPE_SINT8    = 2;
+	  public static final int LTI_DATATYPE_UINT16   = 3;
+	  public static final int LTI_DATATYPE_SINT16   = 4;
+	  public static final int LTI_DATATYPE_UINT32   = 5;
+	  public static final int LTI_DATATYPE_SINT32   = 6;
+	  public static final int LTI_DATATYPE_FLOAT32  = 7;
+	  public static final int LTI_DATATYPE_FLOAT64  = 8;
+	  
+}
\ No newline at end of file

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIDataType.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIMetadataRecord.java
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIMetadataRecord.java	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIMetadataRecord.java	(revision 10040)
@@ -0,0 +1,285 @@
+/**********************************************************************
+ * $Id: LTIMetadataRecord.java 3539 2006-01-09 12:23:20Z nacho $
+ *
+ * Name:     LTIMetadataRecord.java
+ * Project:  JMRSID. Interface java to mrsid (Lizardtech).
+ * Purpose:   
+ * Author:   Nacho Brodin, brodin_ign@gva.es
+ *
+ **********************************************************************/
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+*
+* Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+*
+* For more information, contact:
+*
+*  Generalitat Valenciana
+*   Conselleria d'Infraestructures i Transport
+*   Av. Blasco Ib��ez, 50
+*   46010 VALENCIA
+*   SPAIN
+*
+*      +34 963862235
+*   gvsig@gva.es
+*      www.gvsig.gva.es
+*
+*    or
+*
+*   IVER T.I. S.A
+*   Salamanca 50
+*   46005 Valencia
+*   Spain
+*
+*   +34 963163400
+*   dac@iver.es
+*/
+
+package es.gva.cit.jmrsid;
+
+
+
+/**
+ * Representa una entrada de LTIMetadataDatabase correspondiente a un metadato
+ * 
+ * @author Nacho Brodin <brodin_ign@gva.es>.<BR> Equipo de desarrollo gvSIG.<BR> http://www.gvsig.gva.es
+ * @version 0.0
+ * @link http://www.gvsig.gva.es
+ */
+public class LTIMetadataRecord extends JNIBase{
+	
+	public static final int LTI_METADATA_DATATYPE_INT = 0;
+	public static final int LTI_METADATA_DATATYPE_FLOAT = 1;
+	public static final int LTI_METADATA_DATATYPE_STRING = 2;
+		
+	private native String getTagNameNat(long cPtr);
+	private native int isScalarNat(long cPtr);
+	private native int isVectorNat(long cPtr);
+	private native int isArrayNat(long cPtr);
+	private native int getDataTypeNat(long cPtr);
+	private native String getScalarDataNat(long cPtr);
+	private native StringArray getVectorDataNat(long cPtr);
+	private native StringArray getArrayDataNat(long cPtr);
+	private native int getNumDimsNat(long cPtr);
+	private native int[] getDimsNat(long cPtr);
+	private native void FreeLTIMetadataRecordNat(long cPtr);
+	
+	
+	/**
+	 * Destructor 
+	 */
+	protected void finalize(){
+		if(cPtr != 0)
+			FreeLTIMetadataRecordNat(cPtr);
+	}
+	
+	public LTIMetadataRecord(){}
+	
+	/**
+	 * Constructor
+	 */
+	public LTIMetadataRecord(long cPtr){
+		
+		super.cPtr=cPtr;
+	}
+
+	/**
+	 * Obtiene el nombre de la entrada
+	 * @throws MrSIDException
+	 * @return nombre de la entrada
+	 */
+	public String getTagName()throws MrSIDException{
+		
+		if(cPtr == 0)
+		 	throw new MrSIDException("Error en getTagName. La referencia al objeto no es valida.");
+
+		String tagname = getTagNameNat(cPtr);
+				
+		if(tagname == null)
+		 	throw new MrSIDException("No se ha devuelto un nombre de tag valido");
+		
+		return tagname;
+	}
+	
+	/**
+	 * Dice si el metadato es escalar o no.
+	 * @throws MrSIDException
+	 * @return true si es escalar y false si no lo es
+	 */
+	public boolean isScalar()throws MrSIDException{
+		
+		if (cPtr == 0)
+		 	throw new MrSIDException("Error en getTagName. La referencia al objeto no es valida.");
+		
+		int res = isScalarNat(cPtr);
+		
+		if (res == 1)return true;
+		else return false;
+	
+	}
+	
+	/**
+	 * Dice si el metadato es vector o no.
+	 * @throws MrSIDException
+	 * @return true si es vector y false si no lo es
+	 */
+	public boolean isVector()throws MrSIDException{
+		if(cPtr == 0)
+		 	throw new MrSIDException("Error en isVector. La referencia al objeto no es valida.");
+
+		int res = isVectorNat(cPtr);
+		
+		if(res==1)return true;
+		else return false;
+		
+	}
+	
+	/**
+	 * Dice si el metadato es array o no.
+	 * @throws MrSIDException
+	 * @return true si es array y false si no lo es
+	 */
+	public boolean isArray()throws MrSIDException{
+		if(cPtr == 0)
+		 	throw new MrSIDException("Error en getTagName. La referencia al objeto no es valida.");
+
+		int res = isArrayNat(cPtr);
+		
+		if(res==1)return true;
+		else return false;
+		
+	}
+	
+	/**
+	 * Obtiene el tipo de datos
+	 * @throws MrSIDException
+	 * @return tipo de datos 
+	 *<UL>    
+	 *<LI>LTI_METADATA_DATATYPE_INVALID 0</LI> 
+	 *<LI>LTI_METADATA_DATATYPE_UINT8 1</LI>
+	 *<LI>LTI_METADATA_DATATYPE_SINT8 2</LI>
+	 *<LI>LTI_METADATA_DATATYPE_UINT16 3</LI>
+	 *<LI>LTI_METADATA_DATATYPE_SINT16 4</LI>
+	 *<LI>LTI_METADATA_DATATYPE_UINT32 5</LI>
+	 *<LI>LTI_METADATA_DATATYPE_SINT32 6</LI>
+	 *<LI>LTI_METADATA_DATATYPE_UINT64 7</LI>
+	 *<LI>LTI_METADATA_DATATYPE_SINT64 8</LI>
+	 *<LI>LTI_METADATA_DATATYPE_FLOAT32 9</LI>
+	 *<LI>LTI_METADATA_DATATYPE_FLOAT64 10</LI>
+	 *<LI>LTI_METADATA_DATATYPE_ASCII 11</LI>
+	 *</UL>
+	 * 
+	 */
+	public int getDataType()throws MrSIDException{
+		if(cPtr == 0)
+		 	throw new MrSIDException("Error en getDataType. La referencia al objeto no es valida.");
+		
+		int res = getDataTypeNat(cPtr);
+		
+		if(res < 0)
+			throw new MrSIDException("Error en getDataType. No se ha obtenido un tipo de datos valido");
+		
+		return res;
+	}
+	
+	/**
+	 * Obtiene el valor de un datos escalar en forma de String. La conversi�n a float, entero, ... 
+	 * si fuera necesario es a cargo del cliente  
+	 * @throws MrSIDException
+	 * @return dato escalar
+	 */
+	public String getScalarData()throws MrSIDException{
+		
+		String datos=null;
+		
+		if(cPtr == 0)
+		 	throw new MrSIDException("Error en getScalarData. La referencia al objeto no es valida.");
+		
+		datos = getScalarDataNat(cPtr);
+		
+		return datos;
+	
+	}
+	
+	/**
+	 * Obtiene el valor del metadato de tipo vector en forma de vector de strings
+	 * @throws MrSIDException
+	 * @return vector de strings con los valores del metadato
+	 */
+	public String[] getVectorData()throws MrSIDException{
+		if(cPtr == 0)
+		 	throw new MrSIDException("Error en getVectorData. La referencia al objeto no es valida.");
+		
+		StringArray res = getVectorDataNat(cPtr);
+		
+		if(res != null)return res.array;
+		else return null;
+	}
+	
+	/**
+	 * Obtiene el valor del metadato de tipo array en forma de vector de strings. Esta funci�n 
+	 * colocar� todas las dimensiones del array en forma de vector
+	 * @throws MrSIDException
+	 * @return vector de strings con los valores del metadato
+	 */
+	public String[] getArrayData()throws MrSIDException{
+		if(cPtr == 0)
+		 	throw new MrSIDException("Error en getArrayData. La referencia al objeto no es valida.");
+
+		StringArray res = getArrayDataNat(cPtr);
+		
+		if(res != null)return res.array;
+		else return null;
+	}
+	
+	/**
+	 * Devuelve el n�mero de dimensiones del dataset
+	 * @throws MrSIDException
+	 * @return n�mero de dimensiones del dataset
+	 */
+	
+	public int getNumDims()throws MrSIDException{
+		
+		if(cPtr == 0)
+		 	throw new MrSIDException("Error en getNumDims. La referencia al objeto no es valida.");
+		
+		int res = getNumDimsNat(cPtr);
+		
+		if(res < 0)
+		 	throw new MrSIDException("Error en getNumDims. El n�mero de dimensiones obtenido no es valido.");
+		
+		return res;
+	}
+	
+	/**
+	 * Obtiene la longitud de cada dimensi�n del dataset
+	 * @throws MrSIDException
+	 * @return array de enteros con la dimension de cada longitud
+	 */
+	 public int[] getDims()throws MrSIDException{
+	 	
+	 	if(cPtr == 0)
+		 	throw new MrSIDException("Error en getDims. La referencia al objeto no es valida.");
+	 	
+	 	int[] res =  getDimsNat(cPtr);
+	 	
+	 	if(res==null || res.length==0)
+	 		throw new MrSIDException("Error en getDims. No se ha podido obtener la longitud de las dimensiones.");
+	 	
+	 	return res;
+	 }
+
+}
\ No newline at end of file

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIMetadataRecord.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIPixel.java
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIPixel.java	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIPixel.java	(revision 10040)
@@ -0,0 +1,100 @@
+/**********************************************************************
+ * $Id: LTIPixel.java 3539 2006-01-09 12:23:20Z nacho $
+ *
+ * Name:     LTIPixel.java
+ * Project:  JMRSID. Interface java to mrsid (Lizardtech).
+ * Purpose:   
+ * Author:   Nacho Brodin, brodin_ign@gva.es
+ *
+ **********************************************************************/
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+*
+* Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+*
+* For more information, contact:
+*
+*  Generalitat Valenciana
+*   Conselleria d'Infraestructures i Transport
+*   Av. Blasco Ib��ez, 50
+*   46010 VALENCIA
+*   SPAIN
+*
+*      +34 963862235
+*   gvsig@gva.es
+*      www.gvsig.gva.es
+*
+*    or
+*
+*   IVER T.I. S.A
+*   Salamanca 50
+*   46005 Valencia
+*   Spain
+*
+*   +34 963163400
+*   dac@iver.es
+*/
+
+package es.gva.cit.jmrsid;
+
+
+/**
+ * Propiedades b�sicas de un pixel.
+ * @author Nacho Brodin <brodin_ign@gva.es>.<BR> Equipo de desarrollo gvSIG.<BR> http://www.gvsig.gva.es
+ * @version 0.0
+ * @link http://www.gvsig.gva.es
+ */
+public class LTIPixel extends JNIBase{
+	
+   private native long LTIPixelNat(int eColorSpace, int nBands, int SampleType);	
+   private native void FreeLTIPixelNat(long cPtr);
+	
+	/**
+	 * Destructor 
+	 */
+	
+	protected void finalize(){
+		if(cPtr != 0)
+			FreeLTIPixelNat(cPtr);
+	}
+	
+	public LTIPixel(){}
+	
+   /**
+    * Constructor a partir de su identificador de C.
+    * @param cPtr	puntero al objeto creado en C.
+    */
+   
+   public LTIPixel(long cPtr){
+		
+		super.cPtr=cPtr;
+   }
+	
+   /**
+    * Constructor
+    * @param eColorSpace	Espacio de color
+    * @param nBands	N�mero de bandas
+    * @param eSampleType	
+    */
+   public LTIPixel(int eColorSpace, int nBands, int eSampleType)throws MrSIDException{
+   	
+   	 cPtr = LTIPixelNat(eColorSpace, nBands, eSampleType);
+   	 
+	 if(cPtr == 0)
+			throw new MrSIDException("Error in native constructor LTIPixel");
+   	 
+   }
+}
\ No newline at end of file

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIPixel.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIImage.java
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIImage.java	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIImage.java	(revision 10040)
@@ -0,0 +1,335 @@
+/**********************************************************************
+ * $Id: LTIImage.java 8460 2006-10-31 16:26:34Z nacho $
+ *
+ * Name:     LTIImage.java
+ * Project:  JMRSID. Interface java to mrsid (Lizardtech).
+ * Purpose:   
+ * Author:   Nacho Brodin, brodin_ign@gva.es
+ *
+ **********************************************************************/
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+*
+* Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+*
+* For more information, contact:
+*
+*  Generalitat Valenciana
+*   Conselleria d'Infraestructures i Transport
+*   Av. Blasco Ib��ez, 50
+*   46010 VALENCIA
+*   SPAIN
+*
+*      +34 963862235
+*   gvsig@gva.es
+*      www.gvsig.gva.es
+*
+*    or
+*
+*   IVER T.I. S.A
+*   Salamanca 50
+*   46005 Valencia
+*   Spain
+*
+*   +34 963163400
+*   dac@iver.es
+*/
+
+package es.gva.cit.jmrsid;
+
+
+/**
+ * Clase base que representa a una im�gen.
+ * 
+ * @author Nacho Brodin <brodin_ign@gva.es>.<BR> Equipo de desarrollo gvSIG.<BR> http://www.gvsig.gva.es
+ * @version 0.0
+ * @link http://www.gvsig.gva.es
+ */
+public class LTIImage extends JNIBase{
+	
+	private int[] magsize=new int[2];
+	private native long getMetadataNat(long cPtr);
+	private native int getDimsAtMagWidthNat(long cPtr, double mag);
+	private native int getDimsAtMagHeightNat(long cPtr, double mag);
+	private native long getPixelPropsNat(long cPtr);
+	private native long getBackgroundPixelNat(long cPtr);
+	private native long getNoDataPixelNat(long cPtr);
+	private native int getGeoCoordNat(long cPtr, LTIGeoCoord geocoord);
+	private native void FreeLTIImageNat(long cPtr);
+	private native double getMinMagnificationNat(long cPtr);
+	private native double getMaxMagnificationNat(long cPtr);
+	
+	LTIGeoCoord geocoord=null;
+	
+	public LTIImage(){}
+	
+	/**
+	 * Constructor
+	 * @param cPtr	direcci�n de memoria al objeto LTIImage de C. 
+	 */
+	public LTIImage(long cPtr){
+		this.cPtr=cPtr;
+	}
+	
+	/**
+	 * Destructor 
+	 */
+	protected void finalize(){
+		if(cPtr != 0){
+			FreeLTIImageNat(cPtr);
+			cPtr = -1;
+		}
+	}
+	
+	
+	/**
+	 * Inicializa el objeto im�gen.
+	 * @throws MrSIDException, IOException
+	 */
+	public void initialize()throws MrSIDException{
+
+		String msg1="Error en initialize. El Open del MrSID no tuvo �xito";
+		String msg2="La llamada nativa a initialize ha devuelto un c�digo de error";
+		int codigo = 0;//super.baseSimpleFunction(1,msg1,msg2);
+		
+		if( codigo > 0)
+			throw new MrSIDException("La llamada nativa a initialize ha devuelto el c�digo de error "+codigo);
+			
+	}
+	
+	
+	/**
+	 * Obtiene los metadatos de la im�gen.
+	 * @throws MrSIDException, IOException
+	 * @return Objeto LTIMetadataDatabase que contiene los metadatos de la im�gen
+	 */
+	public LTIMetadataDatabase getMetadata()throws MrSIDException{
+
+		if(cPtr == 0)
+			throw new MrSIDException("Error en getMetadataDatabase. El Open del MrSID no tuvo �xito");
+
+		LTIMetadataDatabase metadata = new LTIMetadataDatabase(getMetadataNat(cPtr));
+
+		if(metadata==null)
+			throw new MrSIDException("Objeto LTIMetadataDatabase nulo");
+
+		return metadata;
+	}
+
+	/**
+	 * Obtiene el ancho de la im�gen.
+	 * 
+	 * @throws MrSIDException
+	 * @return entero con el ancho de la im�gen
+	 */
+	public int getWidth()throws MrSIDException{
+		
+		String msg1="Error en getNumLevels. No se ha obtenido un puntero valido a LTIImage";
+		String msg2="La llamada nativa a getNumLevels ha devuelto un c�digo de error";
+		return baseSimpleFunction(3,msg1,msg2);
+		
+	}
+	
+	/**
+	 * Obtiene el alto de la im�gen.
+	 * 
+	 * @throws MrSIDException
+	 * @return alto de la im�gen
+	 */
+	public int getHeight()throws MrSIDException{
+		
+		String msg1="Error en getNumLevels. No se ha obtenido un puntero valido a LTIImage";
+		String msg2="La llamada nativa a getNumLevels ha devuelto un c�digo de error";
+		return baseSimpleFunction(4,msg1,msg2);
+		
+	}
+	
+	/**
+	 * Obtiene el n�mero de bandas.
+	 * 
+	 * @throws MrSIDException
+	 * @return n�mero de bandas
+	 */
+	public int getNumBands()throws MrSIDException{
+		
+		String msg1="Error en getNumBands. No se ha obtenido un puntero valido a LTIImage";
+		String msg2="La llamada nativa a getNumBands ha devuelto un c�digo de error";
+		return baseSimpleFunction(6,msg1,msg2);
+		
+	}
+	
+	/**
+	 * Obtiene el tipo de espacio de color usado en la im�gen.
+	 * 
+	 * @throws MrSIDException
+	 * @return entero que representa una constante de la clase LTIColorSpace. 
+	 */
+	public int getColorSpace()throws MrSIDException{
+		
+		String msg1="Error en getColorSpace. No se ha obtenido un puntero valido a LTIImage";
+		String msg2="La llamada nativa a getColorSpace ha devuelto un c�digo de error";
+		return baseSimpleFunction(7,msg1,msg2);
+		
+	}
+	
+	/**
+	 * Obtiene el tipo de datos usado en la im�gen.
+	 * 
+	 * @throws MrSIDException
+	 * @return entero que representa una constante de la clase LTIDataType. 
+	 */
+	public int getDataType()throws MrSIDException{
+		
+		String msg1="Error en getDataType. No se ha obtenido un puntero valido a LTIImage";
+		String msg2="La llamada nativa a getDataType ha devuelto un c�digo de error";
+		return baseSimpleFunction(8,msg1,msg2);
+		
+	}
+
+	
+	/**
+	 * Obtiene el ancho y alto de la im�gen a partir de una valor de ampliaci�n dado.
+	 * 
+	 * @throws MrSIDException
+	 * @return el ancho y alto de la im�gen
+	 */
+	public int[] getDimsAtMag(double mag)throws MrSIDException{
+		
+		if(cPtr == 0)
+		 	throw new MrSIDException("Error en getDimsAtMag. El Open del MrSID no tuvo �xito");
+
+		magsize[0]=getDimsAtMagWidthNat(cPtr,mag);
+		magsize[1]=getDimsAtMagHeightNat(cPtr,mag);
+		
+		if(magsize[0] < 0 || magsize[1] < 0)
+			throw new MrSIDException("Error en getDimsAtMag. El Open del MrSID no tuvo �xito");
+				
+		return magsize;
+	}
+	
+	/**
+	 * Obtiene las propiedades del pixel de la im�gen.
+	 * @throws MrSIDException 
+	 * @return un objeto de tipo LTIPixel conteniendo las propiedades
+	 */
+	 public LTIPixel getPixelProps()throws MrSIDException{
+	 	
+	 	if(cPtr == 0)
+		 	throw new MrSIDException("Error en getPixelProps. El Open del MrSID no tuvo �xito");
+
+	 	LTIPixel props=new LTIPixel(getPixelPropsNat(cPtr));
+	 	
+	 	if(props == null)
+	 		throw new MrSIDException("Error en getPixelProps. No se ha podido obtener LTIPixel");
+	 	
+	 	return props;
+	 	
+	 }
+	 
+	 /**
+	  * Obtiene la informaci�n de georeferenciaci�n de la im�gen si la tiene. 
+	  * @throws MrSIDException
+	  * @return un objeto de tipo LTIGeoCoord con la informaci�n de georeferenciaci�n 
+	  */
+	 public LTIGeoCoord getGeoCoord()throws MrSIDException{
+	 	
+	 	int res=0;
+	 	
+	 	if(cPtr == 0)
+		 	throw new MrSIDException("Error en getGeoCoord. El Open del MrSID no tuvo �xito");
+	 	
+	 	if(geocoord == null){
+	 		geocoord= new LTIGeoCoord();
+	 		res = getGeoCoordNat(cPtr,geocoord);
+	 	}
+	 	
+	 	if(res < 0)
+	 		throw new MrSIDException("Error en getGeoCoord. No se ha podido obtener un LTIGeoCoord valido");
+	 	
+	 	return geocoord;
+	 	
+	 }
+	 
+	 /**
+	  * Obtiene el valor del fondo del pixel. Si devuelve null es que no ha sido definido un valor para 
+	  * el fondo.
+	  * @throws MrSIDException
+	  * @return un objeto del tipo LTIPixel con los valores del fondo del pixel
+	  */
+	 public LTIPixel getBackgroundPixel()throws MrSIDException{
+	 	
+	 	if(cPtr == 0)
+		 	throw new MrSIDException("Error en getBackgroundPixel. El Open del MrSID no tuvo �xito");
+	 	
+	 	LTIPixel pixel=new LTIPixel(getBackgroundPixelNat(cPtr));
+	 	
+	 	if(pixel.getPtr() == 0)return null;
+	 	else return pixel;
+	 	
+	 }
+	 
+	 /**
+	  * Obtiene los valores de transparencia de un pixel. Si devuelve null es que la im�gen no tiene
+	  * definido un valor de transparencia. 
+	  * @throws MrSIDException
+	  * @return un objeto de tipo LTIPixel
+	  */
+	 public LTIPixel getNoDataPixel()throws MrSIDException{
+	 	
+	 	if(cPtr == 0)
+		 	throw new MrSIDException("Error en getNoData. El Open del MrSID no tuvo �xito");
+	 	
+	 	LTIPixel pixel = new LTIPixel(getNoDataPixelNat(cPtr));
+	 	
+	 	if(pixel.getPtr() == 0)return null;
+	 	else return pixel;
+
+	 }
+	 
+	 /**
+	  * This function returns the minimum magnification of the image. 
+	  * Images that do not support "zooming out" will return 1.0; images that contain "overviews"
+	  * 
+	  * @throws MrSIDException
+	  * @return the minimum magnification
+	  */
+	 public double getMinMagnification()throws MrSIDException{
+
+		 if(cPtr == 0)
+			 throw new MrSIDException("Error en getMinMagnification(). El Open del MrSID no tuvo �xito");
+
+		 return this.getMinMagnificationNat(cPtr);
+
+	 }
+	  
+	  /**
+	   * This function returns the minimum magnification of the image. 
+	   * Images that do not support "zooming out" will return 1.0; images that contain "overviews"
+	   * 
+	   * @throws MrSIDException
+	   * @return the minimum magnification
+	   */
+	   public double getMaxMagnification()throws MrSIDException{
+				
+		if(cPtr == 0)
+		 	throw new MrSIDException("Error en getMaxMagnification(). El Open del MrSID no tuvo �xito");
+				
+		return this.getMaxMagnificationNat(cPtr);
+		
+	   }
+	
+
+}
\ No newline at end of file

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIImage.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/MrSIDException.java
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/MrSIDException.java	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/MrSIDException.java	(revision 10040)
@@ -0,0 +1,66 @@
+/**********************************************************************
+ * $Id: MrSIDException.java 3539 2006-01-09 12:23:20Z nacho $
+ *
+ * Name:     GdalException.java
+ * Project:  JGDAL. Interface java to gdal (Frank Warmerdam).
+ * Purpose:  Class for exceptions produced into mrsid. 
+ * Author:   Nacho Brodin, brodin_ign@gva.es
+ *
+ **********************************************************************/
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+*
+* Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+*
+* For more information, contact:
+*
+*  Generalitat Valenciana
+*   Conselleria d'Infraestructures i Transport
+*   Av. Blasco Ib��ez, 50
+*   46010 VALENCIA
+*   SPAIN
+*
+*      +34 963862235
+*   gvsig@gva.es
+*      www.gvsig.gva.es
+*
+*    or
+*
+*   IVER T.I. S.A
+*   Salamanca 50
+*   46005 Valencia
+*   Spain
+*
+*   +34 963163400
+*   dac@iver.es
+*/
+ 
+package es.gva.cit.jmrsid;
+
+/**
+ * Es generada cuando los c�digos de retorno de las funciones de Mrsid significan que algo ha ido mal.
+ * 
+ * @author Nacho Brodin <brodin_ign@gva.es>.<BR> Equipo de desarrollo gvSIG.<BR> http://www.gvsig.gva.es
+ * @version 0.0
+ * @link http://www.gvsig.gva.es
+ */
+public class MrSIDException extends Exception{
+
+	MrSIDException(String msg){
+		super(msg);
+	}
+	
+}
\ No newline at end of file

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/MrSIDException.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/MrSIDImageReaderBase.java
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/MrSIDImageReaderBase.java	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/MrSIDImageReaderBase.java	(revision 10040)
@@ -0,0 +1,90 @@
+/**********************************************************************
+ * $Id: MrSIDImageReaderBase.java 3539 2006-01-09 12:23:20Z nacho $
+ *
+ * Name:     MrSIDImageReaderBase.java
+ * Project:  JMRSID. Interfaz java to MrSID (Lizardtech).
+ * Purpose:  
+ * Author:   Nacho Brodin, brodin_ign@gva.es
+ *
+ **********************************************************************/
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+*
+* Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+*
+* For more information, contact:
+*
+*  Generalitat Valenciana
+*   Conselleria d'Infraestructures i Transport
+*   Av. Blasco Ib��ez, 50
+*   46010 VALENCIA
+*   SPAIN
+*
+*      +34 963862235
+*   gvsig@gva.es
+*      www.gvsig.gva.es
+*
+*    or
+*
+*   IVER T.I. S.A
+*   Salamanca 50
+*   46005 Valencia
+*   Spain
+*
+*   +34 963163400
+*   dac@iver.es
+*/
+package es.gva.cit.jmrsid;
+
+/**
+ * @author Nacho Brodin <brodin_ign@gva.es>.<BR> Equipo de desarrollo gvSIG.<BR> http://www.gvsig.gva.es
+ * @version 0.0
+ * @link http://www.gvsig.gva.es
+ */
+public class MrSIDImageReaderBase extends LTIImageReader{
+	
+	private native void FreeMrSIDImageReaderBaseNat(long cPtr);
+	
+	public MrSIDImageReaderBase(){}
+	
+	/**
+	 * Constructor
+	 * @param cPtr	direcci�n de memoria 
+	 */
+	
+	public MrSIDImageReaderBase(long cPtr){
+		this.cPtr=cPtr;
+	}
+	
+	/**
+	 * Destructor 
+	 */
+	
+	protected void finalize(){
+		this.close();
+	}
+		
+	/**
+	 * Cierra el MrSIDImageReader
+	 *
+	 */
+	public void close(){
+		if(cPtr != 0){
+			FreeMrSIDImageReaderBaseNat(cPtr);
+			cPtr = 0;
+		}
+	}
+}
\ No newline at end of file

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/MrSIDImageReaderBase.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTISceneBuffer.java
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTISceneBuffer.java	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTISceneBuffer.java	(revision 10040)
@@ -0,0 +1,227 @@
+/**********************************************************************
+ * $Id: LTISceneBuffer.java 3539 2006-01-09 12:23:20Z nacho $
+ *
+ * Name:     LTISceneBuffer.java
+ * Project:  JMRSID. Interface java to mrsid (Lizardtech).
+ * Purpose:   
+ * Author:   Nacho Brodin, brodin_ign@gva.es
+ *
+ **********************************************************************/
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+*
+* Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+*
+* For more information, contact:
+*
+*  Generalitat Valenciana
+*   Conselleria d'Infraestructures i Transport
+*   Av. Blasco Ib��ez, 50
+*   46010 VALENCIA
+*   SPAIN
+*
+*      +34 963862235
+*   gvsig@gva.es
+*      www.gvsig.gva.es
+*
+*    or
+*
+*   IVER T.I. S.A
+*   Salamanca 50
+*   46005 Valencia
+*   Spain
+*
+*   +34 963163400
+*   dac@iver.es
+*/
+
+package es.gva.cit.jmrsid;
+
+
+/**
+ * Buffer que contiene los datos de una escena.
+ * 
+ * @author Nacho Brodin <brodin_ign@gva.es>.<BR> Equipo de desarrollo gvSIG.<BR> http://www.gvsig.gva.es
+ * @version 0.0
+ * @link http://www.gvsig.gva.es
+ */
+public class LTISceneBuffer extends JNIBase{
+	
+	private native long LTISceneBufferNat(long pixel,int tamx,int tamy, int flag);
+	private native long LTISceneBuffer1Nat(long pixel, int totalNumCols, int totalNumRows, int colOffset, int rowOffset, int windowNumCols, int windowNumRows, int flag);
+	private native long LTISceneBuffer2Nat(long pixel, double x, double y, double w, double h, double mag, int totalNumCols, int totalNumRows, int flag);
+	private native void FreeLTISceneBufferNat(long cPtr_LTISceneBuffer, long cPtr_tbuffer);
+	
+	public int size;
+	public byte buf1[];
+	public byte buf2[];
+	public byte buf3[];
+	public long cPtrbuffer;
+	public boolean flag;
+	
+	/**
+	 * Constructor 
+	 * 
+	 * @param pixel	propiedades del pixel que ser�n usadas en el buffer
+	 * @param totalNumCols	ancho del buffer
+	 * @param totalNumRows	alto del buffer
+	 * @param flag	Pone a null el puntero de datos si es false y llena el buffer si es true
+	 * @throws MrSIDException	 
+	 */
+	public LTISceneBuffer(int totalNumCols, int totalNumRows, boolean flag)throws MrSIDException{
+		 
+		if(totalNumCols < 0 || totalNumRows < 0)
+			throw new MrSIDException("Valores no validos para el tama�o de ventana.");
+		
+		this.cPtrbuffer = -1;
+		this.flag = flag;
+		
+		//Si el flag es true reservamos memoria para el buffer
+		
+		if(flag==true) {			
+			size = totalNumCols * totalNumRows;
+			buf1 = new byte[size];
+			buf2 = new byte[size];
+			buf3 = new byte[size];
+		}
+	}
+	
+	/**
+	 * Constructor 
+	 * 
+	 * @param pixel	propiedades del pixel que ser�n usadas en el buffer
+	 * @param totalNumCols	ancho del buffer
+	 * @param totalNumRows	alto del buffer
+	 * @param flag	Pone a null el puntero de datos si es false y llena el buffer si es true
+	 * @throws MrSIDException	 
+	 */
+	public LTISceneBuffer(LTIPixel pixel, double x, double y, double w, double h, double magnification, int totalNumCols, int totalNumRows, boolean flag)throws MrSIDException{
+		 
+		if(totalNumCols < 0 || totalNumRows < 0 || pixel == null)
+			throw new MrSIDException("Valores no validos para el tama�o de ventana.");
+		
+		this.cPtrbuffer = -1;
+		this.flag = flag;
+		
+		//Si el flag es true reservamos memoria para el buffer
+		
+		if(flag==true) {			
+			size = totalNumCols * totalNumRows;
+			buf1 = new byte[size];
+			buf2 = new byte[size];
+			buf3 = new byte[size];
+		}
+		
+		if(flag)
+			cPtr = LTISceneBuffer2Nat(pixel.cPtr, x, y, w, h, magnification, totalNumCols, totalNumRows, 1);
+		else 
+			cPtr = LTISceneBuffer2Nat(pixel.cPtr, x, y, w, h, magnification, totalNumCols, totalNumRows, 0);
+	   	 
+		if(cPtr == 0)
+			throw new MrSIDException("Error en el constructor nativo LTIScene.");
+	}
+	
+	/**
+	 * Constructor 
+	 * 
+	 * @param pixel	propiedades del pixel que ser�n usadas en el buffer
+	 * @param totalNumCols	ancho del buffer
+	 * @param totalNumRows	alto del buffer
+	 * @param flag	Pone a null el puntero de datos si es false y llena el buffer si es true
+	 * @throws MrSIDException	 
+	 */
+	public LTISceneBuffer(LTIPixel pixel, int totalNumCols, int totalNumRows, boolean flag)throws MrSIDException{
+		 
+		if(totalNumCols<0 || totalNumRows<0 || pixel==null)
+			throw new MrSIDException("Valores no validos para el tama�o de ventana.");
+		
+		this.cPtrbuffer=-1;
+		this.flag=flag;
+		
+		//Si el flag es true reservamos memoria para el buffer
+		
+		if(flag==true){			
+			size=totalNumCols*totalNumRows;
+			buf1=new byte[size];
+			buf2=new byte[size];
+			buf3=new byte[size];
+			
+		}
+		
+		if(flag)cPtr=LTISceneBufferNat(pixel.cPtr, totalNumCols, totalNumRows, 1);
+		else cPtr=LTISceneBufferNat(pixel.cPtr, totalNumCols, totalNumRows, 0);
+	   	 
+		if(cPtr == 0)
+			throw new MrSIDException("Error en el constructor nativo LTIScene.");
+	}
+	
+	/**
+	 * Constructor 
+	 * 
+	 * @param pixel	propiedades del pixel que ser�n usadas en el buffer
+	 * @param totalNumCols	ancho del buffer
+	 * @param totalNumRows	alto del buffer
+	 * @param colOffset posici�n X de la ventana
+	 * @param rowOffset posici�n Y de la ventana
+	 * @param windowNumCols Ancho de la ventana
+	 * @param windowNumRows Alto de la ventana
+	 * @param flag	Pone a null el puntero de datos si es false y llena el buffer si es true
+	 * @throws MrSIDException	 
+	 */
+	public LTISceneBuffer(LTIPixel pixel, int totalNumCols, int totalNumRows, int colOffset, int rowOffset, int windowNumCols, int windowNumRows, boolean flag)throws MrSIDException{
+		
+		/*if ((colOffset < 0) || (rowOffset < 0) || (colOffset > baseSimpleFunction(3, "", "")) || (colOffset > baseSimpleFunction(4, "", "")))
+			throw new MrSIDException("Posicion inicial de la escena no valida");
+		
+		if ((windowNumCols < 1) || (windowNumRows < 1) || (windowNumCols > baseSimpleFunction(3, "", "")) || (windowNumRows > baseSimpleFunction(4, "", "")))
+			throw new MrSIDException("Tama�o de la escena no valido");
+		
+		if (((colOffset + windowNumCols) > baseSimpleFunction(3, "", "")) || ((rowOffset + windowNumRows) > baseSimpleFunction(4, "", "")))
+			throw new MrSIDException("Valores de la escena no validos");
+		
+		if(totalNumCols<0 || totalNumRows<0 || pixel==null)
+			throw new MrSIDException("Valores no validos para el tama�o de ventana.");
+		*/
+		this.cPtrbuffer=-1;
+		this.flag=flag;
+		
+		//Si el flag es 1 reservamos memoria para el buffer
+		
+		if(flag==true){			
+			size=totalNumCols*totalNumRows;
+			buf1=new byte[size];
+			buf2=new byte[size];
+			buf3=new byte[size];
+			
+		}
+		
+		if(flag)cPtr=LTISceneBuffer1Nat(pixel.cPtr, totalNumCols, totalNumRows, colOffset, rowOffset, windowNumCols, windowNumRows, 1);
+		else cPtr=LTISceneBuffer1Nat(pixel.cPtr, totalNumCols, totalNumRows, colOffset, rowOffset, windowNumCols, windowNumRows, 0);
+	   	 
+		if(cPtr == 0)
+			throw new MrSIDException("Error en el constructor nativo LTIScene.");
+	}
+	
+	/**
+	 * Destructor 
+	 */
+	public void finalize(){
+		//System.out.println("Finalizando LTIsceneBuffer ..."+cPtrbuffer);
+		if(cPtr != 0)
+			FreeLTISceneBufferNat(cPtr, cPtrbuffer);
+	}
+	
+}
\ No newline at end of file

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTISceneBuffer.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIColorSpace.java
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIColorSpace.java	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIColorSpace.java	(revision 10040)
@@ -0,0 +1,74 @@
+/**********************************************************************
+ * $Id: LTIColorSpace.java 3539 2006-01-09 12:23:20Z nacho $
+ *
+ * Name:     LTIColorSpace.java
+ * Project:  JMRSID. Interface java to mrsid (Lizardtech).
+ * Purpose:   
+ * Author:   Nacho Brodin, brodin_ign@gva.es
+ *
+ **********************************************************************/
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+*
+* Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+*
+* For more information, contact:
+*
+*  Generalitat Valenciana
+*   Conselleria d'Infraestructures i Transport
+*   Av. Blasco Ib��ez, 50
+*   46010 VALENCIA
+*   SPAIN
+*
+*      +34 963862235
+*   gvsig@gva.es
+*      www.gvsig.gva.es
+*
+*    or
+*
+*   IVER T.I. S.A
+*   Salamanca 50
+*   46005 Valencia
+*   Spain
+*
+*   +34 963163400
+*   dac@iver.es
+*/
+
+package es.gva.cit.jmrsid;
+
+import java.io.*;
+
+/**
+ * Clase con las constantes que representan el espacio de color utilizado
+ * 
+ * @author Nacho Brodin <brodin_ign@gva.es>.<BR> Equipo de desarrollo gvSIG.<BR> http://www.gvsig.gva.es
+ * @version 0.0
+ * @link http://www.gvsig.gva.es
+ */
+public class LTIColorSpace{
+	
+	  public static final int LTI_COLORSPACE_INVALID=0;
+	  public static final int LTI_COLORSPACE_RGB=1;
+	  public static final int LTI_COLORSPACE_RGBK=2;
+	  public static final int LTI_COLORSPACE_CMYK=3;
+	  public static final int LTI_COLORSPACE_GRAYSCALE=4;
+	  public static final int LTI_COLORSPACE_PALETTE=5;
+	  public static final int LTI_COLORSPACE_YIQ=6;
+	  public static final int LTI_COLORSPACE_YIQK=7;
+	  public static final int LTI_COLORSPACE_MULTISPECTRAL=8;
+	  
+}
\ No newline at end of file

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIColorSpace.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/MrSIDImageReader.java
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/MrSIDImageReader.java	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/MrSIDImageReader.java	(revision 10040)
@@ -0,0 +1,138 @@
+/**********************************************************************
+ * $Id: MrSIDImageReader.java 8460 2006-10-31 16:26:34Z nacho $
+ *
+ * Name:     MrSIDImageReader.java
+ * Project:  JMRSID. Interfaz java to MrSID (Lizardtech).
+ * Purpose:  
+ * Author:   Nacho Brodin, brodin_ign@gva.es
+ *
+ **********************************************************************/
+/*Copyright (C) 2004  Nacho Brodin <brodin_ign@gva.es>
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License
+ as published by the Free Software Foundation; either version 2
+ of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ 
+ 
+ [01] 01-Oct-2005 nbt New call to JNI function MrSIDImageReaderArrayNat to convert name string to char array.
+ 
+ */
+
+package es.gva.cit.jmrsid;
+
+import java.io.File;
+import java.io.IOException;
+
+
+/**
+ * 
+ * @author Nacho Brodin <brodin_ign@gva.es>.<BR> Equipo de desarrollo gvSIG.<BR> http://www.gvsig.gva.es
+ * @version 0.0
+ * @link http://www.gvsig.gva.es
+ */
+public class MrSIDImageReader extends MrSIDImageReaderBase{
+	
+	private native long MrSIDImageReaderNat(String pszFilename);
+	private native long MrSIDImageReaderArrayNat(byte[] b);
+	private native void FreeMrSIDImageReaderNat(long cPtr);
+	
+	public MrSIDImageReader(){}
+	
+	/**
+	 * Constructor
+	 * @param cPtr	direcci�n de memoria al objeto MrSIDImageReader de C. 
+	 */
+	
+	public MrSIDImageReader(long cPtr){
+		this.cPtr=cPtr;
+	}
+	
+	/**
+	 * Destructor 
+	 */
+	
+	protected void finalize(){
+		if (cPtr != 0)
+			this.close();
+	}
+
+	/**
+	 * Cierra el MrSIDImageReader
+	 *
+	 */
+	public void close(){
+		if(cPtr != 0){
+			FreeMrSIDImageReaderNat(cPtr);
+			cPtr = 0;
+		}
+	}
+		
+	/**
+	 * Constructor
+	 *
+	 * @param pszFilename	Nombre del fichero
+	 * @throws MrSIDException, IOException
+	 */
+	
+	public MrSIDImageReader(String pszFilename)throws MrSIDException, IOException{
+		
+		/*if ((pszFilename == null) || (pszFilename.equals("")))
+			throw new MrSIDException("Nombre de fichero incorrecto");
+		
+		File f = new File( pszFilename );
+		if(!f.exists())
+			throw new IOException("The file "+pszFilename+" don't exists");
+	  
+		if(!f.canRead())
+			throw new IOException("I can't read the file");*/
+
+		cPtr = MrSIDImageReaderArrayNat(pszFilename.getBytes());
+    
+		if(cPtr == 0)
+			throw new MrSIDException("Error in MrDID Open");
+ 
+	}
+	
+	/**
+	 * Obtiene el n�mero de niveles
+	 */
+	public int getNumLevels()throws MrSIDException{
+		String os = System.getProperty("os.name").toLowerCase();
+		if(os.startsWith("mac os x")){
+			return getNumLevelsFromMinMagnification();
+		}else{
+			String msg1="Error en getNumLevels. No se ha obtenido un puntero valido a LTIImage";
+			String msg2="La llamada nativa a getNumLevels ha devuelto un c�digo de error";
+			return baseSimpleFunction(2,msg1,msg2);
+		}
+		
+	}
+	
+	/**
+	 * Obtiene el n�mero de niveles s partir de getMinMagnification. 
+	 * (Funcion creada para Mac sobre Power PC por los problemas con getNumLevels)
+	 */
+	public int getNumLevelsFromMinMagnification()throws MrSIDException{
+		
+		double mag = getMinMagnification();
+   		
+   		double aux = getWidth() * mag;
+   		int cont = 0;
+   		while(aux < getWidth()){
+   			aux *= 2;
+   			cont ++;
+   		}
+		return cont;
+	}
+			
+}
\ No newline at end of file

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/MrSIDImageReader.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/StringArray.java
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/StringArray.java	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/StringArray.java	(revision 10040)
@@ -0,0 +1,65 @@
+/**********************************************************************
+ * $Id: StringArray.java 3539 2006-01-09 12:23:20Z nacho $
+ *
+ * Name:     StringArray.java
+ * Project:  JMRSID. Interfaz java to MrSID (Lizardtech).
+ * Purpose:  
+ * Author:   Nacho Brodin, brodin_ign@gva.es
+ *
+ **********************************************************************/
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+*
+* Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+*
+* For more information, contact:
+*
+*  Generalitat Valenciana
+*   Conselleria d'Infraestructures i Transport
+*   Av. Blasco Ib��ez, 50
+*   46010 VALENCIA
+*   SPAIN
+*
+*      +34 963862235
+*   gvsig@gva.es
+*      www.gvsig.gva.es
+*
+*    or
+*
+*   IVER T.I. S.A
+*   Salamanca 50
+*   46005 Valencia
+*   Spain
+*
+*   +34 963163400
+*   dac@iver.es
+*/
+package es.gva.cit.jmrsid;
+
+/**
+ * @author Nacho Brodin <brodin_ign@gva.es>.<BR> Equipo de desarrollo gvSIG.<BR> http://www.gvsig.gva.es
+ * @version 0.0
+ * @link http://www.gvsig.gva.es
+ */
+public class StringArray{
+	
+	public String[] array;
+	
+	public void reserva(int n){
+		array = new String[n];
+	}
+		
+}
\ No newline at end of file

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/StringArray.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIScene.java
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIScene.java	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIScene.java	(revision 10040)
@@ -0,0 +1,102 @@
+/**********************************************************************
+ * $Id: LTIScene.java 3539 2006-01-09 12:23:20Z nacho $
+ *
+ * Name:     LTIScene.java
+ * Project:  JMRSID. Interface java to mrsid (Lizardtech).
+ * Purpose:   
+ * Author:   Nacho Brodin, brodin_ign@gva.es
+ *
+ **********************************************************************/
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+*
+* Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+*
+* For more information, contact:
+*
+*  Generalitat Valenciana
+*   Conselleria d'Infraestructures i Transport
+*   Av. Blasco Ib��ez, 50
+*   46010 VALENCIA
+*   SPAIN
+*
+*      +34 963862235
+*   gvsig@gva.es
+*      www.gvsig.gva.es
+*
+*    or
+*
+*   IVER T.I. S.A
+*   Salamanca 50
+*   46005 Valencia
+*   Spain
+*
+*   +34 963163400
+*   dac@iver.es
+*/
+
+package es.gva.cit.jmrsid;
+
+
+/**
+ * Clase que representa a una escena de la im�gen
+ * @author Nacho Brodin <brodin_ign@gva.es>.<BR> Equipo de desarrollo gvSIG.<BR> http://www.gvsig.gva.es
+ * @version 0.0
+ * @link http://www.gvsig.gva.es
+ */
+public class LTIScene extends JNIBase{
+	
+	private native long LTISceneNat(double xinic,double yinic,double tamx,double tamy, double magnification);
+	private native void FreeLTISceneNat(long cPtr);
+	
+	public LTIScene(){}
+	
+	/**
+	 * Constructor
+	 * @param cPtr	direcci�n de memoria al objeto LTIScene de C. 
+	 */
+	
+	public LTIScene(long cPtr){
+		this.cPtr=cPtr;
+	}
+	
+	/**
+	 * Destructor 
+	 */
+	
+	public void finalize(){
+		//System.out.println("Finalizando LTIscene ..."+cPtr);
+		if(cPtr != 0)
+			FreeLTISceneNat(cPtr);
+	}
+	
+	/**
+	 * Este constructor produce una escena con los par�metros dados usando doble precision.
+	 * 
+	 * @param xinic	Esquina superior izquierda en la escena
+	 * @param yinic	Esquina superior derecha en la escena
+	 * @param width	ancho de la escena
+	 * @param height	alto de la escena
+	 */
+	
+	public LTIScene(double xinic,double yinic,double tamx,double tamy, double magnification)throws MrSIDException{
+		
+		cPtr=LTISceneNat(xinic, yinic, tamx, tamy, magnification);
+	   	 
+		if(cPtr == 0)
+				throw new MrSIDException("Error in native constructor LTIScene");
+	}
+}
\ No newline at end of file

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIScene.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIUtils.java
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIUtils.java	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIUtils.java	(revision 10040)
@@ -0,0 +1,102 @@
+/**********************************************************************
+ * $Id: LTIUtils.java 3539 2006-01-09 12:23:20Z nacho $
+ *
+ * Name:     LTIUtils.java
+ * Project:  JMRSID. Interface java to mrsid (Lizardtech).
+ * Purpose:   
+ * Author:   Nacho Brodin, brodin_ign@gva.es
+ *
+ **********************************************************************/
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+*
+* Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+*
+* For more information, contact:
+*
+*  Generalitat Valenciana
+*   Conselleria d'Infraestructures i Transport
+*   Av. Blasco Ib��ez, 50
+*   46010 VALENCIA
+*   SPAIN
+*
+*      +34 963862235
+*   gvsig@gva.es
+*      www.gvsig.gva.es
+*
+*    or
+*
+*   IVER T.I. S.A
+*   Salamanca 50
+*   46005 Valencia
+*   Spain
+*
+*   +34 963163400
+*   dac@iver.es
+*/
+
+package es.gva.cit.jmrsid;
+
+import java.io.*;
+
+/**
+ * Utilidades 
+ * @author Nacho Brodin <brodin_ign@gva.es>.<BR> Equipo de desarrollo gvSIG.<BR> http://www.gvsig.gva.es
+ * @version 0.0
+ * @link http://www.gvsig.gva.es
+ */
+public class LTIUtils extends JNIBase{
+	
+	private native static double levelToMagNat(int level);
+	private native void FreeLTIUtilsNat(long cPtr);
+	
+	public LTIUtils(){}
+	
+	/**
+	 * Constructor
+	 * @param cPtr	direcci�n de memoria al objeto OGRCurve de C. 
+	 */
+	
+	public LTIUtils(long cPtr){
+		this.cPtr=cPtr;
+	}
+	
+	/**
+	 * Destructor 
+	 */
+	
+	protected void finalize(){
+		if(cPtr != 0)
+			FreeLTIUtilsNat(cPtr);
+	}
+	
+	/**
+	 * Convierte un valor de nivel en valor de ampliaci�n
+	 * @throws MrSIDException
+	 * @param level	el valor de nivel a convertir
+	 * @return valor de ampliaci�n
+	 */
+	public static double levelToMag(int level)throws MrSIDException{
+		
+		 double mag = levelToMagNat(level);
+		 
+		 if(mag < 0)
+		 	throw new MrSIDException("Error LTIUtils::levelToMag. Se obtuvo un valor erroneoen la llamada nativa levelToMag.");
+		 else 
+		 	return mag;
+	}
+	  
+}
\ No newline at end of file

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIUtils.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIGeoCoord.java
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIGeoCoord.java	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIGeoCoord.java	(revision 10040)
@@ -0,0 +1,120 @@
+/**********************************************************************
+ * $Id: LTIGeoCoord.java 3539 2006-01-09 12:23:20Z nacho $
+ *
+ * Name:     LTIGeoCoord.java
+ * Project:  JMRSID. Interface java to mrsid (Lizardtech).
+ * Purpose:   
+ * Author:   Nacho Brodin, brodin_ign@gva.es
+ *
+ **********************************************************************/
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+*
+* Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+*
+* For more information, contact:
+*
+*  Generalitat Valenciana
+*   Conselleria d'Infraestructures i Transport
+*   Av. Blasco Ib��ez, 50
+*   46010 VALENCIA
+*   SPAIN
+*
+*      +34 963862235
+*   gvsig@gva.es
+*      www.gvsig.gva.es
+*
+*    or
+*
+*   IVER T.I. S.A
+*   Salamanca 50
+*   46005 Valencia
+*   Spain
+*
+*   +34 963163400
+*   dac@iver.es
+*/
+
+package es.gva.cit.jmrsid;
+
+import java.io.*;
+
+/**
+ * Clase que representa a la informaci�n de georeferenciaci�n. Los datos que contiene son:
+ * <UL>
+ * <LI>esquina superior izquierda (X)</LI>
+ * <LI>esquina superior izquierda (y)</LI>
+ * <LI>resoluci�n en X</LI>
+ * <LI>resoluci�n en Y</LI>
+ * <LI>rotaci�n en X</LI>
+ * <LI>rotaci�n en Y</LI>
+ * </UL>
+ * @author Nacho Brodin <brodin_ign@gva.es>.<BR> Equipo de desarrollo gvSIG.<BR> http://www.gvsig.gva.es
+ * @version 0.0
+ * @link http://www.gvsig.gva.es
+ */
+public class LTIGeoCoord {
+	
+	private double xUL;		//esquina superior izquierda (X)
+	private double yUL;		//esquina superior izquierda (y)
+	private double xRes;	//resoluci�n en X
+	private double yRes;	//resoluci�n en Y
+	private double xRot;	//rotaci�n en X
+	private double yRot;	//rotaci�n en Y
+	
+	
+	/**
+	 * Devuelve la esquina superior izquierda (X)
+	 */
+	public double getX(){
+		return xUL;
+	}
+	
+	/**
+	 * Devuelve la esquina superior izquierda (Y)
+	 */
+	public double getY(){
+		return yUL;
+	}
+	
+	/**
+	 * Devuelve la resolucion en X
+	 */
+	public double getXRes(){
+		return xRes;
+	}
+	
+	/**
+	 * Devuelve la resoluci�n en Y
+	 */
+	public double getYRes(){
+		return yRes;
+	}
+	
+	/**
+	 * Devuelve la rotaci�n en X
+	 */
+	public double getXRot(){
+		return xRot;
+	}
+	
+	/**
+	 * Devuelve la rotaci�n en Y
+	 */
+	public double getYRot(){
+		return yRot;
+	}
+}
\ No newline at end of file

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIGeoCoord.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/JNIBase.java
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/JNIBase.java	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/JNIBase.java	(revision 10040)
@@ -0,0 +1,126 @@
+/**********************************************************************
+ * $Id: JNIBase.java 3539 2006-01-09 12:23:20Z nacho $
+ *
+ * Name:     JNIBase.java
+ * Project:  JMRSID. Interfaz java to MrSID (Lizardtech).
+ * Purpose:  Base class for classes that use JNI.
+ * Author:   Nacho Brodin, brodin_ign@gva.es
+ *
+ **********************************************************************/
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+*
+* Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+*
+* For more information, contact:
+*
+*  Generalitat Valenciana
+*   Conselleria d'Infraestructures i Transport
+*   Av. Blasco Ib��ez, 50
+*   46010 VALENCIA
+*   SPAIN
+*
+*      +34 963862235
+*   gvsig@gva.es
+*      www.gvsig.gva.es
+*
+*    or
+*
+*   IVER T.I. S.A
+*   Salamanca 50
+*   46005 Valencia
+*   Spain
+*
+*   +34 963163400
+*   dac@iver.es
+*/
+
+package es.gva.cit.jmrsid;
+
+
+/**
+ * Clase base para todas las clases que contienen funcionalidades JNI.
+ * 
+ * @author Nacho Brodin <brodin_ign@gva.es>.<BR> Equipo de desarrollo gvSIG.<BR> http://www.gvsig.gva.es
+ * @version 0.0
+ * @link http://www.gvsig.gva.es
+ */
+public class JNIBase{
+	
+	protected long cPtr;
+	
+	private native int getIndexCountNat(long cPtr);
+	private native int initializeNat(long cPtr);
+	private native int getNumLevelsNat(long cPtr);
+	private native int getWidthNat(long cPtr);
+	private native int getHeightNat(long cPtr);
+	private native int getStripHeightNat(long cPtr);
+	private native int getNumBandsNat(long cPtr);
+	private native int getColorSpaceNat(long cPtr);
+	private native int getDataTypeNat(long cPtr);
+	
+	/**
+	 * Funci�n que sirve como base para funcionalidades de mrsid que admiten como par�metro un entero y devuelven un entero.
+	 * 
+	 * @throws MrSIDException.
+	 * @param msg1	Mensaje de error que se muestra cuando el puntero a objeto pasado es vacio.
+	 * @param msg2	Mensaje de error que se muestra cuando el resultado de la llamada a la funci�n de gdal es menor o igual que 0.
+	 */
+	
+	protected int baseSimpleFunction(int n,String msg1,String msg2)throws MrSIDException{
+		
+		int res = 0;
+		
+		if(cPtr <= 0)
+		 	throw new MrSIDException(msg1);
+		
+		switch(n){
+			case 0: res = getIndexCountNat(cPtr);break;
+			case 1: res = initializeNat(cPtr);break;
+			case 2: res = getNumLevelsNat(cPtr);break;
+			case 3: res = getWidthNat(cPtr);break;
+			case 4: res = getHeightNat(cPtr);break;
+			case 5: res = getStripHeightNat(cPtr);break;
+			case 6: res = getNumBandsNat(cPtr);break;
+			case 7: res = getColorSpaceNat(cPtr);break;
+			case 8: res = getDataTypeNat(cPtr);break;
+		}
+		
+		if(res<0)
+		 	throw new MrSIDException(msg2);
+		 else return res;
+	}
+	
+	/**
+	 * Devuelve el puntero a memoria del objeto en C.
+	 */
+
+	public long getPtr(){
+		return cPtr;
+	}
+
+		
+	/**
+	 * Carga de la libreria jmrsid  
+	 */ 
+	
+	static{
+		
+		System.loadLibrary("jmrsid2.0.0");
+		
+	}
+		
+}
\ No newline at end of file

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/JNIBase.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIImageReader.java
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIImageReader.java	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIImageReader.java	(revision 10040)
@@ -0,0 +1,113 @@
+/**********************************************************************
+ * $Id: LTIImageReader.java 3539 2006-01-09 12:23:20Z nacho $
+ *
+ * Name:     LTIImageReader.java
+ * Project:  JMRSID. Interface java to mrsid (Lizardtech).
+ * Purpose:  Dataset's Basic Funcions. 
+ * Author:   Nacho Brodin, brodin_ign@gva.es
+ *
+ **********************************************************************/
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+*
+* Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+*
+* For more information, contact:
+*
+*  Generalitat Valenciana
+*   Conselleria d'Infraestructures i Transport
+*   Av. Blasco Ib��ez, 50
+*   46010 VALENCIA
+*   SPAIN
+*
+*      +34 963862235
+*   gvsig@gva.es
+*      www.gvsig.gva.es
+*
+*    or
+*
+*   IVER T.I. S.A
+*   Salamanca 50
+*   46005 Valencia
+*   Spain
+*
+*   +34 963163400
+*   dac@iver.es
+*/
+
+package es.gva.cit.jmrsid;
+
+/**
+ * Clase base que contiene los elementos para lectura de una im�gen.
+ * 
+ * @author Nacho Brodin <brodin_ign@gva.es>.<BR> Equipo de desarrollo gvSIG.<BR> http://www.gvsig.gva.es
+ * @version 0.0
+ * @link http://www.gvsig.gva.es
+ */
+public class LTIImageReader extends LTIImageStage{
+	
+	private native void FreeLTIImageReaderNat(long cPtr);
+	
+	
+	public LTIImageReader(){}
+		
+	
+	/**
+	 * Constructor
+	 * @param cPtr	direcci�n de memoria al objeto LTIImageReader de C. 
+	 */
+	
+	public LTIImageReader(long cPtr){
+		this.cPtr=cPtr;
+	}
+	
+	/**
+	 * Destructor 
+	 */
+	
+	protected void finalize(){
+		if (cPtr != 0)
+			this.close();
+	}
+	
+	/**
+	 * Cierra el MrSIDImageReader
+	 *
+	 */
+	public void close(){
+		if(cPtr != 0){
+			FreeLTIImageReaderNat(cPtr);
+			cPtr = 0;
+		}
+	}
+	
+	/**
+	 * Obtiene la altura del strip usado en la llamada read.
+	 * 
+	 * @throws MrSIDException
+	 * @return altura del strip
+	 */
+	
+	public int getStripHeight()throws MrSIDException{
+		
+		String msg1="Error en getStripHeight. No se ha obtenido un puntero valido a LTIImage";
+		String msg2="La llamada nativa a getStripHeight ha devuelto un c�digo de error";
+		return baseSimpleFunction(5,msg1,msg2);
+		
+	}
+	
+	
+}

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIImageReader.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIMetadataDatabase.java
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIMetadataDatabase.java	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIMetadataDatabase.java	(revision 10040)
@@ -0,0 +1,123 @@
+/**********************************************************************
+ * $Id: LTIMetadataDatabase.java 3539 2006-01-09 12:23:20Z nacho $
+ *
+ * Name:     LTIMetadataDatabase.java
+ * Project:  JMRSID. Interface java to mrsid (Lizardtech).
+ * Purpose:   
+ * Author:   Nacho Brodin, brodin_ign@gva.es
+ *
+ **********************************************************************/
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+*
+* Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+*
+* For more information, contact:
+*
+*  Generalitat Valenciana
+*   Conselleria d'Infraestructures i Transport
+*   Av. Blasco Ib��ez, 50
+*   46010 VALENCIA
+*   SPAIN
+*
+*      +34 963862235
+*   gvsig@gva.es
+*      www.gvsig.gva.es
+*
+*    or
+*
+*   IVER T.I. S.A
+*   Salamanca 50
+*   46005 Valencia
+*   Spain
+*
+*   +34 963163400
+*   dac@iver.es
+*/
+
+package es.gva.cit.jmrsid;
+
+
+
+/**
+ * Almacena los metadatos asociados a la im�gen.
+ * 
+ * @author Nacho Brodin <brodin_ign@gva.es>.<BR> Equipo de desarrollo gvSIG.<BR> http://www.gvsig.gva.es
+ * @version 0.0
+ * @link http://www.gvsig.gva.es
+ */
+
+public class LTIMetadataDatabase extends JNIBase{
+	
+	private native long getDataByIndexNat(long cPtr, int i);
+	private native void FreeLTIMetadataDatabaseNat(long cPtr);
+	
+	public LTIMetadataDatabase(){}
+	
+	/**
+	 * Constructor
+	 * @param cPtr	direcci�n de memoria al objeto LTIMetadataDatabase de C. 
+	 */
+	public LTIMetadataDatabase(long cPtr){
+		
+		super.cPtr=cPtr;
+	}
+	
+	/**
+	 * Destructor 
+	 */
+	protected void finalize(){
+		
+		if(cPtr != 0)
+			FreeLTIMetadataDatabaseNat(cPtr);
+	}
+		
+		
+	/**
+	 * Devuelve el n�mero de entradas.
+	 * @throws MrSIDException
+	 * @return n�mero de metadatos
+	 */
+	public int getIndexCount()throws MrSIDException{
+		
+		String msg1="Error en getIndexCount. No se ha obtenido un puntero valido a LTIMetadataDatabase";
+		String msg2="La llamada nativa a getIndexCount ha devuelto un c�digo de error";
+		return baseSimpleFunction(0,msg1,msg2);
+		
+	}
+	
+	/**
+	 * Obtiene una entrada de metadatos a partir de su �ndice.
+	 * @throws MrSIDException
+	 * @param i	�ndice del metadato obtenido
+	 * @return objeto que contiene la entrada seleccionada
+	 */
+	public LTIMetadataRecord getDataByIndex(int i)throws MrSIDException{
+		
+		if(cPtr == 0)
+		 	throw new MrSIDException("Error en getDataByIndex. La referencia al objeto no es valida.");
+
+		LTIMetadataRecord metadata=new LTIMetadataRecord(getDataByIndexNat(cPtr,i));
+				
+		if(metadata==null)
+		 	throw new MrSIDException("Objeto LTIMetadataRecord nulo");
+		
+		return metadata;
+		
+	}
+	
+	
+}

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIMetadataDatabase.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIImageStage.java
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIImageStage.java	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIImageStage.java	(revision 10040)
@@ -0,0 +1,116 @@
+/**********************************************************************
+ * $Id: LTIImageStage.java 3539 2006-01-09 12:23:20Z nacho $
+ *
+ * Name:     LTIImageStage.java
+ * Project:  JMRSID. Interface java to mrsid (Lizardtech).
+ * Purpose:   
+ * Author:   Nacho Brodin, brodin_ign@gva.es
+ *
+ **********************************************************************/
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+*
+* Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+*
+* For more information, contact:
+*
+*  Generalitat Valenciana
+*   Conselleria d'Infraestructures i Transport
+*   Av. Blasco Ib��ez, 50
+*   46010 VALENCIA
+*   SPAIN
+*
+*      +34 963862235
+*   gvsig@gva.es
+*      www.gvsig.gva.es
+*
+*    or
+*
+*   IVER T.I. S.A
+*   Salamanca 50
+*   46005 Valencia
+*   Spain
+*
+*   +34 963163400
+*   dac@iver.es
+*/
+
+package es.gva.cit.jmrsid;
+
+
+/**
+ * Clase que a�ade funcionalidad para la decodificaci�n desde una imagen.
+ * @author Nacho Brodin <brodin_ign@gva.es>.<BR> Equipo de desarrollo gvSIG.<BR> http://www.gvsig.gva.es
+ * @version 0.0
+ * @link http://www.gvsig.gva.es
+ */
+public class LTIImageStage extends LTIImage{
+	
+	
+	private native int readNat(long cPtr, long cPtrscene, long cPtrobj_scenebuffer, long cPtrbuffer, LTISceneBuffer buffer);
+	private native void readSceneNat(long cPtr, double x, double y, double w, double h, double mag, long reader, int wImg, int hImg, boolean flag, LTISceneBuffer buffer);
+	private native void FreeLTIImageStageNat(long cPtr);
+	
+	public LTIImageStage(){}
+	
+	/**
+	 * Constructor
+	 * @param cPtr	direcci�n de memoria al objeto LTIImageStage de C. 
+	 */
+	public LTIImageStage(long cPtr){
+		this.cPtr=cPtr;
+	}
+	
+	/**
+	 * Destructor 
+	 */
+	protected void finalize(){
+		if(cPtr != 0)
+			FreeLTIImageStageNat(cPtr);
+	}
+	
+	/**
+	 * Lee una escena desde una imagen.
+	 * @throws MrSIDException
+	 * @param scene	Objeto escena a leer
+	 * @param buffer	buffer sobre el cual se almacenan los datos leidos
+	 */
+	public void read(LTIScene scene,LTISceneBuffer buffer)throws MrSIDException{
+
+		if(scene==null || buffer==null)
+			throw new MrSIDException("Los argumentos no pueden ser nulos");
+		
+		if (cPtr == 0)
+			throw new MrSIDException("No se puede acceder al dato");
+		
+		int res = readNat(cPtr,scene.cPtr,buffer.cPtr,buffer.cPtrbuffer, buffer);
+		
+		if(res!=0)
+			throw new MrSIDException("En el m�todo read se ha devuelto un c�digo "+res);
+		
+	}
+	
+	/**
+	 * Lee una escena desde una imagen.
+	 * @throws MrSIDException
+	 */
+	public LTISceneBuffer readScene(double x, double y, double w, double h, double mag, MrSIDImageReader reader, int wImg, int hImg, boolean flag)throws MrSIDException{
+		LTISceneBuffer sbuf = new LTISceneBuffer(wImg, hImg, true);
+		readSceneNat(cPtr, x, y, w, h, mag, reader.getPtr(), wImg, hImg, flag, sbuf);
+		return sbuf;
+	}
+	
+}
\ No newline at end of file

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/main/java/es/gva/cit/jmrsid/LTIImageStage.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/test/java/es/gva/cir/jmrsid/TestReadMrSid.java
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/test/java/es/gva/cir/jmrsid/TestReadMrSid.java	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/test/java/es/gva/cir/jmrsid/TestReadMrSid.java	(revision 10040)
@@ -0,0 +1,69 @@
+package es.gva.cir.jmrsid;
+
+import java.io.IOException;
+
+import junit.framework.TestCase;
+import es.gva.cit.jmrsid.LTIMetadataDatabase;
+import es.gva.cit.jmrsid.LTIMetadataRecord;
+import es.gva.cit.jmrsid.MrSIDException;
+import es.gva.cit.jmrsid.MrSIDImageReader;
+
+public class TestReadMrSid extends TestCase{
+
+	private MrSIDImageReader		sid = null;
+	
+	private String 					fileName = "Urban_10cm.sid";
+	private String 					baseDir = "./test-images/";
+	private String 					file1 = baseDir + fileName;
+	
+	private int						numBands = 0;
+	private int 					width = 0;
+	private int						height = 0;
+	private String					projection = null;
+	private LTIMetadataDatabase		metadata = null;
+	private LTIMetadataRecord		record = null;
+	
+	public void start(){
+		setUp();
+		testStack();
+	}
+	
+	
+	public void setUp(){
+		try {
+			sid = new MrSIDImageReader(file1);
+			sid.initialize();
+			
+		} catch (MrSIDException e) {
+			e.printStackTrace();
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+		
+		
+	}
+	
+	public void testStack(){
+		try {
+			numBands = sid.getNumBands();
+			width = sid.getWidth();
+			height = sid.getHeight();
+			metadata = sid.getMetadata();
+			System.out.println("**** TEST DE ACCESO A IMÁGENES MRSID ****");
+			System.out.println("     IMAGEN: " + fileName);
+			System.out.println("Número de bandas: " + numBands);
+			System.out.println("Anchura: " + width);
+			System.out.println("Altura: " + height);
+			
+//			for (int i = 0 ; i<metadata.getIndexCount() ; i++){
+//				record = metadata.getDataByIndex(i);
+//				System.out.println(record.getTagName() + ": " + record.getScalarData());
+//			}
+			sid.close();
+		} catch (MrSIDException e) {
+			e.printStackTrace();
+		}
+		
+	}
+	
+}

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/src/test/java/es/gva/cir/jmrsid/TestReadMrSid.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/CMakeModules/GeneralMacros.cmake
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/CMakeModules/GeneralMacros.cmake	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/CMakeModules/GeneralMacros.cmake	(revision 10040)
@@ -0,0 +1,393 @@
+MACRO(CONFIGURE_DEFAULTS)
+    # Looking for arch extension!
+    SET(LIB_POSTFIX "32")
+    IF(UNIX)
+	    IF(NOT APPLE)
+		    IF(CMAKE_SIZEOF_VOID_P MATCHES "8")
+      		    SET(LIB_POSTFIX "64")
+  		    ENDIF(CMAKE_SIZEOF_VOID_P MATCHES "8")
+	    ENDIF(NOT APPLE)
+    ELSE(UNIX)
+	    IF(CMAKE_SYSTEM_NAME MATCHES Windows)
+		    IF(CMAKE_CL_64)
+      		    SET(LIB_POSTFIX "64")
+		    ENDIF(CMAKE_CL_64)	
+	    ENDIF(CMAKE_SYSTEM_NAME MATCHES Windows)
+    ENDIF(UNIX)
+	# This is for an advanced option to give aggressive warnings
+	# under different compilers. If yours is not implemented, this option
+	# will not be made available.
+	IF(CMAKE_COMPILER_IS_GNUCXX)
+	    # To be complete, we might also do GNUCC flags,
+	    # but everything here is C++ code.
+	    # -Wshadow and -Woverloaded-virtual are also interesting flags, but OSG
+	    # returns too many hits.
+	    # FYI, if we do implement GNUCC, then -Wmissing-prototypes in another
+	    # interesting C-specific flag.
+	    # Also, there is a bug in gcc 4.0. Under C++, -pedantic will create
+	    # errors instead of warnings for certain issues, including superfluous
+	    # semicolons and commas, and the use of long long. -fpermissive seems
+	    # to be the workaround.
+	    SET(AGGRESSIVE_WARNING_FLAGS "-Wall -Wparentheses -Wformat=2 -Wno-long-long -Wno-import -pedantic -Wreturn-type -Wmissing-braces -Wunknown-pragmas -Wunused")
+		#IF(NOT APPLE)
+		#	SET(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "-fpermissive")
+		#ENDIF(NOT APPLE)
+	ELSE(CMAKE_COMPILER_IS_GNUCXX)
+	    IF(MSVC)
+	        # FIXME: What are good aggressive warning flags for Visual Studio?
+	        # And do we need to further subcase this for different versions of VS?
+	        # CMake variables: MSVC60, MSVC70, MSVC71, MSVC80, CMAKE_COMPILER_2005
+	        SET(AGGRESSIVE_WARNING_FLAGS "/Wall /W4")
+
+
+	    ELSE(MSVC)
+	        # CMake lacks an elseif, so other non-gcc, non-VS compilers need
+	        # to be listed below. If unhandled, OSG_AGGRESSIVE_WARNING_FLAGS should
+	        # remain unset.
+	    ENDIF(MSVC)
+	ENDIF(CMAKE_COMPILER_IS_GNUCXX)
+
+	# This part is for the CMake menu option to toggle the warnings on/off.
+	# This will only be made available if we set values for OSG_AGGRESSIVE_WARNING_FLAGS.
+	IF(AGGRESSIVE_WARNING_FLAGS)
+	    OPTION(USE_AGGRESSIVE_WARNINGS "Enable to activate aggressive warnings" OFF)
+	    MARK_AS_ADVANCED(USE_AGGRESSIVE_WARNINGS)
+
+	    IF(USE_AGGRESSIVE_WARNINGS)
+	        IF(NOT "${OLD_CMAKE_CXX_FLAGS_WAS_SET}")
+	            SET(OLD_CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}" CACHE INTERNAL "Old CXX flags")
+	            SET(OLD_CMAKE_CXX_FLAGS_WAS_SET 1 CACHE INTERNAL "Old CXX flags was set")
+	            SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${AGGRESSIVE_WARNING_FLAGS}" CACHE STRING "Flags used by the compiler during all build types." FORCE)
+	        ENDIF(NOT "${OLD_CMAKE_CXX_FLAGS_WAS_SET}")
+	    ELSE(USE_AGGRESSIVE_WARNINGS)
+	        # FIXME: This will lose any changes made after OLD_CMAKE_CXX_FLAGS was
+	        # set. The better way would be to parse the string and remove each
+	        # option explicitly.
+	        IF("${OLD_CMAKE_CXX_FLAGS_WAS_SET}")
+	            SET(CMAKE_CXX_FLAGS "${OLD_CMAKE_CXX_FLAGS}" CACHE STRING "Flags used by the compiler during all build types." FORCE)
+	            SET(OLD_CMAKE_CXX_FLAGS_WAS_SET 0 CACHE INTERNAL "Old CXX flags was set")
+	        ENDIF("${OLD_CMAKE_CXX_FLAGS_WAS_SET}")
+	    ENDIF(USE_AGGRESSIVE_WARNINGS)
+	ENDIF(AGGRESSIVE_WARNING_FLAGS)
+
+	# Set defaults for Universal Binaries. We want 32-bit Intel/PPC on 10.4
+	# and 32/64-bit Intel/PPC on >= 10.5. Anything <= 10.3 doesn't support.
+	IF(APPLE)
+	    # These are just defaults/recommendations, but how we want to build
+	    # out of the box. But the user needs to be able to change these options.
+	    # So we must only set the values the first time CMake is run, or we
+	    # will overwrite any changes the user sets.
+	    # FORCE is used because the options are not reflected in the UI otherwise.
+	    # Seems like a good place to add version specific compiler flags too.
+	    IF(NOT CONFIG_HAS_BEEN_RUN_BEFORE)
+	        # This is really fragile, but CMake doesn't provide the OS system
+	        # version information we need. (Darwin versions can be changed
+	        # independently of OS X versions.)
+	        # It does look like CMake handles the CMAKE_OSX_SYSROOT automatically.
+	        IF(EXISTS /Developer/SDKs/MacOSX10.5.sdk)
+	            #SET(CMAKE_OSX_ARCHITECTURES "ppc;i386;ppc64;x86_64" CACHE STRING "Build architectures for OSX")
+				SET(CMAKE_OSX_ARCHITECTURES "ppc;i386" CACHE STRING "Build architectures for OSX")
+	            SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mmacosx-version-min=10.5 -ftree-vectorize -fvisibility-inlines-hidden" CACHE STRING "Flags used by the compiler during all build types." FORCE)
+	        ELSE(EXISTS /Developer/SDKs/MacOSX10.5.sdk)
+	            IF(EXISTS /Developer/SDKs/MacOSX10.4u.sdk)
+	                SET(CMAKE_OSX_ARCHITECTURES "ppc;i386" CACHE STRING "Build architectures for OSX" FORCE)
+	                SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mmacosx-version-min=10.4 -ftree-vectorize -fvisibility-inlines-hidden" CACHE STRING "Flags used by the compiler during all build types." FORCE)
+	            ELSE(EXISTS /Developer/SDKs/MacOSX10.4u.sdk)
+	                # No Universal Binary support
+	                # Should break down further to set the -mmacosx-version-min,
+	                # but the SDK detection is too unreliable here.
+	            ENDIF(EXISTS /Developer/SDKs/MacOSX10.4u.sdk)
+	        ENDIF(EXISTS /Developer/SDKs/MacOSX10.5.sdk)
+	    ENDIF(NOT CONFIG_HAS_BEEN_RUN_BEFORE)
+    	SET(CMAKE_INSTALL_NAME_DIR @executable_path/../Resources/NativeLibs CACHE STRING "Executable Path for MacOS X" FORCE)
+	    MARK_AS_ADVANCED(CMAKE_INSTALL_NAME_DIR)
+	ENDIF(APPLE)
+	
+	SET(OUTPUT_BINDIR ${CMAKE_BINARY_DIR}/bin)
+	MAKE_DIRECTORY(${OUTPUT_BINDIR})
+
+	SET(OUTPUT_LIBDIR ${CMAKE_BINARY_DIR}/lib)
+	MAKE_DIRECTORY(${OUTPUT_LIBDIR})
+	IF(CMAKE_MAJOR_VERSION EQUAL 2 AND CMAKE_MINOR_VERSION GREATER 4)
+	    # If CMake >= 2.6.0
+	    SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${OUTPUT_LIBDIR})
+	    SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${OUTPUT_BINDIR})
+	    IF(WIN32)
+	        SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${OUTPUT_BINDIR})
+	    ELSE(WIN32)
+	        SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${OUTPUT_LIBDIR})
+	    ENDIF(WIN32)
+	ELSE(CMAKE_MAJOR_VERSION EQUAL 2 AND CMAKE_MINOR_VERSION GREATER 4)
+	    SET(EXECUTABLE_OUTPUT_PATH ${OUTPUT_BINDIR})
+	    SET(LIBRARY_OUTPUT_PATH ${OUTPUT_LIBDIR})
+	ENDIF(CMAKE_MAJOR_VERSION EQUAL 2 AND CMAKE_MINOR_VERSION GREATER 4)
+	
+ENDMACRO(CONFIGURE_DEFAULTS)
+
+MACRO(CONFIGURE_END)
+	# This needs to be run very last so other parts of the scripts can take
+	# advantage of this.
+	IF(NOT CONFIG_HAS_BEEN_RUN_BEFORE)
+	    SET(CONFIG_HAS_BEEN_RUN_BEFORE 1 CACHE INTERNAL "Flag to track whether this is the first time running CMake or if CMake has been configured before")
+	ENDIF(NOT CONFIG_HAS_BEEN_RUN_BEFORE)
+ENDMACRO(CONFIGURE_END)
+
+MACRO(SETUP_CORELIB CORELIB_NAME)
+	IF(COMPILE_STATIC)
+		ADD_LIBRARY(${CORELIB_NAME}
+			STATIC
+			${HEADERS}
+			${SOURCES}
+		)
+	ELSE(COMPILE_STATIC)
+		ADD_LIBRARY(${CORELIB_NAME}
+			SHARED
+			${HEADERS}
+			${SOURCES}
+		)
+	ENDIF(COMPILE_STATIC)
+
+	TARGET_LINK_LIBRARIES(${CORELIB_NAME} ${LIBRARIES})
+
+	IF(LIBRARIES_OPTIMIZED)
+		FOREACH(LIBOPT ${LIBRARIES_OPTIMIZED})
+			TARGET_LINK_LIBRARIES(${CORELIB_NAME} optimized ${LIBOPT})
+		ENDFOREACH(LIBOPT)
+	ENDIF(LIBRARIES_OPTIMIZED)
+
+	IF(LIBRARIES_DEBUG)
+		FOREACH(LIBDEBUG ${LIBRARIES_DEBUG})
+			TARGET_LINK_LIBRARIES(${CORELIB_NAME} debug ${LIBDEBUG})
+		ENDFOREACH(LIBDEBUG)
+	ENDIF(LIBRARIES_DEBUG)
+
+	SET_TARGET_PROPERTIES(${CORELIB_NAME}
+		PROPERTIES
+		PROJECT_LABEL "Core ${CORELIB_NAME}"
+	)
+	IF(WIN32)
+		INSTALL(TARGETS ${CORELIB_NAME}
+			RUNTIME DESTINATION bin
+			ARCHIVE DESTINATION lib
+		)
+	ELSE(WIN32)
+		INSTALL(TARGETS ${CORELIB_NAME}
+			LIBRARY DESTINATION lib
+			ARCHIVE DESTINATION lib
+		)
+	ENDIF(WIN32)
+	
+	IF(UNIX AND NOT APPLE)
+		SET_TARGET_PROPERTIES ( ${CORELIB_NAME} PROPERTIES LINK_FLAGS "-Wl,-E")
+	ENDIF(UNIX AND NOT APPLE)
+
+	IF(VERSION)
+		#SET_TARGET_PROPERTIES(${CORELIB_NAME} PROPERTIES VERSION "${VERSION}")
+		SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES OUTPUT_NAME "${CORELIB_NAME}${VERSION}")
+	ENDIF(VERSION)
+
+ENDMACRO(SETUP_CORELIB)
+
+MACRO(SETUP_JNILIB JNILIB_NAME)
+
+	ADD_LIBRARY(${JNILIB_NAME}
+		SHARED
+		${HEADERS}
+		${SOURCES}
+	)
+
+	TARGET_LINK_LIBRARIES(${JNILIB_NAME} ${LIBRARIES})
+
+	IF(LIBRARIES_OPTIMIZED)
+		FOREACH(LIBOPT ${LIBRARIES_OPTIMIZED})
+			TARGET_LINK_LIBRARIES(${JNILIB_NAME} optimized ${LIBOPT})
+		ENDFOREACH(LIBOPT)
+	ENDIF(LIBRARIES_OPTIMIZED)
+
+	IF(LIBRARIES_DEBUG)
+		FOREACH(LIBDEBUG ${LIBRARIES_DEBUG})
+			TARGET_LINK_LIBRARIES(${JNILIB_NAME} debug ${LIBDEBUG})
+		ENDFOREACH(LIBDEBUG)
+	ENDIF(LIBRARIES_DEBUG)
+	
+	IF(APPLE)
+		SET_TARGET_PROPERTIES(${JNILIB_NAME}
+    	PROPERTIES
+    	SUFFIX .jnilib)
+	ENDIF(APPLE)
+	
+
+	SET_TARGET_PROPERTIES(${JNILIB_NAME}
+		PROPERTIES
+		PROJECT_LABEL "JNI ${JNILIB_NAME}"
+	)
+
+	IF(WIN32)
+		INSTALL(TARGETS ${JNILIB_NAME}
+			RUNTIME DESTINATION bin
+			ARCHIVE DESTINATION lib
+		)
+	ELSE(WIN32)
+		INSTALL(TARGETS ${JNILIB_NAME}
+			LIBRARY DESTINATION lib
+		)
+	ENDIF(WIN32)
+	
+	IF(UNIX AND NOT APPLE)
+		SET_TARGET_PROPERTIES (${JNILIB_NAME} PROPERTIES LINK_FLAGS "-Wl,-E")
+	ENDIF(UNIX AND NOT APPLE)
+	
+	IF(VERSION)
+		#SET_TARGET_PROPERTIES(${CORELIB_NAME} PROPERTIES VERSION "${VERSION}")
+		SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES OUTPUT_NAME "${JNILIB_NAME}${VERSION}")
+	ENDIF(VERSION)
+	
+ENDMACRO(SETUP_JNILIB)
+
+MACRO(SETUP_EXECUTABLE EXECUTABLE_NAME)
+
+	IF(IS_APPLICATION)
+		IF(APPLE)
+		    # SET(MACOSX_BUNDLE_LONG_VERSION_STRING "${CRSFX_MAJOR_VERSION}.${CRSFX_MINOR_VERSION}.${CRSFXCRSFX_PATCH_VERSION}")
+		    # Short Version is the "marketing version". It is the version
+		    # the user sees in an information panel.
+		    SET(MACOSX_BUNDLE_SHORT_VERSION_STRING "${VERSION}")
+		    # Bundle version is the version the OS looks at.
+		    SET(MACOSX_BUNDLE_BUNDLE_VERSION "${VERSION}")
+		    SET(MACOSX_BUNDLE_GUI_IDENTIFIER "${EXECUTABLE_NAME}" )
+		    SET(MACOSX_BUNDLE_BUNDLE_NAME "${EXECUTABLE_NAME}" )
+		    # SET(MACOSX_BUNDLE_ICON_FILE "myicon.icns")
+		    # SET(MACOSX_BUNDLE_COPYRIGHT "")
+		    # SET(MACOSX_BUNDLE_INFO_STRING "Info string, localized?")
+			SET(PLATFORM_SPECIFIC_CONTROL MACOSX_BUNDLE)
+		ENDIF(APPLE)
+
+		IF(WIN32)
+		    IF (REQUIRE_WINMAIN_FLAG)
+		        SET(PLATFORM_SPECIFIC_CONTROL WIN32)
+		    ENDIF(REQUIRE_WINMAIN_FLAG)
+		ENDIF(WIN32)
+	
+		ADD_EXECUTABLE(${EXECUTABLE_NAME} ${PLATFORM_SPECIFIC_CONTROL} ${SOURCES} ${HEADERS})
+		IF(APPLE AND INSTALL_DEPENDENCIES)
+		    SETUP_BUNDLE_DEPENDENCIES(${EXECUTABLE_NAME})
+		ENDIF(APPLE AND INSTALL_DEPENDENCIES)
+	ELSE(IS_APPLICATION)
+		ADD_EXECUTABLE(${EXECTUABLE_NAME} ${SOURCES} ${HEADERS})
+	ENDIF(IS_APPLICATION)
+
+	TARGET_LINK_LIBRARIES(${EXECUTABLE_NAME} ${LIBRARIES})
+	IF(LIBRARIES_OPTIMIZED)
+		FOREACH(LIBOPT ${LIBRARIES_OPTIMIZED})
+			TARGET_LINK_LIBRARIES(${EXECUTABLE_NAME} optimized ${LIBOPT})
+		ENDFOREACH(LIBOPT)
+	ENDIF(LIBRARIES_OPTIMIZED)
+
+	IF(LIBRARIES_DEBUG)
+		FOREACH(LIBDEBUG ${LIBRARIES_DEBUG})
+			TARGET_LINK_LIBRARIES(${EXECUTABLE_NAME} debug ${LIBDEBUG})
+		ENDFOREACH(LIBDEBUG)
+	ENDIF(LIBRARIES_DEBUG)
+
+	SET_TARGET_PROPERTIES(${EXECUTABLE_NAME} PROPERTIES PROJECT_LABEL "Application ${EXECUTABLE_NAME}")
+	
+	IF(APPLE)
+		INSTALL(TARGETS ${EXECUTABLE_NAME}
+			RUNTIME DESTINATION bin
+			BUNDLE DESTINATION bin
+		)
+	ELSE(APPLE)
+		INSTALL(TARGETS ${EXECUTABLE_NAME}
+			RUNTIME DESTINATION bin
+			COMPONENT DESTINATION bin
+		)
+	ENDIF(APPLE)
+
+ENDMACRO(SETUP_EXECUTABLE)
+
+
+MACRO(SETUP_BUNDLE_DEPENDENCIES TARGET_NAME)
+	IF(DEPENDENCY_FILES)
+		IF(APPLE AND IS_APPLICATION)
+			INSTALL(PROGRAMS ${DEPENDENCY_FILES}
+				DESTINATION bin/${TARGET_NAME}.app/Contents/MacOS
+			)
+		ENDIF(APPLE AND IS_APPLICATION)
+	ENDIF(DEPENDENCY_FILES)
+	
+	IF(DEPENDENCY_DIRS)
+		IF(APPLE AND IS_APPLICATION)
+			INSTALL(DIRECTORY ${DEPENDENCY_DIRS}		
+					DESTINATION bin/${TARGET_NAME}.app/Contents/Resources
+					PATTERN ".svn" EXCLUDE)
+		ENDIF(APPLE AND IS_APPLICATION)
+	ENDIF(DEPENDENCY_DIRS)
+
+	IF(RESOURCE_FILES)
+		IF(APPLE AND IS_APPLICATION)
+			INSTALL(FILES ${RESOURCE_FILES}
+		        	DESTINATION bin/${TARGET_NAME}.app/Contents/Resources
+			)
+		ENDIF(APPLE AND IS_APPLICATION)
+	ENDIF(RESOURCE_FILES)
+
+	IF(RESOURCE_DIRS)
+		IF(APPLE AND IS_APPLICATION)
+			INSTALL(DIRECTORY ${RESOURCE_DIRS}		
+					DESTINATION bin/${TARGET_NAME}.app/Contents/Resources
+					PATTERN ".svn" EXCLUDE
+					)
+		ENDIF(APPLE AND IS_APPLICATION)
+	ENDIF(RESOURCE_DIRS)
+	
+ENDMACRO(SETUP_BUNDLE_DEPENDENCIES TARGET_NAME)
+
+MACRO(SETUP_DEPENDENCIES)
+	IF(DEPENDENCY_FILES)
+		IF(WIN32)
+			INSTALL(PROGRAMS ${DEPENDENCY_FILES}
+				DESTINATION bin
+			)
+		ELSE(WIN32)
+		    INSTALL(PROGRAMS ${DEPENDENCY_FILES}
+			    DESTINATION lib
+			)
+		ENDIF(WIN32)
+	ENDIF(DEPENDENCY_FILES)
+	
+	IF(DEPENDENCY_DIRS)
+        IF(WIN32)
+    	    INSTALL(DIRECTORY ${DEPENDENCY_DIRS}		
+    				DESTINATION bin
+    				PATTERN ".svn" EXCLUDE
+    				PATTERN ".cache" EXCLUDE)
+    	ELSE(WIN32)
+    	    INSTALL(DIRECTORY ${DEPENDENCY_DIRS}		
+    				DESTINATION lib
+    				PATTERN ".svn" EXCLUDE
+    				PATTERN ".cache" EXCLUDE)		
+		ENDIF(WIN32)
+	ENDIF(DEPENDENCY_DIRS)
+
+	IF(RESOURCE_FILES)
+		INSTALL(FILES ${RESOURCE_FILES}
+		       	DESTINATION share/${CMAKE_PROJECT_NAME}/resources
+		)
+	ENDIF(RESOURCE_FILES)
+
+	IF(RESOURCE_DIRS)
+		INSTALL(DIRECTORY ${RESOURCE_DIRS}		
+				DESTINATION share/${CMAKE_PROJECT_NAME}/resources
+				PATTERN ".svn" EXCLUDE
+		)
+	ENDIF(RESOURCE_DIRS)
+	
+	IF(SCRIPT_FILES)
+		INSTALL(PROGRAMS ${SCRIPT_FILES}
+				DESTINATION .
+				PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
+		)
+	ENDIF(SCRIPT_FILES)
+ENDMACRO(SETUP_DEPENDENCIES)
+
+
Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/CMakeModules/FindDepMan.cmake
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/CMakeModules/FindDepMan.cmake	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/CMakeModules/FindDepMan.cmake	(revision 10040)
@@ -0,0 +1,20 @@
+FIND_PATH(DEPMAN_PATH NAMES .cache Frameworks bin include lib share
+	PATHS
+	$ENV{DEPMAN_REPO}
+	$ENV{DEPMAN_PATH}
+	~/.depman
+	/Developer/DepMan
+	/DepMan
+	$ENV{USERPROFILE}/.depman
+    NO_DEFAULT_PATH
+)
+
+SET(DEPMAN_FOUND "NO")
+IF(DEPMAN_PATH)
+  SET(DEPMAN_FOUND "YES")
+  SET(CMAKE_INCLUDE_PATH ${DEPMAN_PATH}/include ${DEPMAN_PATH}/Frameworks ${CMAKE_INCLUDE_PATH})
+  SET(CMAKE_LIBRARY_PATH ${DEPMAN_PATH}/lib ${DEPMAN_PATH}/Frameworks ${CMAKE_LIBRARY_PATH})
+ENDIF(DEPMAN_PATH)
+
+MARK_AS_ADVANCED(DEPMAN_PATH)
+
Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/CMakeModules/ModuleInstall.cmake
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/CMakeModules/ModuleInstall.cmake	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/CMakeModules/ModuleInstall.cmake	(revision 10040)
@@ -0,0 +1,40 @@
+# INSTALL and SOURCE_GROUP commands for OSG/OT/Producer Modules
+
+# Required Vars:
+# ${LIB_NAME}
+# ${LIB_PUBLIC_HEADERS}
+
+SET(INSTALL_INCDIR include)
+SET(INSTALL_BINDIR bin)
+IF(WIN32)
+	SET(INSTALL_BINDIR .)
+    SET(INSTALL_LIBDIR .)
+    SET(INSTALL_ARCHIVEDIR lib)
+ELSE(WIN32)
+	SET(INSTALL_BINDIR .)
+    SET(INSTALL_LIBDIR .)
+    SET(INSTALL_ARCHIVEDIR lib)
+ENDIF(WIN32)
+
+SET(HEADERS_GROUP "Header Files")
+
+SOURCE_GROUP(
+    ${HEADERS_GROUP}
+    FILES ${LIB_PUBLIC_HEADERS}
+)
+
+
+INSTALL(
+    TARGETS ${LIB_NAME}
+    RUNTIME DESTINATION ${INSTALL_BINDIR}
+    LIBRARY DESTINATION ${INSTALL_LIBDIR}
+    ARCHIVE DESTINATION ${INSTALL_ARCHIVEDIR}
+)
+
+
+
+# FIXME: Do not run for OS X framework
+#INSTALL(
+#    FILES        ${LIB_PUBLIC_HEADERS}
+#    DESTINATION ${INSTALL_INCDIR}/${LIB_NAME}
+#)
Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/CMakeModules/FindMRSID.cmake
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/CMakeModules/FindMRSID.cmake	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/CMakeModules/FindMRSID.cmake	(revision 10040)
@@ -0,0 +1,155 @@
+	# Locate mrsid
+# This module defines
+# MRSID_LIBRARY
+# MRSID_FOUND, if false, do not try to link to gdal 
+# MRSID_INCLUDE_DIR, where to find the headers
+#
+# $MRSID_DIR is an environment variable that would
+# correspond to the ./configure --prefix=$MRSID_DIR
+#
+# Created by Robert Osfield. 
+
+FIND_PATH(MRSID_INCLUDE_DIR lti_image.h
+	${DEPMAN_PATH}/include
+	C:/Geo_DSDK-6.0.7.1408/include/base
+	${CMAKE_SOURCE_DIR}/sdk/include/base
+    ${MRSID_DIR}/include/base
+    $ENV{MRSID_DIR}/include/base
+)
+
+FIND_PATH(MRSID_INCLUDE_DIR2 ltic_api.h
+	${DEPMAN_PATH}/include
+	C:/Geo_DSDK-6.0.7.1408/include/c_api
+	${CMAKE_SOURCE_DIR}/sdk/include/c_api
+    ${MRSID_DIR}/include/c_api
+    $ENV{MRSID_DIR}/include/c_api
+)
+
+FIND_PATH(MRSID_INCLUDE_DIR3 lti_cropFilter.h
+	${DEPMAN_PATH}/include
+	C:/Geo_DSDK-6.0.7.1408/include/filters
+    ${CMAKE_SOURCE_DIR}/sdk/include/filters
+    #${MRSID_DIR}/include/filters
+    #$ENV{MRSID_DIR}/include/filters
+)
+
+FIND_PATH(MRSID_INCLUDE_DIR4 j2k_types.h
+	${DEPMAN_PATH}/include
+    C:/Geo_DSDK-6.0.7.1408/include/j2k_readers
+    ${CMAKE_SOURCE_DIR}/sdk/include/j2k_readers
+    ${MRSID_DIR}/include/j2k_readers
+    $ENV{MRSID_DIR}/include/j2k_readers
+)
+
+FIND_PATH(MRSID_INCLUDE_DIR5 lti_metadataUtils.h
+	${DEPMAN_PATH}/include
+    C:/Geo_DSDK-6.0.7.1408/include/metadata
+    ${CMAKE_SOURCE_DIR}/sdk/include/metadata
+    ${MRSID_DIR}/include/metadata
+    $ENV{MRSID_DIR}/include/metadata
+)
+
+FIND_PATH(MRSID_INCLUDE_DIR6 lti_mrsidReadersStatus.h
+	${DEPMAN_PATH}/include
+	C:/Geo_DSDK-6.0.7.1408/include/mrsid_readers
+    ${CMAKE_SOURCE_DIR}/sdk/include/mrsid_readers
+    ${MRSID_DIR}/include/mrsid_readers
+    $ENV{MRSID_DIR}/include/mrsid_readers
+)
+
+FIND_PATH(MRSID_INCLUDE_DIR7 lt_base.h
+	${DEPMAN_PATH}/include
+	C:/Geo_DSDK-6.0.7.1408/include/support
+    ${CMAKE_SOURCE_DIR}/sdk/include/support
+    ${MRSID_DIR}/include/support
+    $ENV{MRSID_DIR}/include/support
+)
+
+FIND_PATH(MRSID_INCLUDE_DIR8 lti_writersStatus.h
+	${DEPMAN_PATH}/include
+	C:/Geo_DSDK-6.0.7.1408/include/writers
+    ${CMAKE_SOURCE_DIR}/sdk/include/writers
+    ${MRSID_DIR}/include/writers
+    $ENV{MRSID_DIR}/include/writers
+)
+
+
+FIND_LIBRARY(MRSID_LIBRARY 
+    NAMES ltidsdk lti_dsdk
+    PATHS
+    ${DEPMAN_PATH}/bin
+    ${DEPMAN_PATH}/lib
+    ${CMAKE_SOURCE_DIR}/sdk/lib
+    ${MRSID_DIR}/lib/Release
+    $ENV{MRSID_DIR}/lib/Release
+)
+
+	
+FIND_LIBRARY(MRSID_LIBRARY_W1
+	NAMES lti_dsdk_dll
+	PATHS
+	${DEPMAN_PATH}/bin
+    ${DEPMAN_PATH}/lib
+	C:/Geo_DSDK-6.0.7.1408/lib/Release
+	${CMAKE_SOURCE_DIR}/sdk/lib
+    ${MRSID_DIR}/lib/Release
+    $ENV{MRSID_DIR}/lib/Release
+)
+
+FIND_LIBRARY(MRSID_LIBRARY_W2
+NAMES lti_dsdk_	cdll
+	PATHS
+	${DEPMAN_PATH}/bin
+    ${DEPMAN_PATH}/lib
+	C:/Geo_DSDK-6.0.7.1408/lib/Release
+	${CMAKE_SOURCE_DIR}/sdk/lib
+    ${MRSID_DIR}/lib/Release
+    $ENV{MRSID_DIR}/lib/Release
+)
+
+FIND_LIBRARY(GDAL_LIBRARY 
+  NAMES lti_gdal gdal
+  PATHS
+  ${DEPMAN_PATH}/bin
+  ${DEPMAN_PATH}/lib
+  $ENV{GDAL_DIR}
+  NO_DEFAULT_PATH
+  PATH_SUFFIXES lib64 lib
+)
+
+FIND_LIBRARY(GDAL_LIBRARY 
+  NAMES lti_gdal gdal
+  ${DEPMAN_PATH}/bin
+  ${DEPMAN_PATH}/lib
+  PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this.
+    NO_DEFAULT_PATH
+    PATH_SUFFIXES lib64 lib
+)
+
+FIND_LIBRARY(GDAL_LIBRARY 
+  NAMES lti_gdal gdal
+  PATHS
+    ${DEPMAN_PATH}/bin
+    ${DEPMAN_PATH}/lib
+    ~/Library/Frameworks
+    /Library/Frameworks
+    /usr/local
+    /usr
+    /sw
+    /opt/local
+    /opt/csw
+    /opt
+    /usr/freeware
+    [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;GDAL_ROOT]/lib
+  PATH_SUFFIXES lib64 lib
+)
+
+SET(MRSID_FOUND "NO")
+IF(MRSID_LIBRARY AND MRSID_INCLUDE_DIR)
+    SET(MRSID_FOUND "YES")
+ENDIF(MRSID_LIBRARY AND MRSID_INCLUDE_DIR)
+
+SET(GDAL_FOUND "NO")
+IF(GDAL_LIBRARY)
+  SET(GDAL_FOUND "YES")
+ENDIF(GDAL_LIBRARY)
Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/pom.xml
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/pom.xml	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/pom.xml	(revision 10040)
@@ -0,0 +1,94 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<artifactId>org.gvsig.jmrsid</artifactId>
+	<packaging>jar</packaging>
+	<version>2.0.0-SNAPSHOT</version>
+	<name>libjni-mrsid</name>
+	<parent>
+		<groupId>org.gvsig</groupId>
+		<artifactId>gvsig-base-library-jni-pom</artifactId>
+		<version>2.0-SNAPSHOT</version>
+	</parent>
+	<properties>
+		<build-dir>${basedir}/../build</build-dir>
+        <eclipse.project.name>libjni-mrsid</eclipse.project.name>
+	</properties>
+	<build>
+		<plugins>
+			<!-- TODO: MAKE TESTS WORK AND REMOVE THIS OPTION -->
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-surefire-plugin</artifactId>
+				<configuration>
+					<skipTests>true</skipTests>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+	<profiles>
+		<profile>
+			<id>windows-profile</id>
+            <activation>
+                <property>
+                    <name>native-platform</name>
+                    <value>win</value>
+                </property>
+            </activation>
+			<dependencies>
+				<dependency>
+					<groupId>com.lizardtech</groupId>
+					<artifactId>mrsid</artifactId>
+					<version>7.0.0.2164</version>
+					<classifier>${native_classifier}</classifier>
+					<type>tar.gz</type>
+				</dependency>
+                <dependency>
+                    <groupId>com.microsoft</groupId>
+                    <artifactId>visualcppredist</artifactId>
+                    <version>2008</version>
+                    <classifier>${native_classifier}</classifier>
+                    <type>tar.gz</type>
+                </dependency>
+			</dependencies>
+		</profile>
+		<profile>
+            <id>linux-profile</id>
+            <activation>
+                <property>
+                    <name>native-platform</name>
+                    <value>linux</value>
+                </property>
+            </activation>
+			<dependencies>
+				<dependency>
+					<groupId>com.lizardtech</groupId>
+					<artifactId>mrsid</artifactId>
+					<version>7.0.0.2164</version>
+					<classifier>${native_classifier}</classifier>
+					<type>tar.gz</type>
+				</dependency>
+			</dependencies>
+		</profile>
+		<profile>
+			<id>mac-profile</id>
+            <activation>
+                <property>
+                    <name>native-platform</name>
+                    <value>mac</value>
+                </property>
+            </activation>
+			<dependencies>
+				<dependency>
+					<groupId>com.lizardtech</groupId>
+					<artifactId>mrsid</artifactId>
+					<version>7.0.0.2164</version>
+					<classifier>${native_classifier}</classifier>
+					<type>tar.gz</type>
+				</dependency>
+			</dependencies>
+		</profile>
+	</profiles>
+</project>
+

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/pom.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/readme.txt
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/readme.txt	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/readme.txt	(revision 10040)
@@ -0,0 +1,17 @@
+Notas de compilaci�n de la librer�a jmrsid.
+
+La compilaci�n de la librer�a jmrsid se realiza autom�ticamente ejecutando el build.xml
+del proyecto. Para ello el sistema tiene que tener instalado y accesible:
+
+- CMake - Probado con la versi�n 2.4
+- Compilador gcc - g++ en el caso de Linux - La versi�n de dicho compilador tiene que ser
+  compatible con el SDK que disponga el usuario. Se ha compilado con gcc 3.3
+- Entorno de desarrollo Visual Studio en caso de Windows con las variables de
+  entorno cargadas. La versi�n del compilador tambi�n depende del SDK que el ususario
+  tenga. - Compilado con Visual Studio 2005
+- SDK de LizardTech instalado y accesible. Si el SDK est� en alguna ruta distinta a las que
+  se incluyen en el archivo FindMRSID, habr� que a�adirla a dicho archivo o instalar el SDK
+  en alguna de las indicadas.
+- JDK de Java.
+
+Con ejecutar el build.xml es suficiente para generar la librer�a y el jar.
\ No newline at end of file

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/readme.txt
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/CMakeLists.txt
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/CMakeLists.txt	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/CMakeLists.txt	(revision 10040)
@@ -0,0 +1,59 @@
+project(jmrsid)
+
+set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS TRUE)
+
+IF(WIN32)
+    CMAKE_MINIMUM_REQUIRED(VERSION 2.4.6 FATAL_ERROR)
+ELSE(WIN32)
+    IF(APPLE)
+        CMAKE_MINIMUM_REQUIRED(VERSION 2.6.0 FATAL_ERROR)
+    ELSE(APPLE)
+        CMAKE_MINIMUM_REQUIRED(VERSION 2.4.4 FATAL_ERROR)
+    ENDIF(APPLE)
+ENDIF(WIN32)
+
+if(COMMAND cmake_policy)
+    # Works around warnings libraries linked against that don't
+    # have absolute paths (e.g. -lpthreads)
+    cmake_policy(SET CMP0003 NEW)
+
+    # Works around warnings about escaped quotes in ADD_DEFINITIONS
+    # statements.
+    cmake_policy(SET CMP0005 NEW)
+
+    # cmake-2.6.1 introduces policy cmp0008 decide how to treat full path libraries that do not appear to be valid library file names
+    # quote from cvslog "Such libraries worked by accident in the VS IDE and Xcode generators in CMake 2.4 and below."
+    if(${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} GREATER 4 AND ${CMAKE_PATCH_VERSION} GREATER 0)
+        cmake_policy(SET CMP0008 OLD)
+    endif()
+endif()
+
+SET(JMRSID_VERSION_MAJOR "2")
+SET(JMRSID_VERSION_MINOR "0")
+SET(JMRSID_VERSION_PATCH "0")
+
+SET(VERSION "${JMRSID_VERSION_MAJOR}.${JMRSID_VERSION_MINOR}.${JMRSID_VERSION_PATCH}")
+
+SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/../build/CMakeModules;${CMAKE_SOURCE_DIR}/CMakeModules;${CMAKE_MODULE_PATH}")
+
+IF(UNIX OR APPLE)
+	SET(CMAKE_CXX_FLAGS "-D_REENTRANT")
+ENDIF()
+
+FIND_PACKAGE(DepMan REQUIRED) 
+INCLUDE(GeneralMacros) 
+
+CONFIGURE_DEFAULTS()
+
+IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
+  SET(CMAKE_INSTALL_PREFIX
+    ${DEPMAN_PATH} CACHE PATH "depman path install prefix" FORCE
+    )
+ENDIF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
+
+FIND_PACKAGE(JNI REQUIRED) 
+FIND_PACKAGE(MRSID REQUIRED) 
+
+ADD_SUBDIRECTORY(src/main/native)
+
+CONFIGURE_END()
\ No newline at end of file

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/CMakeLists.txt
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/build.xml
===================================================================
--- org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/build.xml	(revision 0)
+++ org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/build.xml	(revision 10040)
@@ -0,0 +1,67 @@
+	<project name="libjni-mrsid" default="main" basedir=".">
+	<description>
+		Compila la librería jmrsid
+	</description>
+		
+	<property name="src-java" location="src/main/java" />
+	<property name="src-test-java" location="src/test/java" />
+	<property name="jar-dist" location="jar-dist" />
+	<property name="build" location="bin/" />
+	<property name="build-test" location="bin-test/" />
+	<property name="cmake_build" location="BMCMake/" />
+	<property name="sdk-dir" location="/home/miguel/mrsid/Geo_DSDK-6.0.7.1407" />
+	<property environment="env"/>
+	<condition property="jmrsid_version" value="0.0.6">
+		<os family="unix"/>
+	</condition>
+	<condition property="jmrsid_version" value="006">
+		<os family="windows"/>
+	</condition>
+	<property name="jmrsid-jar" location="jmrsid-0.0.6.jar" />
+	<condition property="cmake_generator" value="'Unix Makefiles'">
+		<os family="unix"/>
+	</condition>
+	<condition property="cmake_generator" value="'NMake Makefiles'">
+		<os family="windows"/>
+	</condition>		
+
+	<target name="main" description="compile java code, make jars, prepare and compile natives" depends="clean,jar,prepare-natives,compile-natives">
+	</target>
+
+	<target name="jar" description="makes jar file">
+		<mkdir dir="${build}" />
+		<javac srcdir="${src-java}" destdir="${build}" debug="true" />
+		<mkdir dir="${jar-dist}" />
+		<jar jarfile="${jmrsid-jar}" basedir="${build}" includes="es/gva/cit/jmrsid/**" />
+		<move file="${jmrsid-jar}" todir="${jar-dist}" />
+	</target>
+
+	<target name="prepare-natives" description="prepares the natives to be compiled">
+		<mkdir dir="${cmake_build}"/>
+		<delete file="${cmake_build}/CMakeCache.txt"/>
+		<exec dir="${cmake_build}" executable="cmake">
+			<arg line=".." />
+			<arg line="-G${cmake_generator}" />
+			<arg line="-DMRSID_DIR=${sdk-dir}" />
+			<arg line="-DCMAKE_BUILD_TYPE=Release" />
+			<arg line="-DJMRSID_VERSION=${jmrsid_version}" />
+		</exec>
+	</target>
+
+	<target name="compile-natives" description="compiles natives">
+		<exec dir="${cmake_build}" executable="make" os="Linux">
+			<arg line="install" />
+		</exec>
+		<exec dir="${cmake_build}" executable="nmake" os="Windows 98,Windows 2000,Windows XP,Windows NT (Unknown)">
+			<arg line="install" />
+		</exec>
+	</target>
+
+		
+	<target name="clean" description="clean distribution">
+		<delete dir="jar-dist"/>
+		<delete dir="lib-dist"/>
+		<delete dir="BMCMake"/>
+	</target>
+
+</project>

Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84/org.gvsig.raster.lizardtech.jni/build.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain


Property changes on: org.gvsig.raster.lizardtech/tags/org.gvsig.raster.lizardtech-2.2.84
___________________________________________________________________
Added: svn:ignore
   + .project
.pom.xml.swp


