-   
- ///detectar si dos segmentos se cruzan. 
- /// Dados dos segmentos PQ UW podemos detectar si se cruzan. El proceso que uso 
- /// es: para cada recta formada por dos puntos, detecto la interseccion de las rectas 
- /// Si intersectan, checkeo que el punto de interseccion pertencece a los segmentos especificados 
- bool detectarCruce(stPosicion P, stPosicion Q, stPosicion U, stPosicion W){ 
-   float m1, m2; 
-   float k1, k2; 
-   float Xc, Yc; 
-   ////////////////////////////////////////////////////////////////////////// 
-   // para PQ, buscar la pendiente 
-   // evitar divisiones por cero 
-   if ((Q.x - P.x) != 0){ 
-     // como la ecuacion de la recta es y = mx*k, necesito los valores de m y k 
-     m1 = (Q.y - P.y )/(Q.x - P.x); 
-     k1 = P.y - m1*P.x; 
-   
-   }else{ 
-     m1 = FLT_MAX; 
-     if (P.x > 0) 
-       k1 = -FLT_MAX; 
-     else 
-       k1 = FLT_MAX; 
-   } 
-    
-   ////////////////////////////////////////////////////////////////////////// 
-   // para UW, buscar la pendiente 
-   // evitar divisiones por cero 
-   if ((W.x - U.x) != 0){ 
-     // como la ecuacion de la recta es y = mx*k, necesito los valores de m y k 
-     m2 = (W.y - U.y)/(W.x - U.x); 
-     k2 = U.y - m2*U.x; 
-   
-   }else{ 
-     m2 = FLT_MAX; 
-     if (U.x > 0) 
-       k2 = -FLT_MAX; 
-     else 
-       k2 = FLT_MAX; 
-   } 
-    
-   // si m1 y m2 son iguales (si las pendientes son iguales), entonces las  
-   // rectas son paralelas. Como el bounding box es algo mas grande que el objeto, 
-   // para evitar calculos, no considero el hecho de calcular si dos rectas paralelas 
-   // son o no la misma 
-   if (m1 == m2){ 
-       return false; 
-   } 
-   
-   // Con las variables previamente aisladas (por eficiencia), hallo el punto de cruce 
-   // de las rectas que contienen el segmento 
-   Xc = (k2 - k1)/(m1 - m2); 
-   Yc = (k2*m1 - k1*m2)/(m1 - m2); 
-   /* 
-   cout << "Punto 1: "<<P.x <<","<<P.y<<endl; 
-   cout << "Punto 2: "<<Q.x <<","<<Q.y<<endl; 
-   cout << "Punto 3: "<<U.x <<","<<U.y<<endl; 
-   cout << "Punto 4: "<<W.x <<","<<W.y<<endl; 
-   cout << "el punto de cruce es "<<Xc<<","<<Yc<<endl; 
-   */ 
-   // comprobar si los puntos de cruce estan dentro de los segmentos 
-   if (!(_valorEntre(P.x,Q.x,Xc))){ 
-     return false; 
-   } 
-   if (!(_valorEntre(P.y,Q.y,Yc))){ 
-     return false; 
-   } 
-   if (!(_valorEntre(U.x,W.x,Xc))){ 
-     return false; 
-   } 
-   if (!(_valorEntre(U.y,W.y,Yc))){ 
-     return false; 
-   } 
-   //int a = 3; 
-   //printf("assas"); 
-   //cout << "Detectado clipping" << endl; 
-   return true; 
- } 
-   
-