Restricciones de carril (DJ)

Los carriles son áreas rectangulares perpendiculares a los niveles.
  • Si la dirección del flujo de los enlaces es hacia abajo o hacia arriba, los niveles son filas horizontales y los carriles son columnas verticales.
  • Si la dirección del flujo de los enlaces es hacia la izquierda o hacia la derecha, los niveles son columnas verticales y los carriles son filas horizontales.
Puede utilizar carriles si los nodos se dividen en grupos, para indicar qué nodos pertenecen a un grupo determinado. Los nodos del mismo carril se colocan de forma que es posible dibujar un rectángulo alrededor de ellos. Los carriles le permiten organizar el gráfico como si fuera una tabla. Por ejemplo, puede tener un diagrama de flujo de trabajo cuyos nodos representen acciones; los carriles pueden representar los departamentos que realizan estas acciones. Cada nodo puede pertenecer sólo a un carril.
Nota
Cuando se utiliza el diseño jerárquico para presentar nodos y enlaces en un componente Diagram que contiene objetos de tipo carril (instancias de (ibm_ilog.graphlayout.Swimlane), se crean automáticamente instancias de HierarchicalSwimLaneConstraint para colocar los objetos hijo de los carriles en el mismo carril y para establecer el tamaño correcto de los carriles.
Para asignar un grupo de nodos a un carril:
Llame a:
layout.addConstraint(new ibm_ilog.graphlayout.hierarchical.HierarchicalSwimLaneConstraint(new ibm_ilog.graphlayout.hierarchical.HierarchicalGroup(nodeArray)));
Todos los nodos del vector de nodos se colocan en el mismo rectángulo del carril. Si un gráfico tiene muchos rectángulos de carriles, el orden relativo de estos carriles se determina automáticamente. El tamaño del rectángulo del carril depende de los nodos que pertenecen al carril. Sin embargo, puede especificar el orden relativo, el tamaño relativo y los márgenes del carril utilizando el constructor:
new ibm_ilog.graphlayout.hierarchical. HierarchicalSwimLaneConstraint(group, relSize, posIndex , westMargin, eastMargin);)
Ejemplo
que muestra tres carriles verticales
Carriles
El tamaño relativo indica lo grande que es este carril comparado con los otros carriles. Supongamos que la dirección del flujo es hacia abajo. En este caso, el tamaño relativo indica el ancho del carril. Todos los carriles que tienen el mismo tamaño relativo tienen el mismo ancho. Un carril con un tamaño relativo que sea dos veces el valor de otro carril será el doble de ancho que los otros carriles. El número real de este parámetro no importa, sólo lo grande que es el valor comparado con los otros carriles. Si no desea restringir el tamaño del carril, establezca el valor en 0. En este caso, el ancho del carril es independiente de los otros carriles.
El margen mínimo es el margen del carril en coordenadas absolutas. Si la dirección del flujo es hacia abajo, entonces, el margen mínimo oeste es la distancia horizontal mínima entre el nodo de más a la izquierda del carril y el borde izquierdo del carril, y el margen mínimo este es la distancia horizontal mínima entre el nodo de más a la derecha del carril y el borde derecho del carril.
El índice de posición indica el orden de los carriles. Al igual que los nodos tienen índices de posición, los carriles se colocan de forma secuencial en las posiciones relativas numeradas de 0 a n. En un diseño de arriba abajo, el carril con la posición 0 es el carril de más a la izquierda, y los carriles con los índices de posición más altos se colocan más a la derecha. Si los carriles tienen el índice de posición -1, el algoritmo de diseño determina la posición adecuada automáticamente.
Una restricción de carril siempre se evalúa, aunque esté habilitada la modalidad incremental. La restricción tiene una prioridad mayor que la restricción de posición relativa y la restricción de uno junto al otro. Puede especificar restricciones de uno junto al otro para un grupo de nodos que pertenecen al mismo carril, pero se hará caso omiso de las restricciones de uno junto al otro de nodos de carriles distintos. Puede especificar restricciones de posición relativa entre nodos del mismo carril. También puede especificar restricciones de posición relativa entre un grupo de carriles y otro grupo de carriles lo que, de hecho, ordena los carriles. Pero las restricciones de posición relativa se pasarían por alto si hiciera falta separar los carriles. La restricción de carril domina a los índices de posición especificados y las restricciones de extremo, es decir, que si se utiliza una restricción de carril, no se pueden especificar índices de posición ni restricciones de extremo este u oeste para un nodo.
Sugerencia
La resolución automática de conflictos puede manejar restricciones que entran en conflicto. Sin embargo, para acelerar la velocidad del diseño, se recomienda especificar restricciones de modo que no haya conflictos.