Statistics
| Revision:

svn-gvsig-desktop / tags / Root_FMap_piloto_CAD_Layout_version / libraries / libFMap / docs / AnĂ¡lisis CAD.html @ 1664

History | View | Annotate | Download (21.9 KB)

1
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
<html>
3
<head>
4
  <meta content="text/html; charset=ISO-8859-1"
5
 http-equiv="content-type">
6
  <title>An&aacute;lisis CAD</title>
7
</head>
8
<body>
9
<big><big><big>An&aacute;lisis CAD<br>
10
</big></big></big><big><big><big><small><a href="#1_Capas">1. Capas</a><br>
11
<a href="#2_Geometrias">2. Geometr&iacute;as</a><br>
12
<a href="#3_Editor">3. Editor</a><br>
13
<a href="#4_Boques"></a></small></big></big></big><big><big><big><small><br>
14
<a name="1_Capas"></a>1. Capas<br>
15
</small></big></big></big><big><big><small><small>&nbsp;&nbsp; Los
16
ficheros de CAD se van a abrir mediante una capa colecci&oacute;n (a
17
partir de ahora <span style="font-weight: bold;">capa CAD</span>) de
18
la cual colgar&aacute;n las capas individuales correspondientes a las
19
capas internas del fichero de CAD (a partir de ahora <span
20
 style="font-weight: bold;">capa interna CAD</span>). Durante la
21
edici&oacute;n, aparece el concepto de capa activa que es distinto al
22
concepto de capa activa mantenido en FMap. Utilizaremos el
23
t&eacute;rmino <span style="font-weight: bold;">capa en edici&oacute;n</span>
24
para referirnos a la capa interna CAD sobre la que se insertar&aacute;n
25
las geometr&iacute;as dibujadas durante la edici&oacute;n y el
26
t&eacute;rmino <span style="font-weight: bold;">capa activa</span>
27
para la capa/s seleccionada/s cuando no estamos editando sobre la que
28
se realizan operaciones de zoom al tema, selecci&oacute;n, ... De esta
29
manera para editar un archivo CAD pondremos como capa activa la capa
30
CAD del fichero que queremos editar y diremos a gvSIG que queremos
31
comenzar la edici&oacute;n. En ese instante, una de las capas internas
32
CAD (usualmente la capa cero) se pondr&aacute; como capa en
33
edici&oacute;n y no podremos poner como capa en edici&oacute;n ninguna
34
capa que no pertenezca a la capa que estamos editando.<br>
35
<br>
36
&nbsp;&nbsp;&nbsp; Las capas internas CAD tienen una serie de atributos:<br>
37
</small></small></big></big>
38
<ul>
39
  <li>Visibilidad: Toda capa en gvSIG tiene ese atributo, por lo que ya
40
est&aacute; implementado</li>
41
  <li>En edici&oacute;n: Cuando se pone en edici&oacute;n una capa CAD,
42
s&oacute;lo una de sus capas internas CAD estar&aacute; en
43
edici&oacute;n.</li>
44
  <li>Bloqueada: No se permite la edici&oacute;n sobre ella</li>
45
  <li>Color de dibujo.<br>
46
  </li>
47
  <li>Tipo de linea.<br>
48
  </li>
49
</ul>
50
<big><big><small><small><br>
51
</small></small></big></big><big><big><big><small><a name="2_Geometrias"></a>2.
52
Geometr&iacute;as<br>
53
</small></big></big></big>&nbsp;&nbsp;&nbsp; Las geometr&iacute;as de
54
CAD ser&aacute;n como las geometr&iacute;as de FMap pero con algunas
55
caracter&iacute;sticas adicionales ya que deber&aacute;n de tener un
56
color (permiti&eacute;ndose los valores t&iacute;picos de un campo de
57
color m&aacute;s los valores "por capa" y "por bloque") y un tipo de
58
linea asociado. Adem&aacute;s, para la realizaci&oacute;n del snapping,
59
toda geometr&iacute;a deber&aacute; de devolver una serie de puntos de
60
snapping a los que ajustar los puntos que introduce el usuario y para
61
el uso de la herramienta por defecto, deber&aacute; de devolver los
62
puntos sobre los que se situar&aacute;n handlers para la
63
modificaci&oacute;n de los mismos.<br>
64
<br>
65
&nbsp;&nbsp;&nbsp;&nbsp; Los
66
puntos a los que se puede ajustar mediante el snapping son los
67
siguientes:
68
<br>
69
<!--[if !supportLists]--><span
70
 style="font-size: 10pt; line-height: 150%; font-family: Wingdings;"><span
