25.10.2014 Views

Tesis Simulador Circuitos 3D.pdf - Maestría en Ciencias de la ...

Tesis Simulador Circuitos 3D.pdf - Maestría en Ciencias de la ...

Tesis Simulador Circuitos 3D.pdf - Maestría en Ciencias de la ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

cursor.removeEv<strong>en</strong>tList<strong>en</strong>er(Ev<strong>en</strong>t.ENTER_FRAME, <strong>de</strong>sp<strong>la</strong>zarX);<br />

// Comunica "coord<strong>en</strong>adaX" a vista <strong>en</strong> <strong>3D</strong><br />

cursorRespuestaFrecu<strong>en</strong>cia.actualiza_CoordX_CURSOR(coord<strong>en</strong>adaX);<br />

}<br />

public function <strong>de</strong>sp<strong>la</strong>zarX(e:Ev<strong>en</strong>t):void {<br />

cursor.y = 0;<br />

}<br />

if (cursor.x < 0) {<br />

cursor.x = 0;<br />

cursor.stopDrag();<br />

}<br />

if (cursor.x > ancho_Grafica-1) {<br />

cursor.x = ancho_Grafica-1;<br />

cursor.stopDrag();<br />

cursor.removeEv<strong>en</strong>tList<strong>en</strong>er(Ev<strong>en</strong>t.ENTER_FRAME, <strong>de</strong>sp<strong>la</strong>zarX);<br />

} else {<br />

actualizar();<br />

conectar_Cursores();<br />

}<br />

private function actualizar():void {<br />

// -----------------------------------------------------------<br />

// Actualizacion <strong>de</strong> datos <strong>de</strong> "magnitud" o "fase"<br />

// -----------------------------------------------------------<br />

coord<strong>en</strong>adaX = Math.round(cursor.x);<br />

marcador.y = datosY_marcador[coord<strong>en</strong>adaX];<br />

}<br />

// --- Actualiza <strong>de</strong>spliegue <strong>de</strong> datos -------------------<br />

if (datosX[coord<strong>en</strong>adaX] > 1) {<br />

// --- Frecu<strong>en</strong>cia > 1 Hz ---<br />

frecu<strong>en</strong>cia = Math.round(datosX[coord<strong>en</strong>adaX]*100)/100;<br />

} else {<br />

// --- Frecu<strong>en</strong>cia < 1 Hz ---<br />

frecu<strong>en</strong>cia = Math.round(datosX[coord<strong>en</strong>adaX]*10000)/10000;<br />

}<br />

actualiza_Texto(datosY[coord<strong>en</strong>adaX],frecu<strong>en</strong>cia);<br />

posiciona_Cajas_Texto();<br />

public function posiciona_Cajas_Texto():void {<br />

// -----------------------------------------------------------<br />

// Posiciona "cajas <strong>de</strong> texto" <strong>en</strong> forma dinamica d<strong>en</strong>tro <strong>de</strong>l<br />

// area <strong>de</strong> graficacion <strong>de</strong> <strong>la</strong> "magnitud" o "fase"<br />

// -----------------------------------------------------------<br />

if (cursor.x >= 0) {<br />

if (cursor.x < ancho_Grafica - ancho_Caja_Texto - 30) {<br />

texto.x = cursor.x + 25;<br />

if (marcador.y > alto_Caja_Texto + 15) {<br />

texto.y = marcador.y - alto_Caja_Texto - 10;<br />

} else {<br />

54

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

Saved successfully!

Ooh no, something went wrong!