Describir los puntos de conexión

Sintaxis: <ConnexionList>
    <connexion>
        <type>...</type>
        <position>
            <x>...</x>
            <y>...</y>
        </position>
        <angle>...</angle>
        <angleToPrev>...</angleToPrev>
        <angleToNext>...</angleToNext>
        <nextConnexionPreference>...</nextConnexionPreference>
        <electricPlug>...</electricPlug>
    </connexion>
    ...
</ConnexionList>
Valor por defecto: Por defecto no hay ninguna conexión.
Descripción: Una lista de puntos de conexión. Lo hay límite en la lista y cada punto de conexión tien varios parámetros para ajustar.

El campo type es una id que representa el tipo de conexión. En BlueBrick solo las copnexiones del mismo tipo pueden conectarse entre si. Los dipos disponibles y el color que se emplea para representarlos en BlueBrick se definen en un archivo XML de configuración llamado "ConnectionTypeList.xml" que se encuentra en la carpeta "config" de la carpeta de instalación de BlueBrick. Lea la sección "Tipo de conexión" del archivo de configuración para más detalles.

El campo position contiene las coordenadas de la conexión en unidades de studs, relativo al centro de la pieza. Primero hay que determinar la distancia de tu conector al centro de tu pieza en studs. En el siguiente ejemplo la distancia es de 8 studs en cualquier dirección. No hace falta especificar el centro de la pieza porque BlueBrick hace esto automáticamente. Cuando BlueBrick gira la pieza, es mucho más sencillo y eficiente girarlo sobre su centro. Es por eso que BlueBrick utiliza este sistema para hacer las coordenadas de los puntos de conexión.

Nota que el eje Y va hacia abajo (valores positivos cuanto más abajo). Normalmente es sencillo encontrar el centro de tu pieza basado en la geometría LEGO© de la pieza. Por ejemplo, en el cruce de 9V de arriba es evidente que los 4 puntos de conexión están a 8 studs del centro. Pero si tienes una pieza compleja como las agujas de 9V de abajo, puedes encontrar el centro de la pieza basado en la imagen de la misma. Y luego, desde ese centro puedes calcular las posiciones de los puntos de conexión.


Para calcular el centro de las agujas de 9V, podemos empezar con el tamaño de la imagen de 279x166 píxeles, dividirlo por la escala (1 stud = 8 píxeles) y luego dividirlo entre 2 para llegar al centro.
Xcentro = 279 píxeles / 8 pixeles por stud / 2 = 17,4375 studs
Ycentro = 166 píxeles / 8 píxeles por stud / 2 = 10,375 studs

Estos dos valores son la distancia en studs entre el borde y el centro. Ahora sabes que el punto de conexión izquierdo está a 0,5 ´studs del borde izquierdo y 4 studs del borde inferior, de modo que las coordenadas finales de ese punto de conexión son:
Xizquierda = 0,5 - centerX = 0,5 - 17,4375 = -16,9375
Yizquierda = Ycentro - 4 = 10,375 - 4 = 6,375

Lo mismo sirve para calcular el punto de conexión de la derecha abajo:
XderechaAbajo = 32,5 - Xcentro = 15,0625
YderechaAbajo = Yizquierda = 6,375

Para vías curvas se podía usar un método análogo, pero normalmente se necesita una función trigonométrica para tomar en cuenta el ángulo de giro y el radio de la curva. Por ejemplo, una curva de 9V tiene un radio de 40 studs (significa que si construyes un círculo con curvas de 9V, la distancia entre el centro del círculo y el centro de la vía será de 40 studs).

De modo que para calcular el punto de conexión de la derecha arriba imagina que añades otra curva contraria. Así llegas a un punto con una ubicación que conocemos exactamente, a una distancia de (16, -16) del punto de conexión inferior derecho:
XfinContraCurva = XderechaAbajo + 16 = 15,0625 + 16 = 31,0625
YfinContraCurva = YderechaAbajo - 16 = 6,375 - 16 = -9,625