71
 style=""><span
72
 style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">
73
</span></span></span><!--[endif]-->
74
<ul>
75
  <li><span style="font-size: 11pt; line-height: 150%;">Punto
76
m&aacute;s cercano</span> </li>
77
  <li><span style="font-size: 11pt; line-height: 150%;">Punto final</span>
78
  </li>
79
  <li><span style="font-size: 11pt; line-height: 150%;">Punto medio</span>
80
  </li>
81
  <li><span style="font-size: 11pt; line-height: 150%;">Centro</span> </li>
82
  <li><span style="font-size: 11pt; line-height: 150%;"><span
83
 style="font-family: &quot;times new roman&quot;;">T</span>angente</span> </li>
84
  <li><span style="font-size: 11pt; line-height: 150%;">Perpendicular</span>
85
  </li>
86
  <li><span style="font-size: 11pt; line-height: 150%;">Cuadrante</span>
87
  </li>
88
  <li><span style="font-size: 11pt; line-height: 150%;">Punto de
89
inserci&oacute;n</span> </li>
90
  <li><span style="font-size: 11pt; line-height: 150%;">Punto
91
intersecci&oacute;n</span></li>
92
</ul>
93
<!--[if !supportLists]--><!--[endif]--><!--[if !supportLists]--><!--[endif]--><!--[if !supportLists]--><!--[endif]--><!--[if !supportLists]--><!--[if !supportLists]--><!--[if !supportLists]--><!--[if !supportLists]--><!--[if !supportLists]--><br>
94
<br>
95
&nbsp;&nbsp;&nbsp; Distinguimos dos tipos de geometr&iacute;as, las
96
simples y las complejas. La manera de utilizar geometr&iacute;as
97
complejas ser&aacute; mediante una geometr&iacute;a especial que sea
98
una colecci&oacute;n de geometr&iacute;as. Algunas de las
99
geometr&iacute;as simples pueden dibujarse especificando distintas
100
coordenadas y todas pueden dibujarse mediante el uso del rat&oacute;n y
101
mediante el uso de la consola. Tenemos la siguiente
102
clasificaci&oacute;n de geometr&iacute;as junto con sus distintos
103
m&eacute;todos
104
de dibujado:<br>
105
<p
106
 style="margin: 5.95pt 0cm 5.95pt 72pt; text-indent: -18pt; line-height: 150%;"><!--[if !supportLists]--><span
107
 style="font-size: 10pt; line-height: 150%; font-family: &quot;Courier New&quot;;"><span
108
 style=""></span></span></p>
109
<ul>
110
  <li>&nbsp;&nbsp;<span style="font-weight: bold;"> </span>Simples </li>
111
</ul>
112
<!--[if !supportLists]-->
113
<ul style="margin-left: 40px;">
114
  <li><span
115
 style="font-size: 10pt; line-height: 150%; font-family: &quot;Courier New&quot;;"><span
116
 style=""></span></span><span
117
 style="font-size: 11pt; line-height: 150%;">Punto. </span></li>
118
  <li><span
119
 style="font-size: 10pt; line-height: 150%; font-family: &quot;Courier New&quot;;"><span
120
 style=""></span></span><span
121
 style="font-size: 11pt; line-height: 150%;">L&iacute;nea. </span><span
122
 style="font-size: 11pt; line-height: 150%;">Permite
