]> git.llucax.com Git - z.facultad/75.07/algowars.git/blob - doc/ref/cVector.html
Import inicial después del "/var incident". :(
[z.facultad/75.07/algowars.git] / doc / ref / cVector.html
1 <HTML>\r
2 <H2>Class: cVector</H2>\r
3 <pre> <A HREF=cObjeto.html>cObjeto</A> ----+\r                                  |\r                         <A HREF=cObjetoPersistente.html>cObjetoPersistente</A> ----+\r                                                |\r                                             cVector\r</pre><hr>\r
4 <B>Description:</B><BR>La clase cVector es la implementación de un vector físico. Esta clase es el esqueleto de\r
5       la aplicación ya que todas las velocidades y posiciones son del tipo cVector.\r
6       Todos los calculos de movimientos, distancias, etc. se manejan con los metodos de esta clase\r
7 <p><B>Unit:</B><BR><A HREF=Vectores.html>Vectores</A>\r
8 <code>   <A HREF=Vectores.pas>(Vectores.pas)</code></A><BR><BR>\r
9 <p><B>Constructors:</B><BR>\r
10 <dl>\r
11 <dt>\r
12 <IMG SRC=public.gif>\r
13 <A HREF="cVector.html#0">constructor create( v: cVector ); overload;</A><BR>\r
14 </dt>\r
15 <dd>\r
16 Constructor que copia los atributos de un Vector existente\r
17 </dd>\r
18 <dt>\r
19 <IMG SRC=public.gif>\r
20 <A HREF="cVector.html#1">constructor create( x: tLongitud = 0; y: tLongitud = 0; z: tLongitud = 0 ); overload;</A><BR>\r
21 </dt>\r
22 <dd>\r
23 Constructor\r
24 </dd>\r
25 </dl>\r
26 <p><B>Methods:</B><BR>\r
27 <dl>\r
28 <dt>\r
29 <IMG SRC=public.gif>\r
30 <A HREF="cVector.html#2">function mAddModulo( modulo: tLongitud ): cVector;</A><BR>\r
31 </dt>\r
32 <dd>\r
33 Aumenta (o disminuye si el argumente es negativo) el modulo del vector\r
34 </dd>\r
35 <dt>\r
36 <IMG SRC=public.gif>\r
37 <A HREF="cVector.html#3">function mAddX( x: tLongitud ): cVector;</A><BR>\r
38 </dt>\r
39 <dd>\r
40 Agrega un valor a la componente X\r
41 </dd>\r
42 <dt>\r
43 <IMG SRC=public.gif>\r
44 <A HREF="cVector.html#4">function mAddY( y: tLongitud ): cVector;</A><BR>\r
45 </dt>\r
46 <dd>\r
47 Agrega un valor a la componente Y\r
48 </dd>\r
49 <dt>\r
50 <IMG SRC=public.gif>\r
51 <A HREF="cVector.html#5">function mAddZ( z: tLongitud ): cVector;</A><BR>\r
52 </dt>\r
53 <dd>\r
54 Agrega un valor a la componente Z\r
55 </dd>\r
56 <dt>\r
57 <IMG SRC=public.gif>\r
58 <A HREF="cVector.html#6">procedure mDesSerializar( str: string ); override;</A><BR>\r
59 </dt>\r
60 <dd>\r
61 Recrea el objeto a partir de una cadena de texto con el objeto\r
62           serializado.\r
63 </dd>\r
64 <dt>\r
65 <IMG SRC=public.gif>\r
66 <A HREF="cVector.html#7">function mGetDebugInfo( debugLevel: tDebugInfo = DI_MINI ): string; override;</A><BR>\r
67 </dt>\r
68 <dd>\r
69 Método heredado que devuelve un string con el estado del Objeto. Se utiliza para depurar\r
70           y la información entregada depende del parámetro tDebugInfo.\r
71 </dd>\r
72 <dt>\r
73 <IMG SRC=public.gif>\r
74 <A HREF="cVector.html#8">function mGetDistancia( vec: cVector ): tLongitud;</A><BR>\r
75 </dt>\r
76 <dd>\r
77 Obtiene la distancia al a otro vector\r
78 </dd>\r
79 <dt>\r
80 <IMG SRC=public.gif>\r
81 <A HREF="cVector.html#9">function mGetModulo: tLongitud;</A><BR>\r
82 </dt>\r
83 <dd>\r
84 Obtiene el modulo del vector\r
85 </dd>\r
86 <dt>\r
87 <IMG SRC=public.gif>\r
88 <A HREF="cVector.html#10">function mGetX: tLongitud;</A><BR>\r
89 </dt>\r
90 <dd>\r
91 Obtiene la componente X\r
92 </dd>\r
93 <dt>\r
94 <IMG SRC=public.gif>\r
95 <A HREF="cVector.html#11">function mGetY: tLongitud;</A><BR>\r
96 </dt>\r
97 <dd>\r
98 Obtiene la componente Y\r
99 </dd>\r
100 <dt>\r
101 <IMG SRC=public.gif>\r
102 <A HREF="cVector.html#12">function mGetZ: tLongitud;</A><BR>\r
103 </dt>\r
104 <dd>\r
105 Obtiene la componente Z\r
106 </dd>\r
107 <dt>\r
108 <IMG SRC=public.gif>\r
109 <A HREF="cVector.html#13">function mHacerVersor: cVector;</A><BR>\r
110 </dt>\r
111 <dd>\r
112 Convierte el vector en un versor (norma 1)\r
113 </dd>\r
114 <dt>\r
115 <IMG SRC=public.gif>\r
116 <A HREF="cVector.html#14">function mModificarCon( vel: cVector; dT: tTiempo ): cVector;</A><BR>\r
117 </dt>\r
118 <dd>\r
119 Modifica el vector con basandose en otro vector (pensado como velocidad) y un\r
120           intervalo de tiempo siguiendo la formula física X' = X + V * dt\r
121           (este metodo esta pensado basicamente para calcular los movimientos)\r
122 </dd>\r
123 <dt>\r
124 <IMG SRC=public.gif>\r
125 <A HREF="cVector.html#15">function mMultiplicar( vec: cVector ): cVector; overload;</A><BR>\r
126 </dt>\r
127 <dd>\r
128 Se multiplica vectorialmente a si mismo por el vector vec\r
129 </dd>\r
130 <dt>\r
131 <IMG SRC=public.gif>\r
132 <A HREF="cVector.html#16">function mMultiplicar( esc: tLongitud ): cVector; overload;</A><BR>\r
133 </dt>\r
134 <dd>\r
135 Se multiplica por un escalar\r
136 </dd>\r
137 <dt>\r
138 <IMG SRC=public.gif>\r
139 <A HREF="cVector.html#17">function mMultiplicarEsc( vec: cVector ): tLongitud;</A><BR>\r
140 </dt>\r
141 <dd>\r
142 Obtiene el producto escalar entre si mismo y el vector vec\r
143 </dd>\r
144 <dt>\r
145 <IMG SRC=public.gif>\r
146 <A HREF="cVector.html#18">function mRestar( vec: cVector ): cVector;</A><BR>\r
147 </dt>\r
148 <dd>\r
149 Resta a si mismo el vector vec\r
150 </dd>\r
151 <dt>\r
152 <IMG SRC=public.gif>\r
153 <A HREF="cVector.html#19">function mSerializar: string; override;</A><BR>\r
154 </dt>\r
155 <dd>\r
156 Devuelve una cadena de texto con el objeto serializado.\r
157 </dd>\r
158 <dt>\r
159 <IMG SRC=public.gif>\r
160 <A HREF="cVector.html#20">function mSet( x, y, z: tLongitud ): cVector; overload;</A><BR>\r
161 </dt>\r
162 <dd>\r
163 Establece los valores del vector x, y, z\r
164 </dd>\r
165 <dt>\r
166 <IMG SRC=public.gif>\r
167 <A HREF="cVector.html#21">function mSet( v: cVector ): cVector; overload;</A><BR>\r
168 </dt>\r
169 <dd>\r
170 Modifica las componentes del vector basandose en otro\r
171 </dd>\r
172 <dt>\r
173 <IMG SRC=public.gif>\r
174 <A HREF="cVector.html#22">function mSetModulo( modulo: tLongitud ): cVector;</A><BR>\r
175 </dt>\r
176 <dd>\r
177 Setea el modulo del vector a un valor determinado\r
178 </dd>\r
179 <dt>\r
180 <IMG SRC=public.gif>\r
181 <A HREF="cVector.html#23">function mSetX( x: tLongitud ): cVector;</A><BR>\r
182 </dt>\r
183 <dd>\r
184 Setea la componente X\r
185 </dd>\r
186 <dt>\r
187 <IMG SRC=public.gif>\r
188 <A HREF="cVector.html#24">function mSetY( y: tLongitud ): cVector;</A><BR>\r
189 </dt>\r
190 <dd>\r
191 Setea la componente Y\r
192 </dd>\r
193 <dt>\r
194 <IMG SRC=public.gif>\r
195 <A HREF="cVector.html#25">function mSetZ( z: tLongitud ): cVector;</A><BR>\r
196 </dt>\r
197 <dd>\r
198 Setea la componente Z\r
199 </dd>\r
200 <dt>\r
201 <IMG SRC=public.gif>\r
202 <A HREF="cVector.html#26">function mSumar( vec: cVector ): cVector;</A><BR>\r
203 </dt>\r
204 <dd>\r
205 Suma a si mismo el vector vec\r
206 </dd>\r
207 </dl>\r
208 <HR>\r
209 <p><IMG SRC=constructors.gif>\r
210 <A NAME="0"></A><P>\r
211 <IMG SRC=public_big.gif>\r
212 <CODE>constructor create( v: cVector ); overload;</CODE>\r
213 <dl>\r
214 <dd>Constructor que copia los atributos de un Vector existente</dd><p>\r
215 </dl></dd></dl><HR>\r
216 <A NAME="1"></A><P>\r
217 <IMG SRC=public_big.gif>\r
218 <CODE>constructor create( x: tLongitud = 0; y: tLongitud = 0; z: tLongitud = 0 ); overload;</CODE>\r
219 <dl>\r
220 <dd>Crea un nuevo vector basandose en los atributos dados como parámetro.\r
221     </dd><dd><B>Parameters</B></dd><dd>&nbsp;&nbsp;&nbsp;<CODE>x </CODE> : Componente en el eje X</dd><dd>&nbsp;&nbsp;&nbsp;<CODE>y </CODE> : Componente en el eje Y</dd><dd>&nbsp;&nbsp;&nbsp;<CODE>z </CODE> : Componente en el eje Z</dd><p>\r
222 </dl></dd></dl><HR>\r
223 <p><IMG SRC=methods.gif>\r
224 <A NAME="2"></A><P>\r
225 <IMG SRC=public_big.gif>\r
226 <CODE>function mAddModulo( modulo: tLongitud ): cVector;</CODE>\r
227 <dl>\r
228 <dd>Setea el modulo del vector a un valor determinado (sólo tiene sentido si el modulo actual es distinto de cero)\r
229     </dd><dd><B>Parameters</B></dd><dd>&nbsp;&nbsp;&nbsp;<CODE>modulo </CODE> : Modulo a adherir al verctor</dd><p>\r
230 </dl></dd></dl><HR>\r
231 <A NAME="3"></A><P>\r
232 <IMG SRC=public_big.gif>\r
233 <CODE>function mAddX( x: tLongitud ): cVector;</CODE>\r
234 <dl>\r
235 <dd>Agrega un valor a la componente X\r
236     </dd><dd><B>Parameters</B></dd><dd>&nbsp;&nbsp;&nbsp;<CODE>x </CODE> : Valor a sumarle a la componente X</dd><p>\r
237 </dl></dd></dl><HR>\r
238 <A NAME="4"></A><P>\r
239 <IMG SRC=public_big.gif>\r
240 <CODE>function mAddY( y: tLongitud ): cVector;</CODE>\r
241 <dl>\r
242 <dd>Agrega un valor a la componente Y\r
243     </dd><dd><B>Parameters</B></dd><dd>&nbsp;&nbsp;&nbsp;<CODE>y </CODE> : Valor a sumarle a la componente Y</dd><p>\r
244 </dl></dd></dl><HR>\r
245 <A NAME="5"></A><P>\r
246 <IMG SRC=public_big.gif>\r
247 <CODE>function mAddZ( z: tLongitud ): cVector;</CODE>\r
248 <dl>\r
249 <dd>Agrega un valor a la componente Z\r
250     </dd><dd><B>Parameters</B></dd><dd>&nbsp;&nbsp;&nbsp;<CODE>z </CODE> : Valor a sumarle a la componente Z</dd><p>\r
251 </dl></dd></dl><HR>\r
252 <A NAME="6"></A><P>\r
253 <IMG SRC=public_big.gif>\r
254 <CODE>procedure mDesSerializar( str: string ); override;</CODE>\r
255 <dl>\r
256 <dd>Recrea el objeto a partir de una cadena de texto con el objeto\r
257     serializado.\r
258     </dd><dd><B>Parameters</B></dd><dd>&nbsp;&nbsp;&nbsp;<CODE>str </CODE> : Cadena de texto con el objeto serializado.</dd><p>\r
259 </dl></dd></dl><HR>\r
260 <A NAME="7"></A><P>\r
261 <IMG SRC=public_big.gif>\r
262 <CODE>function mGetDebugInfo( debugLevel: tDebugInfo = DI_MINI ): string; override;</CODE>\r
263 <dl>\r
264 <dd>Devuelve el estado del objeto basandose en la cantidad de datos requeridos:<br>\r
265     Siempre devuelve los valores de las componentes x, y, z y si debugLevel es mayor que DI_NORMAL,\r
266     también muestra el módulo.\r
267     @return             Cadena de texto con el estado del Objeto.\r
268     </dd><dd><B>Parameters</B></dd><dd>&nbsp;&nbsp;&nbsp;<CODE>debugLevel </CODE> : Cantidad de información requerida</dd><p>\r
269 </dl></dd></dl><HR>\r
270 <A NAME="8"></A><P>\r
271 <IMG SRC=public_big.gif>\r
272 <CODE>function mGetDistancia( vec: cVector ): tLongitud;</CODE>\r
273 <dl>\r
274 <dd>Obtiene la distancia al a otro vector (en realidad se tratan como puntos)\r
275     @returns     Distancia al otro vector\r
276     </dd><dd><B>Parameters</B></dd><dd>&nbsp;&nbsp;&nbsp;<CODE>vec </CODE> : Punto al cual se calcula la distancia</dd><p>\r
277 </dl></dd></dl><HR>\r
278 <A NAME="9"></A><P>\r
279 <IMG SRC=public_big.gif>\r
280 <CODE>function mGetModulo: tLongitud;</CODE>\r
281 <dl>\r
282 <dd></dd><dd><B>Returns</B></dd><dd>&nbsp;&nbsp;&nbsp;Modulo (o norma) del vector</dd><p>\r
283 </dl></dd></dl><HR>\r
284 <A NAME="10"></A><P>\r
285 <IMG SRC=public_big.gif>\r
286 <CODE>function mGetX: tLongitud;</CODE>\r
287 <dl>\r
288 <dd></dd><dd><B>Returns</B></dd><dd>&nbsp;&nbsp;&nbsp;Componente X del vector</dd><p>\r
289 </dl></dd></dl><HR>\r
290 <A NAME="11"></A><P>\r
291 <IMG SRC=public_big.gif>\r
292 <CODE>function mGetY: tLongitud;</CODE>\r
293 <dl>\r
294 <dd></dd><dd><B>Returns</B></dd><dd>&nbsp;&nbsp;&nbsp;Componente Y del vector</dd><p>\r
295 </dl></dd></dl><HR>\r
296 <A NAME="12"></A><P>\r
297 <IMG SRC=public_big.gif>\r
298 <CODE>function mGetZ: tLongitud;</CODE>\r
299 <dl>\r
300 <dd></dd><dd><B>Returns</B></dd><dd>&nbsp;&nbsp;&nbsp;Componente Z del vector</dd><p>\r
301 </dl></dd></dl><HR>\r
302 <A NAME="13"></A><P>\r
303 <IMG SRC=public_big.gif>\r
304 <CODE>function mHacerVersor: cVector;</CODE>\r
305 <dl>\r
306 <dd>Convierte el vector en un versor (sólo tiene sentido si el modulo actual es distinto de cero)</dd><p>\r
307 </dl></dd></dl><HR>\r
308 <A NAME="14"></A><P>\r
309 <IMG SRC=public_big.gif>\r
310 <CODE>function mModificarCon( vel: cVector; dT: tTiempo ): cVector;</CODE>\r
311 <dl>\r
312 <dd>Modifica el vector con basandose en otro vector (pensado como velocidad) y un\r
313     intervalo de tiempo siguiendo la formula física X' = X + V * dt\r
314     (este metodo esta pensado basicamente para calcular los movimientos)\r
315     </dd><dd><B>Parameters</B></dd><dd>&nbsp;&nbsp;&nbsp;<CODE>vel </CODE> : Vector velocidad</dd><dd>&nbsp;&nbsp;&nbsp;<CODE>dT </CODE> :  Intervalo de tiempo</dd><p>\r
316 </dl></dd></dl><HR>\r
317 <A NAME="15"></A><P>\r
318 <IMG SRC=public_big.gif>\r
319 <CODE>function mMultiplicar( vec: cVector ): cVector; overload;</CODE>\r
320 <dl>\r
321 <dd>Se multiplica por un escalar\r
322     </dd><dd><B>Parameters</B></dd><dd>&nbsp;&nbsp;&nbsp;<CODE>esc </CODE> : Escalar por el cual se multiplica</dd><p>\r
323 </dl></dd></dl><HR>\r
324 <A NAME="16"></A><P>\r
325 <IMG SRC=public_big.gif>\r
326 <CODE>function mMultiplicar( esc: tLongitud ): cVector; overload;</CODE>\r
327 <dl>\r
328 <dd>Se multiplica por un escalar</dd><p>\r
329 </dl></dd></dl><HR>\r
330 <A NAME="17"></A><P>\r
331 <IMG SRC=public_big.gif>\r
332 <CODE>function mMultiplicarEsc( vec: cVector ): tLongitud;</CODE>\r
333 <dl>\r
334 <dd>Obtiene el producto escalar entre si mismo y el vector vec\r
335     @return      Producto escalar entre los vectores\r
336     </dd><dd><B>Parameters</B></dd><dd>&nbsp;&nbsp;&nbsp;<CODE>vec </CODE> : Vector por el cual se multiplica escalarmente</dd><p>\r
337 </dl></dd></dl><HR>\r
338 <A NAME="18"></A><P>\r
339 <IMG SRC=public_big.gif>\r
340 <CODE>function mRestar( vec: cVector ): cVector;</CODE>\r
341 <dl>\r
342 <dd>Resta a si mismo el vector vec\r
343     </dd><dd><B>Parameters</B></dd><dd>&nbsp;&nbsp;&nbsp;<CODE>vec </CODE> : Vector que se resta</dd><p>\r
344 </dl></dd></dl><HR>\r
345 <A NAME="19"></A><P>\r
346 <IMG SRC=public_big.gif>\r
347 <CODE>function mSerializar: string; override;</CODE>\r
348 <dl>\r
349 <dd></dd><dd><B>Returns</B></dd><dd>&nbsp;&nbsp;&nbsp;Cadena de texto con el objeto serializado.</dd><p>\r
350 </dl></dd></dl><HR>\r
351 <A NAME="20"></A><P>\r
352 <IMG SRC=public_big.gif>\r
353 <CODE>function mSet( x, y, z: tLongitud ): cVector; overload;</CODE>\r
354 <dl>\r
355 <dd>Establece las componentes del vector\r
356     </dd><dd><B>Parameters</B></dd><dd>&nbsp;&nbsp;&nbsp;<CODE>x </CODE> : Nuevo valor de la componente en el eje X</dd><dd>&nbsp;&nbsp;&nbsp;<CODE>y </CODE> : Nuevo valor de la componente en el eje Y</dd><dd>&nbsp;&nbsp;&nbsp;<CODE>z </CODE> : Nuevo valor de la componente en el eje Z</dd><p>\r
357 </dl></dd></dl><HR>\r
358 <A NAME="21"></A><P>\r
359 <IMG SRC=public_big.gif>\r
360 <CODE>function mSet( v: cVector ): cVector; overload;</CODE>\r
361 <dl>\r
362 <dd>Modifica las componentes del vector basandose en otro</dd><p>\r
363 </dl></dd></dl><HR>\r
364 <A NAME="22"></A><P>\r
365 <IMG SRC=public_big.gif>\r
366 <CODE>function mSetModulo( modulo: tLongitud ): cVector;</CODE>\r
367 <dl>\r
368 <dd>Setea el modulo del vector a un valor determinado\r
369     </dd><dd><B>Parameters</B></dd><dd>&nbsp;&nbsp;&nbsp;<CODE>modulo </CODE> : Valor del nuevo Módulo</dd><p>\r
370 </dl></dd></dl><HR>\r
371 <A NAME="23"></A><P>\r
372 <IMG SRC=public_big.gif>\r
373 <CODE>function mSetX( x: tLongitud ): cVector;</CODE>\r
374 <dl>\r
375 <dd>Setea la componente X\r
376     </dd><dd><B>Parameters</B></dd><dd>&nbsp;&nbsp;&nbsp;<CODE>x </CODE> : Nuevo valor de la componente en el eje X</dd><p>\r
377 </dl></dd></dl><HR>\r
378 <A NAME="24"></A><P>\r
379 <IMG SRC=public_big.gif>\r
380 <CODE>function mSetY( y: tLongitud ): cVector;</CODE>\r
381 <dl>\r
382 <dd>Setea la componente Y\r
383     </dd><dd><B>Parameters</B></dd><dd>&nbsp;&nbsp;&nbsp;<CODE>y </CODE> : Nuevo valor de la componente en el eje Y</dd><p>\r
384 </dl></dd></dl><HR>\r
385 <A NAME="25"></A><P>\r
386 <IMG SRC=public_big.gif>\r
387 <CODE>function mSetZ( z: tLongitud ): cVector;</CODE>\r
388 <dl>\r
389 <dd>Setea la componente Z\r
390     </dd><dd><B>Parameters</B></dd><dd>&nbsp;&nbsp;&nbsp;<CODE>z </CODE> : Nuevo valor de la componente en el eje Z</dd><p>\r
391 </dl></dd></dl><HR>\r
392 <A NAME="26"></A><P>\r
393 <IMG SRC=public_big.gif>\r
394 <CODE>function mSumar( vec: cVector ): cVector;</CODE>\r
395 <dl>\r
396 <dd>Suma a si mismo el vector vec\r
397     </dd><dd><B>Parameters</B></dd><dd>&nbsp;&nbsp;&nbsp;<CODE>vec </CODE> : Vector a sumarle</dd><p>\r
398 </dl></dd></dl><HR>\r
399 </HTML>\r