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.

20.6. MÓDULOS INTERACTIVOS 335<br />

partir <strong>de</strong> cuyas coor<strong>de</strong>nadas que procesar. Por ello, y para el caso <strong>de</strong> un módulo interactivo<br />

no raster (que here<strong>de</strong> <strong>de</strong> CModule Interactive), es <strong>con</strong>veniente empezar por comprobar que la<br />

acción realizada es la que buscamos. Para ello, comprobamos el valor <strong>de</strong> la variable Mo<strong>de</strong>, <strong>de</strong><br />

tipo TModule Interactive Mo<strong>de</strong>, <strong>de</strong>finido como se muestra a <strong>con</strong>tinuación.<br />

type<strong>de</strong>f enum<br />

{<br />

MODULE_INTERACTIVE_UNDEFINED = 0,<br />

MODULE_INTERACTIVE_LDOWN,<br />

MODULE_INTERACTIVE_LUP,<br />

MODULE_INTERACTIVE_LDCLICK,<br />

MODULE_INTERACTIVE_MDOWN,<br />

MODULE_INTERACTIVE_MUP,<br />

MODULE_INTERACTIVE_MDCLICK,<br />

MODULE_INTERACTIVE_RDOWN,<br />

MODULE_INTERACTIVE_RUP,<br />

MODULE_INTERACTIVE_RDCLICK,<br />

MODULE_INTERACTIVE_MOVE,<br />

MODULE_INTERACTIVE_MOVE_LDOWN,<br />

MODULE_INTERACTIVE_MOVE_MDOWN,<br />

MODULE_INTERACTIVE_MOVE_RDOWN<br />

}<br />

TModule_Interactive_Mo<strong>de</strong>;<br />

Si por ejemplo quieres capturar simplemente un clic <strong>de</strong>l botón izquierdo, aña<strong>de</strong> este código<br />

al inicio <strong>de</strong>l método On Execute Position().<br />

if( Mo<strong>de</strong> != MODULE_INTERACTIVE_LDOWN)<br />

{<br />

return( false );<br />

}<br />

<strong>La</strong>s coor<strong>de</strong>nadas ✭✭reales✮✮ <strong>de</strong>l punto seleccionado pue<strong>de</strong>n <strong>con</strong>ocerse haciendo uso <strong>de</strong> los<br />

siguientes métodos.<br />

Get xPosition()<br />

Get yPosition()<br />

Éstas pue<strong>de</strong>n sustituirse por los métodos <strong>de</strong> la clase CGeo Rect, a la que pertenece el objeto<br />

ptWorld, ya que este objeto <strong>con</strong>tiene las coor<strong>de</strong>nadas reales <strong>de</strong>l punto seleccionado.<br />

Si el módulo es <strong>de</strong> tipo raster, las coor<strong>de</strong>nadas <strong>de</strong> celda se obtienen <strong>con</strong> los siguientes<br />

métodos.<br />

Get xGrid()<br />

Get xGrid()<br />

Es, sin embargo, mejor i<strong>de</strong>a comprobar que las coor<strong>de</strong>nadas son válidas (es <strong>de</strong>cir, que se<br />

ha seleccionado un punto <strong>de</strong>ntro <strong>de</strong> la capa raster y no uno fuera <strong>con</strong> el que no se pue<strong>de</strong><br />

trabajar), haciendo uso <strong>de</strong>l método Get Grid Pos() al inicio.<br />

bool Get_Grid_Pos (int &x, int &y);

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

Saved successfully!

Ooh no, something went wrong!