123
dibujar una l&iacute;nea especificando el punto de inicio y el punto
124
final. Como se ha
125
comentado se pueden elegir entre varias opciones a la hora de indicar
126
estos
127
puntos, por ejemplo una vez dibujado el punto de inicio podemos definir
128
el
129
punto final especificando la longitud del segmento y su
130
orientaci&oacute;n (&aacute;ngulo).</span> </li>
131
  <li><span
132
 style="font-size: 10pt; line-height: 150%; font-family: &quot;Courier New&quot;;"><span
133
 style=""><span
134
 style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"></span></span></span><span
135
 style="font-size: 11pt; line-height: 150%;">Arco.</span><span
136
 style="font-size: 11pt; line-height: 150%;"> Un arco
137
es una porci&oacute;n de un c&iacute;rculo. Se define mediante tres
138
puntos. Hay varios
139
m&eacute;todos para dibujar un c&iacute;rculo:</span> </li>
140
  <ul>
141
    <li><span
142
 style="font-size: 10pt; line-height: 150%; font-family: Wingdings;"><span
143
 style=""></span></span><span
144
 style="font-size: 11pt; line-height: 150%;">Tres puntos (inicio,
145
segundo y final).</span> </li>
146
    <li><span
147
 style="font-size: 10pt; line-height: 150%; font-family: Wingdings;"><span
148
 style=""></span></span><span
149
 style="font-size: 11pt; line-height: 150%;">Inicio, centro y final.</span>
150
    </li>
151
    <li><span
152
 style="font-size: 10pt; line-height: 150%; font-family: Wingdings;"><span
153
 style=""></span></span><span
154
 style="font-size: 11pt; line-height: 150%;">Inicio, centro, longitud
155
de la cuerda.</span> </li>
156
    <li><span
157
 style="font-size: 10pt; line-height: 150%; font-family: Wingdings;"><span
158
 style=""></span></span><span
159
 style="font-size: 11pt; line-height: 150%;">Inicio, final, radio.</span>
160
    </li>
161
    <li><span
162
 style="font-size: 10pt; line-height: 150%; font-family: Wingdings;"><span
163
 style=""></span></span><span
164
 style="font-size: 11pt; line-height: 150%;">Inicio, final,
165
&aacute;ngulo inclu&iacute;do.</span> </li>
166
    <li><span
167
 style="font-size: 10pt; line-height: 150%; font-family: Wingdings;"><span
168
 style=""></span></span><span
169
 style="font-size: 11pt; line-height: 150%;">Inicio, final,
170
direcci&oacute;n inicial.</span><span
171
 style="font-size: 10pt; line-height: 150%; font-family: Wingdings;"></span><span
172
 style="font-size: 11pt; line-height: 150%;"></span></li>
173
    <li><span style="font-size: 11pt; line-height: 150%;">Inicio,
174
radio, &aacute;ngulo.</span></li>
175
  </ul>
176
  <li><span
177
 style="font-size: 10pt; line-height: 150%; font-family: &quot;Courier New&quot;;"><span
178
 style=""><span
179
 style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"></span></span></span><span
180
 style="font-size: 11pt; line-height: 150%;"><span
181
 style="font-family: &quot;times new roman&quot;;">C</span>&iacute;rculo. </span><span
182
 style="font-size: 11pt; line-height: 150%;">Se
183
especifica mediante cualquiera de los siguientes m&eacute;todos:.</span>
184
  </li>
185
  <ul>
186
    <li><span
187
 style="font-size: 10pt; line-height: 150%; font-family: Wingdings;"><span
188
 style=""></span></span><span
189
 style="font-size: 11pt; line-height: 150%;">Centro, Radio.</span> </li>
190
    <li><span
191
 style="font-size: 10pt; line-height: 150%; font-family: Wingdings;"><span
192
 style=""></span></span><span
193
 style="font-size: 11pt; line-height: 150%;">Centro, Di&aacute;metro.</span>