Y finalmente el punto de conexión de la derecha arriba es:
XsuperiorDerecha = XfinContraCurva - radius * sin(angulo de la curva) = 31,0625 - 40 * sin(22.5°) = 15,7552
YderechaArriba = YfinContraCurva + radius * (1 - cos(angulo de la curva)) = -9,625 + 40 * (1 - cos(22,5°)) = -6,58018

El calculo de la posición es más difícil cuando la pieza no tiene una geometría simple, pero generalmente no revista mayor compliación. El siguiente parámetro el campo angle. Este describe la orientación del punto de conexión en grados comparado con la dirección del borde derecho. Ten cuidado, ya que como el eje Y es invertido en el sistema de coordenadas de las piezas el signo del ángulo es inverso en relación con la dirección trigonométrica.

El campo Angle to Previous y campo Angle to Next son bastante similares a los anteriores parámetros. Indican la diferencia en grados entre este punto de conexión y el anterior o siguiente en la lista. El punto anterior de primer punto es el último punto y el punto siguiente al último es el primero, de modo que obtienes una lista circular. Ten cuidado por tanto si deseas reorganizar el orden de los puntos de conexión ya que habrá que modificar estos parámetros.

Bluebrick usa el orden de los puntos de conexión cuando giras una pieza que está conectada a otra. BlueBrick gira la pieza de modo que conecta al siguiente punto de conexión en la lista. Por supuesto, si una pieza tiene diferentes tipos de puntos de conexión (como un paso a nivel que contiene puntos de conexión de vías y de carreteras), tendrás una lista circular diferente. Hay una lista por cada tipo de punto de conexión.

El campo siguiente conexión preferida es un índice con base 0 que apunta a una conexión en la lista. Este parámetro informa BlueBrick del punto de conexión que debe seleccionar de foema automática despues de que el usuario haya colocado y conectado la pieza. Si miras una recta 9V recta como ejemplo, cuando el usuario conecta esta vía por su punto de conexión izquierdo, quieres que se selecciones el punto de conexión derecho de forma automática para facilitar la conexión de nuevas piezas. Lo mismo aplica si conectas la pieza por el punto de conexión derecho en cuyo caso querrás tener seleccionado el punto izquierdo.

Normalmente una conexión no debe apuntar a si mismo como preferencia (a menos que sea el único punto de conexión de la pieza). De lo contrario acabarás apilado las piezas. En el caso de las agujas 9V, verás que si conectas esta pieza por el punto de conexión izquierdo, el punto de conexión de la derecha abajo se seleccionará y si conectas con cualquiera de los de la derecha se seleccionará el de la izquerda.

<ConnexionList>
+-? <connexion>
¦ +--- <nextConnexionPreference>1</nextConnexionPreference>
¦ ¦ </connexion>
¦ +?<connexion>
+---- <nextConnexionPreference>0</nextConnexionPreference>
¦    </connexion>
¦    <connexion>
+---- <nextConnexionPreference>0</nextConnexionPreference>
      </connexion>
</ConnexionList>

Finalmente, el campo Electric Plug se usa para vías con circuito eléctrico (9V y 12V) de modo que puedes omitirlo en la mayoría de piezas. El campo contiene una integral que puede ser positiva o negativa. Valores diferentes indican circuitos independientes que no están conectados eléctricamente con la la pieza. Por ejemplo, si tomas el cruce de vias 32087 o un pao a nivel con dos vías paralelas, una línea se identificará con los números +1/-1 y la otra con os números +2/-2.

Las conexiones con valores positivos se conectan eléctricamente con conexiones con el mismo valor negativo. Esto significa que un enlace eléctrico +1 se conecta con todas las conexiones con un enlace con -1 y viceversa. Pero un +1 nunca se conectará con un -2 u otro +1. Vea la imagen abajo para un ejemplo.