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álisis CAD</title> |
7 |
</head>
|
8 |
<body>
|
9 |
<big><big><big>Aná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í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> Los |
16 |
ficheros de CAD se van a abrir mediante una capa colección (a
|
17 |
partir de ahora <span style="font-weight: bold;">capa CAD</span>) de |
18 |
la cual colgará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ón, aparece el concepto de capa activa que es distinto al
|
22 |
concepto de capa activa mantenido en FMap. Utilizaremos el |
23 |
término <span style="font-weight: bold;">capa en edición</span> |
24 |
para referirnos a la capa interna CAD sobre la que se insertarán
|
25 |
las geometrías dibujadas durante la edición y el |
26 |
té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ó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ón. En ese instante, una de las capas internas
|
32 |
CAD (usualmente la capa cero) se pondrá como capa en
|
33 |
edición y no podremos poner como capa en edición ninguna |
34 |
capa que no pertenezca a la capa que estamos editando.<br>
|
35 |
<br>
|
36 |
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á implementado</li> |
41 |
<li>En edición: Cuando se pone en edición una capa CAD, |
42 |
sólo una de sus capas internas CAD estará en |
43 |
edición.</li> |
44 |
<li>Bloqueada: No se permite la edició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ías<br> |
53 |
</small></big></big></big> Las geometrías de |
54 |
CAD serán como las geometrías de FMap pero con algunas |
55 |
características adicionales ya que deberán de tener un |
56 |
color (permitiéndose los valores típicos de un campo de |
57 |
color más los valores "por capa" y "por bloque") y un tipo de
|
58 |
linea asociado. Además, para la realización del snapping, |
59 |
toda geometría deberá 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á de devolver los
|
62 |
puntos sobre los que se situarán handlers para la
|
63 |
modificación de los mismos.<br> |
64 |
<br>
|
65 |
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: "Times New Roman"; 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á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: "times new roman";">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ón</span> </li> |
90 |
<li><span style="font-size: 11pt; line-height: 150%;">Punto |
91 |
intersecció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 |
Distinguimos dos tipos de geometrías, las |
96 |
simples y las complejas. La manera de utilizar geometrías
|
97 |
complejas será mediante una geometría especial que sea |
98 |
una colección de geometrías. Algunas de las |
99 |
geometrías simples pueden dibujarse especificando distintas
|
100 |
coordenadas y todas pueden dibujarse mediante el uso del ratón y
|
101 |
mediante el uso de la consola. Tenemos la siguiente |
102 |
clasificación de geometrías junto con sus distintos |
103 |
mé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: "Courier New";"><span |
108 |
style=""></span></span></p> |
109 |
<ul>
|
110 |
<li> <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: "Courier New";"><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: "Courier New";"><span |
120 |
style=""></span></span><span |
121 |
style="font-size: 11pt; line-height: 150%;">Línea. </span><span |
122 |
style="font-size: 11pt; line-height: 150%;">Permite |
123 |
dibujar una lí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ón (ángulo).</span> </li> |
131 |
<li><span |
132 |
style="font-size: 10pt; line-height: 150%; font-family: "Courier New";"><span |
133 |
style=""><span |
134 |
style="font-family: "Times New Roman"; 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ón de un círculo. Se define mediante tres |
138 |
puntos. Hay varios |
139 |
métodos para dibujar un cí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 |
ángulo incluí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ó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, ángulo.</span></li> |
175 |
</ul>
|
176 |
<li><span |
177 |
style="font-size: 10pt; line-height: 150%; font-family: "Courier New";"><span |
178 |
style=""><span |
179 |
style="font-family: "Times New Roman"; 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: "times new roman";">C</span>írculo. </span><span |
182 |
style="font-size: 11pt; line-height: 150%;">Se |
183 |
especifica mediante cualquiera de los siguientes mé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á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: "Times New Roman"; 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: "Times New Roman"; 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írculo.</span></li> |
214 |
</ul>
|
215 |
<li><span |
216 |
style="font-size: 10pt; line-height: 150%; font-family: "Courier New";"><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é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ó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ó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: "Courier New";"><span |
245 |
style=""></span></span> |
246 |
<ul style="margin-left: 40px;"> |
247 |
<li><span style="font-size: 11pt; line-height: 150%;">Polilínea. |
248 |
</span><span style="font-size: 11pt; line-height: 150%;">Es |
249 |
una entidad formada por un conjunto de líneas y/o arcos.</span> </li> |
250 |
<li><span style="font-size: 11pt; line-height: 150%;">Rectángulo. |
251 |
</span><span style="font-size: 11pt; line-height: 150%;">Se |
252 |
dibuja un rectángulo especificando sus esquinas opuestas. Por
|
253 |
defecto se dibuja |
254 |
paralelo a la alineación del grill. Debe permitir la
|
255 |
opción de dibujar un
|
256 |
cuadrado.</span> </li> |
257 |
<li><span style="font-size: 11pt; line-height: 150%;">Dibujar |
258 |
polígonos.</span><span |
259 |
style="font-size: 11pt; line-height: 150%;"> Están compuestos |
260 |
por un mínimo de 3 lados de igual longitud (en otros
|
261 |
programas de CAD tienen un máximo de alrededor de 1000 lados).
|
262 |
Métodos para
|
263 |
dibujar un polígono:</span> </li> |
264 |
<ul>
|
265 |
<li><span style="font-size: 11pt; line-height: 150%;">Centro y |
266 |
distancia del centro a cada vértice.</span> </li> |
267 |
<li><span style="font-size: 11pt; line-height: 150%;">Centro y |
268 |
vértice (se especifica la ubicación de un vé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ón de Tolerancia, que
|
278 |
determina con |
279 |
cuanta precisió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 única.
|
285 |
Las operaciones |
286 |
con bloques má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> |
298 |
El editor de geometrías se dispondrá 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ñadan las geometrías desde |
301 |
la consola o mediante el uso del ratón, la ejecución de |
302 |
las acciones pase siempre por los mismos métodos del modelo.
|
303 |
Para entender este apartado conviene estar mínimamente
|
304 |
familiarizado con la interfaz gráfica de AutoCAD 2004 o
|
305 |
similares.<br>
|
306 |
<small><br> |
307 |
</small><big>3.1 Modelo del editor</big><br> |
308 |
El modelo del editor tendrá una herramienta |
309 |
seleccionada mediante la cual operará con las geometrías |
310 |
de las capas internas CAD (la capa interna CAD en edición si la
|
311 |
herramienta es de dibujo). Las herramientas de edición
|
312 |
constarán de dos partes a nivel conceptual: <br> |
313 |
<ul>
|
314 |
<li>la parte del comportamiento que toma los parámetros</li> |
315 |
<li>el resultado producido por estos. <br> |
316 |
</li>
|
317 |
</ul>
|
318 |
Por ejemplo, en la herramienta a nivel de interfaz |
319 |
que dibuja un círculo, la opción de especificar 3 puntos, |
320 |
centro y radio, etc y la posterior secuencia de puntos que se pide |
321 |
sería su comportamiento mientras que el circulo insertado en la
|
322 |
capa interna CAD sería el resultado de la herramienta.<br> |
323 |
<br>
|
324 |
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ómata de estados finitos por cuyos estados nos iremos
|
328 |
desplazando durante la introducción de datos. Por ejemplo, el
|
329 |
diagrama de estados finitos de la herramienta círculo
|
330 |
sería el siguiente (TODO poner el diagrama) (para el AutoCAD
|
331 |
2004):<br>
|
332 |
<br>
|
333 |
<br>
|
334 |
Los estados vendrán identificados por un |
335 |
número entero, mientras que las transiciones serán |
336 |
strings correspondiéndose al texto que hay que escribir en la
|
337 |
consola de edición o textos especiales indicando eventos de
|
338 |
ratón: "MOUSEPRESSED", ...<br> |
339 |
<br>
|
340 |
La edición de CAD se realizará 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ál es o
|
345 |
cuáles son las geometrías seleccionadas, recibiendo un |
346 |
objeto sobre el que dibujarán en el que ya están |
347 |
dibujadas las geometrías del fichero en edición. Para |
348 |
emplear herramientas de CAD utilizaremos pues una herramienta especial |
349 |
CADToolAdapter que capturará los eventos del ratón, |
350 |
transformándolos en eventos de transición entre estados |
351 |
para la herramienta de CAD seleccionada. El CADToolAdapter |
352 |
deberá de dibujar la capa en edición y luego delegar el |
353 |
dibujado en la herramienta CAD seleccionada. Resumiendo, la herramienta |
354 |
CADToolAdapter servirá 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 |
Las funciones del CADToolAdapter será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á en edición.</li> |
364 |
<li>Mantener la selección actual de la fuente de datos |
365 |
editable.</li>
|
366 |
<li>Traducir los eventos de rató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ón actual del ratón sea cual sea el |
372 |
estado de la herramienta seleccionada.</li>
|
373 |
<li>Obtener el punto de rastreo para la posición actual del |
374 |
ratón si está 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 |
Para realizar el snapping, se deben de introducir en |
384 |
un índice espacial, los puntos de snapping de todas las
|
385 |
geometrías, además de que deben mantenerse actualizados |
386 |
dichos índices. Esto quiere decir que si se modifica una
|
387 |
geometría se deberán de eliminar los puntos de la |
388 |
geometría antes de la modificación e insertar los puntos |
389 |
de la geometría tras la modificación. Ademá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ás de que el efecto del snapping puede dibujarse de distinta
|
393 |
manera en función del tipo de punto por lo que el tipo de punto
|
394 |
deberá ser retornado por las geometrías y almacenado en |
395 |
el índice espacial junto con el punto en sí. <br> |
396 |
<br>
|
397 |
Similar al snapping por puntos están los |
398 |
siguientes ajustes:<br>
|
399 |
<ul>
|
400 |
<li>Rastreo polar: Se ajusta la posición actual del |
401 |
ratón a las rectas horizontal y vertical que pasan por el punto
|
402 |
origen de la acció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ólo cuando el puntero del ratón está |
406 |
pró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á la
|
410 |
posición del ratón |
411 |
a las rectas horizontal y vertical que pasan por dicho punto.</li>
|
412 |
</ul>
|
413 |
Para soportar todo lo anterior las capas vectoriales |
414 |
FLyrVect |
415 |
dibujarán la capa en edición (y no la capa original) |
416 |
cuando se |
417 |
ponen en estado de edició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]--> |
421 |
La interfaz del editor será un MapControl más una consola |
422 |
de edición interactiva. Dicha consola deberá de tener las |
423 |
siguientes características:<br> |
424 |
<ul>
|
425 |
<li>Histórico de introducciones del usuario <br> |
426 |
</li>
|
427 |
<li>Tener el foco implícitamente siempre</li> |
428 |
<li>Aspectos usuales de toda consola</li> |
429 |
</ul>
|
430 |
<br>
|
431 |
</body>
|
432 |
</html>
|