194
    </li>
195
    <li><span
196
 style="font-size: 10pt; line-height: 150%; font-family: Wingdings;"><span
197
 style=""></span></span><span
198
 style="font-size: 11pt; line-height: 150%;">Dos puntos.</span> </li>
199
    <li><span
200
 style="font-size: 10pt; line-height: 150%; font-family: Wingdings;"><span
201
 style=""></span></span><span
202
 style="font-size: 11pt; line-height: 150%;">Tres puntos.</span> </li>
203
    <li><span
204
 style="font-size: 10pt; line-height: 150%; font-family: Wingdings;"><span
205
 style=""><span
206
 style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"></span></span></span><span
207
 style="font-size: 11pt; line-height: 150%;">Radio, tangente, tangente</span></li>
208
    <li><span style="font-size: 11pt; line-height: 150%;"></span><span
209
 style="font-size: 10pt; line-height: 150%; font-family: Wingdings;"><span
210
 style=""><span
211
 style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"></span></span></span><span
212
 style="font-size: 11pt; line-height: 150%;">Convertir arco a
213
c&iacute;rculo.</span></li>
214
  </ul>
215
  <li><span
216
 style="font-size: 10pt; line-height: 150%; font-family: &quot;Courier New&quot;;"><span
217
 style=""></span></span><span
218
 style="font-size: 11pt; line-height: 150%;">Elipse. </span><span
219
 style="font-size: 11pt; line-height: 150%;">M&eacute;todos
220
para dibujar una elipse:</span> </li>
221
  <ul>
222
    <li><span style="font-size: 11pt; line-height: 150%;">Eje, eje.</span>
223
    </li>
224
    <li><span
225
 style="font-size: 10pt; line-height: 150%; font-family: Wingdings;"><span
226
 style=""></span></span><span
227
 style="font-size: 11pt; line-height: 150%;">Eje, rotaci&oacute;n.</span>
228
    </li>
229
    <li><span
230
 style="font-size: 10pt; line-height: 150%; font-family: Wingdings;"><span
231
 style=""></span></span><span
232
 style="font-size: 11pt; line-height: 150%;">Centro, eje.</span> </li>
233
    <li><span
234
 style="font-size: 10pt; line-height: 150%; font-family: Wingdings;"><span
235
 style=""></span></span><span
236
 style="font-size: 11pt; line-height: 150%;">Centro, rotaci&oacute;n.</span></li>
237
  </ul>
238
</ul>
239
<!--[endif]--><!--[if !supportLists]--><!--[endif]--><!--[if !supportLists]--><!--[endif]--><!--[if !supportLists]--><!--[endif]--><!--[if !supportLists]--><!--[endif]--><!--[if !supportLists]--><!--[endif]--><!--[if !supportLists]--><!--[endif]--><!--[if !supportLists]--><!--[endif]--><!--[if !supportLists]--><!--[endif]--><!--[if !supportLists]--><!--[endif]--><!--[if !supportLists]--><!--[endif]--><!--[if !supportLists]--><!--[endif]--><!--[if !supportLists]--><!--[endif]--><!--[if !supportLists]--><!--[endif]--><!--[if !supportLists]--><!--[endif]--><!--[if !supportLists]--><!--[endif]--><!--[if !supportLists]--><!--[endif]--><!--[if !supportLists]--><!--[endif]--><!--[if !supportLists]--><!--[endif]--><!--[if !supportLists]--><!--[endif]--><!--[if !supportLists]--><!--[endif]--><!--[if !supportLists]--><!--[endif]-->
240
<ul>
241
  <li>Complejas</li>
242
</ul>
243
<!--[if !supportLists]--><span
244
 style="font-size: 10pt; line-height: 150%; font-family: &quot;Courier New&quot;;"><span
245
 style=""></span></span>
246
<ul style="margin-left: 40px;">
247
  <li><span style="font-size: 11pt; line-height: 150%;">Polil&iacute;nea.
