12.05.2013 Views

Fundamentos de análisis geográfico con SEXTANTE - La Salle

Fundamentos de análisis geográfico con SEXTANTE - La Salle

Fundamentos de análisis geográfico con SEXTANTE - La Salle

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

322 CAPÍTULO 20. PROGRAMACIÓN DE MÓDULOS DE <strong>SEXTANTE</strong><br />

20.2. Librerías y módulos<br />

Como ya sabrás, los módulos <strong>de</strong> <strong>SEXTANTE</strong> se agrupan en librerías. A la hora <strong>de</strong> crear un<br />

nuevo módulo, éste tiene que estar <strong>con</strong>tenido en una librería, y esta circunstancia es algo que<br />

<strong>de</strong>be reflejarse también en el código fuente. Puesto que esto es algo que siempre ha <strong>de</strong> hacerse,<br />

comenzaré explicando la estructura básica <strong>de</strong> una librería antes <strong>de</strong> comenzar a escribir código<br />

fuente.<br />

En el código fuente <strong>de</strong> <strong>SEXTANTE</strong> (<strong>de</strong>scárgalo si aún no lo has hecho) en<strong>con</strong>trarás una<br />

carpeta llamada modules template que <strong>con</strong>tiene una plantilla <strong>de</strong> módulo. En dicha carpeta<br />

en<strong>con</strong>trarás los siguientes ficheros:<br />

Template.dsp<br />

Template.h<br />

Template.cpp<br />

MLB Interface.cpp<br />

MLB Interface.h<br />

Este grupo <strong>de</strong> ficheros correspon<strong>de</strong> a una librería <strong>con</strong> un único módulo. <strong>La</strong> estructura <strong>de</strong><br />

ésta queda <strong>de</strong>finida en el fichero MLB Interface.cpp, mientras que el módulo en sí se <strong>de</strong>scribe<br />

en Template.h y Template.cpp. El archivo Template.dsp <strong>con</strong>tiene un proyecto <strong>de</strong> Visual Studio<br />

correspondiente a la librería al completo.<br />

Pue<strong>de</strong>s abrir este último y compilar la librería, en cuyo caso obtendrás un fichero <strong>de</strong> librería<br />

(una dll en el caso <strong>de</strong> trabajar en Windows). Al cargarlo en <strong>SEXTANTE</strong>, tendrá su propia<br />

entrada <strong>de</strong> menú en el menú Módulos. Tal y como veremos cuando analicemos su código<br />

fuente, el módulo simplemente toma una capa y genera una nueva <strong>con</strong> su misma extensión,<br />

que <strong>con</strong>tiene en sus celdas el valor <strong>de</strong> la capa original multiplicado por una <strong>con</strong>stante.<br />

Usaremos esta plantilla para crear una nueva librería que no sólo <strong>con</strong>tenga un módulo, sino<br />

dos, uno <strong>de</strong> ellos siendo una versión simplificada <strong>de</strong>l otro. Lo primero que <strong>de</strong>bemos hacer es<br />

darle el nombre que <strong>de</strong>seemos a la librería, así que crea una copia <strong>de</strong> la carpeta y renombra<br />

los archivos según el siguiente esquema.<br />

Template.h → MiLibreria.h<br />

Template.cpp → MiLibreria.cpp<br />

Template.dsp → MiLibreria.dsp<br />

Por supuesto, renombrar los archivos no es estrictamente necesario para compilar nuestra<br />

librería <strong>de</strong> módulos, pero es el primer paso lógico si queremos crear nuestro propio módulo y<br />

darle una i<strong>de</strong>ntidad <strong>de</strong>ntro <strong>de</strong>l <strong>con</strong>junto <strong>de</strong> ellos <strong>de</strong> <strong>SEXTANTE</strong>.<br />

No cambies el nombre <strong>de</strong> los archivos MLB Interface.*.<br />

Aún nos faltan dos archivos (un .cpp y un archivo .h <strong>de</strong> cabecera) correspondientes al<br />

segundo módulo, que será nuestra versión simplificada <strong>de</strong>l ya existente. Veremos <strong>de</strong>spués cómo<br />

añadir más módulos a la librería, pero por ahora nos basta <strong>con</strong> el que tenemos.<br />

Antes <strong>de</strong> seguir, modifiquemos el nombre <strong>de</strong> la librería también en los ficheros <strong>de</strong> proyecto<br />

<strong>de</strong> Visual Studio (o en sus correspondientes makefiles si trabajamos en otro entorno). Simplemente<br />

abre el fichero MiLibreria.dsp y <strong>con</strong> tu editor <strong>de</strong> texto favorito (el bloc <strong>de</strong> notas <strong>de</strong><br />

Windows no es muy potente, pero para este cometido te bastará) reemplaza todas las ocurrencias<br />

<strong>de</strong> la ca<strong>de</strong>na <strong>de</strong> texto Template por MiLibreria (o el nombre que <strong>de</strong>sees darle). Guarda el

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!