248
    </span><span style="font-size: 11pt; line-height: 150%;">Es
249
una entidad formada por un conjunto de l&iacute;neas y/o arcos.</span> </li>
250
  <li><span style="font-size: 11pt; line-height: 150%;">Rect&aacute;ngulo.
251
    </span><span style="font-size: 11pt; line-height: 150%;">Se
252
dibuja un rect&aacute;ngulo especificando sus esquinas opuestas. Por
253
defecto se dibuja
254
paralelo a la alineaci&oacute;n del grill. Debe permitir la
255
opci&oacute;n de dibujar un
256
cuadrado.</span> </li>
257
  <li><span style="font-size: 11pt; line-height: 150%;">Dibujar
258
pol&iacute;gonos.</span><span
259
 style="font-size: 11pt; line-height: 150%;"> Est&aacute;n compuestos
260
por un m&iacute;nimo de 3 lados de igual longitud (en otros
261
programas de CAD tienen un m&aacute;ximo de alrededor de 1000 lados).
262
M&eacute;todos para
263
dibujar un pol&iacute;gono:</span> </li>
264
  <ul>
265
    <li><span style="font-size: 11pt; line-height: 150%;">Centro y
266
distancia del centro a cada v&eacute;rtice.</span> </li>
267
    <li><span style="font-size: 11pt; line-height: 150%;">Centro y
268
v&eacute;rtice (se especifica la ubicaci&oacute;n de un v&eacute;rtice).</span></li>
269
    <li><span style="font-size: 11pt; line-height: 150%;"></span><span
270
 style="font-size: 11pt; line-height: 150%;">Centro y distancia al
271
punto medio de un lado.</span></li>
272
  </ul>
273
  <li><span style="font-size: 11pt; line-height: 150%;">Spline. </span><span
274
 style="font-size: 11pt; line-height: 150%;">Es una
275
curva suave definida por un conjunto de puntos. Se define especificando
276
los
277
puntos que la definen. Debe tener la opci&oacute;n de Tolerancia, que
278
determina con
279
cuanta precisi&oacute;n la spline se ajusta al conjunto de puntos que
280
se especifica.</span> </li>
281
  <li><span style="font-size: 11pt; line-height: 150%;">Bloques. </span><span
282
 style="font-size: 11pt; line-height: 150%;">Los
283
bloques son unas entidades especiales que una vez guardadas pueden ser
284
insertadas y manipuladas en el dibujo como una entidad &uacute;nica.
285
Las operaciones
286
con bloques m&aacute;s comunes son:</span> </li>
287
  <ul>
288
    <li><span style="font-size: 11pt; line-height: 150%;">Crear un
289
bloque.</span> </li>
290
    <li><span style="font-size: 11pt; line-height: 150%;">Insertar un
291
bloque.</span></li>
292
  </ul>
293
</ul>
294
<span style="font-size: 11pt; line-height: 150%;"><a name="3_Editor"></a><big><big><big>3.
295
Editor<br>
296
</big></big></big></span><span
297
 style="font-size: 11pt; line-height: 150%;"></span>&nbsp;&nbsp;&nbsp;
298
El editor de geometr&iacute;as se dispondr&aacute; en dos capas, la
299
capa del modelo y la capa de la interfaz, con el fin de que
300
independientemente de que se a&ntilde;adan las geometr&iacute;as desde
301
la consola o mediante el uso del rat&oacute;n, la ejecuci&oacute;n de
302
las acciones pase siempre por los mismos m&eacute;todos del modelo.
303
Para entender este apartado conviene estar m&iacute;nimamente
304
familiarizado con la interfaz gr&aacute;fica de AutoCAD 2004 o
305
similares.<br>
306
<small><br>
307
</small><big>3.1 Modelo del editor</big><br>
308
&nbsp;&nbsp;&nbsp; El modelo del editor tendr&aacute; una herramienta
309
seleccionada mediante la cual operar&aacute; con las geometr&iacute;as
310
de las capas internas CAD (la capa interna CAD en edici&oacute;n si la
311
herramienta es de dibujo). Las herramientas de edici&oacute;n
312
constar&aacute;n de dos partes a nivel conceptual: <br>
313
<ul>
314
  <li>la parte del comportamiento que toma los par&aacute;metros</li>
315
  <li>el resultado producido por estos. <br>
316
  </li>
317
</ul>
318
&nbsp;&nbsp;&nbsp; Por ejemplo, en la herramienta a nivel de interfaz
319
que dibuja un c&iacute;rculo, la opci&oacute;n de especificar 3 puntos,
320
centro y radio, etc y la posterior secuencia de puntos que se pide
321
ser&iacute;a su comportamiento mientras que el circulo insertado en la
322
capa interna CAD ser&iacute;a el resultado de la herramienta.<br>
323
<br>
324
&nbsp;&nbsp;&nbsp; Se han diferenciado estas dos partes de la
325
herramienta con el fin de explicar en profundidad la parte del
326
comportamiento. Dicho comportamiento viene definido por un
327
aut&oacute;mata de estados finitos por cuyos estados nos iremos
328
desplazando durante la introducci&oacute;n de datos. Por ejemplo, el
329
diagrama de estados finitos de la herramienta c&iacute;rculo
330
ser&iacute;a el siguiente (TODO poner el diagrama) (para el AutoCAD
331
2004):<br>
332
<br>
333
<br>
334
&nbsp;&nbsp;&nbsp; Los estados vendr&aacute;n identificados por un
335
n&uacute;mero entero, mientras que las transiciones ser&aacute;n
336
strings correspondi&eacute;ndose al texto que hay que escribir en la
337
consola de edici&oacute;n o textos especiales indicando eventos de
338
rat&oacute;n: "MOUSEPRESSED", ...<br>
339
<br>
340
&nbsp;&nbsp;&nbsp; La edici&oacute;n de CAD se realizar&aacute; sobre
341
un MapControl. Para ello contamos con el inconveniente de que las
342
herramientas de MapControl no tienen estado y han de pintar ellas toda
343
la imagen. Por el contrario, las herramientas que estamos definiendo
344
tienen un estado y al dibujar y operar deben conocer cu&aacute;l es o
345
cu&aacute;les son las geometr&iacute;as seleccionadas, recibiendo un
346
objeto sobre el que dibujar&aacute;n en el que ya est&aacute;n
347
dibujadas las geometr&iacute;as del fichero en edici&oacute;n. Para
348
emplear herramientas de CAD utilizaremos pues una herramienta especial
349
CADToolAdapter que capturar&aacute; los eventos del rat&oacute;n,
350
transform&aacute;ndolos en eventos de transici&oacute;n entre estados
351
para la herramienta de CAD seleccionada. El CADToolAdapter
352
deber&aacute; de dibujar la capa en edici&oacute;n y luego delegar el
353
dibujado en la herramienta CAD seleccionada. Resumiendo, la herramienta
354
CADToolAdapter servir&aacute; de adaptador entre las facilidades que
355
proporcional MapControl para las herramientas y las necesidades de las
356
herramientas de CAD.<br>
357
<br>
358
&nbsp;&nbsp;&nbsp; Las funciones del CADToolAdapter ser&aacute;n las
359
siguientes:<br>
360
<ul>
361
  <li>Mantener una referencia al <a
362
 href="Edici%F3n%20vectorial%20en%20FMap.html">EditableFeatureSource</a>
363
que est&aacute; en edici&oacute;n.</li>
364
  <li>Mantener la selecci&oacute;n actual de la fuente de datos
365
editable.</li>
366
  <li>Traducir los eventos de rat&oacute;n y las entradas por consola
367
en transiciones entre estados de la CadTool seleccionada.</li>
368
  <li>Dibujar la fuente de datos y delegar el dibujado del estado
369
actual de la herramienta en la CadTool seleccionada.</li>
370
  <li>Obtener los puntos de snap dado un punto y dibujar el efecto del
371
snaping para la posici&oacute;n actual del rat&oacute;n sea cual sea el
372
estado de la herramienta seleccionada.</li>
373
  <li>Obtener el punto de rastreo para la posici&oacute;n actual del
374
rat&oacute;n si est&aacute; activado<br>
375
  </li>
376
  <li>Traducir los puntos recibidos del MapControl de coordenadas de la
377
imagen a coordenadas del mapa ajustando al punto de snap en caso haber
378
alguno y estar activada dicha funcionalidad.</li>
379
  <li>Traducir los eventos del MapControl en transiciones en el estado
380
de las herramientas de CAD.<br>
381
  </li>
382
</ul>
383
&nbsp;&nbsp;&nbsp; Para realizar el snapping, se deben de introducir en
384
un &iacute;ndice espacial, los puntos de snapping de todas las
385
geometr&iacute;as, adem&aacute;s de que deben mantenerse actualizados
386
dichos &iacute;ndices. Esto quiere decir que si se modifica una
387
geometr&iacute;a se deber&aacute;n de eliminar los puntos de la
388
geometr&iacute;a antes de la modificaci&oacute;n e insertar los puntos
389
de la geometr&iacute;a tras la modificaci&oacute;n. Adem&aacute;s, al
390
realizar snapping, debe aparecer en el editor un tooltip indicando el
391
tipo del punto al que se hace snapping (centro, punto medio, ...)
392
adem&aacute;s de que el efecto del snapping puede dibujarse de distinta
393
manera en funci&oacute;n del tipo de punto por lo que el tipo de punto
394
deber&aacute; ser retornado por las geometr&iacute;as y almacenado en
395
el &iacute;ndice espacial junto con el punto en s&iacute;. <br>
396
<br>
397
&nbsp;&nbsp;&nbsp; Similar al snapping por puntos est&aacute;n los
398
siguientes ajustes:<br>
399
<ul>
400
  <li>Rastreo polar: Se ajusta la posici&oacute;n actual del
401
rat&oacute;n a las rectas horizontal y vertical que pasan por el punto
402
origen de la acci&oacute;n.</li>
403
  <li>Modo orto: Similar al rastreo polar, pero con la diferencia de
404
que el modo orto ajusta siempre mientras que el rastreo polar ajusta
405
s&oacute;lo cuando el puntero del rat&oacute;n est&aacute;
406
pr&oacute;ximo a las dos lineas comentadas.</li>
407
  <li>Rastreo de referencia a objetos: Cuando el usuario se queda en el
408
area de snap de un punto un determinado tiempo sin salir de ella, dicho
409
punto queda seleccionado de forma que se ajustar&aacute; la
410
posici&oacute;n del rat&oacute;n
411
a las rectas horizontal y vertical que pasan por dicho punto.</li>
412
</ul>
413
&nbsp;&nbsp;&nbsp; Para soportar todo lo anterior las capas vectoriales
414
FLyrVect
415
dibujar&aacute;n la capa en edici&oacute;n (y no la capa original)
416
cuando se
417
ponen en estado de edici&oacute;n.<br>
418
<br>
419
<big>3.2 Interfaz del editor</big><br>
420
<span style="font-size: 11pt; line-height: 150%;"></span><!--[if !supportLists]--><!--[if !supportLists]--><!--[if !supportLists]-->&nbsp;&nbsp;&nbsp;
421
La interfaz del editor ser&aacute; un MapControl m&aacute;s una consola
422
de edici&oacute;n interactiva. Dicha consola deber&aacute; de tener las
423
siguientes caracter&iacute;sticas:<br>
424
<ul>
425
  <li>Hist&oacute;rico de introducciones del usuario <br>
426
  </li>
427
  <li>Tener el foco impl&iacute;citamente siempre</li>
428
  <li>Aspectos usuales de toda consola</li>
429
</ul>
430
<br>
431
</body>
432
</html>