Parámetros específicos del DC

Parámetro orden (DC)

El parámetro orden especifica cómo se disponen los nodos.
Ejemplo de cómo especificar iteraciones de colocación de nodos y tiempo permitido (algoritmo DC)
Para especificar la opción de ordenación de los nodos:
Utilice el método:
gridLayout.setNodeComparator(ibm_ilog.graphlayout.grid.GridLayout.DESCENDING_HEIGHT); 
El parámetro orden especifica cómo se disponen los nodos.
Los valores válidos para comparator son:
  • ibm_ilog.graphlayout.grid.GridLayout.AUTOMATIC_ORDERING
    El algoritmo puede elegir libremente el orden de forma que intenta reducir el área total ocupada por el diseño.
  • ibm_ilog.graphlayout.grid.GridLayout.NO_ORDERING
    No se realiza ninguna ordenación.
  • ibm_ilog.graphlayout.grid.GridLayout.DESCENDING_HEIGHT
    Los nodos se ordenan por su altura en orden descendente.
  • ibm_ilog.graphlayout.grid.GridLayout.ASCENDING_HEIGHT
    Los nodos se ordenan por su altura en orden ascendente.
  • ibm_ilog.graphlayout.grid.GridLayout.DESCENDING_WIDTH
    Los nodos se ordenan por su anchura en orden descendente.
  • ibm_ilog.graphlayout.grid.GridLayout.ASCENDING_WIDTH
    Los nodos se ordenan por su anchura en orden ascendente.
  • ibm_ilog.graphlayout.grid.GridLayout.DESCENDING_AREA
    Los nodos se ordenan por su área en orden descendente.
  • ibm_ilog.graphlayout.grid.GridLayout.ASCENDING_AREA
    Los nodos se ordenan por su área en orden ascendente.
  • ibm_ilog.graphlayout.grid.GridLayout.ASCENDING_INDEX
    Los nodos se ordenan por su índice en orden ascendente (consulte setIndex).
  • ibm_ilog.graphlayout.grid.GridLayout.DESCENDING_INDEX
    Los nodos se ordenan por su índice en orden descendente (consulte setIndex).
  • null
    Los nodos se ordenan de manera arbitraria.
  • Cualquier objeto con una propiedad compare cuyo valor debe ser una función.
    Los nodos se ordenan de acuerdo con este comparador personalizado.
  • La función compare debe tener la firma siguiente:
    compareFunction (A, B)
    La función de comparación compara dos argumentos. Por ejemplo: dados los dos elementos A y B, compareFunction devuelve uno de los valores siguientes:
    • -1
      La función devuelve A antes que B en la secuencia de ordenación.
    • 0
      A es igual a B.
    • 1
      La función devuelve A después de B en la secuencia de ordenación.
El valor predeterminado es ibm_ilog.graphlayout.grid.GridLayout.AUTOMATIC_ORDERING.
En la modalidad incremental (consulte setIncrementalMode) y con nodos fijos (consulte setFixed), el orden de los nodos no se conserva completamente.
Si la modalidad de diseño es TILE_TO_GRID_FIXED_WIDTH o TILE_TO_GRID_FIXED_HEIGHT, las opciones de orden se aplican sólo para nodos cuyo tamaño (incluidos los márgenes) es menor que el tamaño de celda de la cuadrícula (consulte setHorizontalGridOffset y setVerticalGridOffset).

Modalidades de diseño (DC)

El algoritmo Diseño de cuadrícula tiene cuatro modalidades de diseño.
Ejemplo de cómo seleccionar una modalidad de diseño (algoritmo DC)
Para seleccionar una modalidad de diseño:
Utilice el método:
gridLayout.setLayoutMode(ibm_ilog.graphlayout.grid.GridLayout.TILE_TO_GRID_FIXED_HEIGHT);  
Los valores válidos para mode son:
  • ibm_ilog.graphlayout.grid.GridLayout.TILE_TO_GRID_FIXED_WIDTH (valor predeterminado)
    Los nodos de colocan en las celdas de una cuadrícula (matriz) que tiene un número máximo fijo de columnas. Este número es igual a la anchura del parámetro región de diseño dividida por el desplazamiento horizontal de la cuadrícula.
  • ibm_ilog.graphlayout.grid.GridLayout.TILE_TO_GRID_FIXED_HEIGHT
    Los nodos de colocan en las celdas de una cuadrícula (matriz) que tiene un número máximo fijo de filas. Este número es igual a la altura del parámetro región de diseño dividida por el desplazamiento vertical de la cuadrícula.
  • ibm_ilog.graphlayout.grid.GridLayout.TILE_TO_ROWS
    Los nodos se colocan en filas. El ancho máximo de las filas es igual a la anchura del parámetro región de diseño. La altura de la fila es la altura máxima de los nodos que contiene la fila (más los márgenes).
  • ibm_ilog.graphlayout.grid.GridLayout.TILE_TO_COLUMNS
    Los nodos se colocan en columnas. La altura máxima de las columnas es igual a la altura del parámetro región de diseño. El ancho de la columna es la anchura máxima de los nodos que contiene la columna (más los márgenes).

Parámetros de alineación (DC)

Parámetros de alineación globales

Las opciones de alineación controlan el modo en que se coloca un nodo en la celda de la cuadrícula, fila o columna (según la modalidad de diseño). La alineación se puede establecer de forma global, en cuyo caso todos los nodos están alineados de la misma manera, o de forma local para cada nodo, lo que da lugar a que se produzcan alineaciones diferentes en el mismo dibujo.
Ejemplo de cómo establecer la alineación global (algoritmo DC)
Para establecer la alineación global:
Utilice los métodos siguientes:
gridLayout.setGlobalHorizontalAlignment(ibm_ilog.graphlayout.grid.GridLayout.LEFT);
gridLayout.setGlobalVerticalAlignment(ibm_ilog.graphlayout.grid.GridLayout.TOP);
Los valores válidos para el parámetro de alineación son:
  • ibm_ilog.graphlayout.grid.GridLayout.CENTER (valor predeterminado)
    El nodo está centrado horizontal y verticalmente en la celda de la cuadrícula, fila o columna.
  • ibm_ilog.graphlayout.grid.GridLayout.TOP
    El nodo está alineado verticalmente en la parte superior de la celda o fila. No se utiliza si la modalidad de diseño es TILE_TO_COLUMNS.
  • ibm_ilog.graphlayout.grid.GridLayout.BOTTOM
    El nodo está alineado verticalmente en la parte inferior de la celda de la cuadrícula o fila. No se utiliza si la modalidad de diseño es TILE_TO_COLUMNS.
  • ibm_ilog.graphlayout.grid.GridLayout.LEFT
    El nodo está alineado horizontalmente a la izquierda de la celda de la cuadrícula o columna. No se utiliza si la modalidad de diseño es TILE_TO_ROWS.
  • ibm_ilog.graphlayout.grid.GridLayout.RIGHT
    El nodo está alineado horizontalmente a la derecha de la celda de la cuadrícula o columna. No se utiliza si la modalidad de diseño es TILE_TO_ROWS.
  • ibm_ilog.graphlayout.grid.GridLayout.MIXED
    Cada nodo puede tener una alineación diferente. Se puede establecer la alineación de cada nodo individual; el resultado es que en el mismo gráfico pueden darse diferentes alineaciones.

Alineación de nodos individuales

Todos los nodos tienen la misma alineación a menos que la alineación global se establezca en ibm_ilog.graphlayout.grid.GridLayout.MIXED. Sólo si la alineación global se establece en mixta, cada nodo tiene un estilo de alineación individual.
Ejemplo de cómo establecer la alineación de nodos individuales (algoritmo DC)
Para establecer y recuperar la alineación de un nodo individual:
Utilice los métodos siguientes:
setHorizontalAlignment(node, alignment);  
setVerticalAlignment(node, alignment);   
getHorizontalAlignment(node);   
getVerticalAlignment(node);   
Los valores válidos para el parámetro de alineación son:
  • ibm_ilog.graphlayout.grid.GridLayout.CENTER (valor predeterminado)
  • ibm_ilog.graphlayout.grid.GridLayout.TOP
  • ibm_ilog.graphlayout.grid.GridLayout.BOTTOM
  • ibm_ilog.graphlayout.grid.GridLayout.LEFT
  • ibm_ilog.graphlayout.grid.GridLayout.RIGHT

Número máximo de nodos por fila o columna (DC)

De forma predeterminada, en las modalidades ibm_ilog.graphlayout.grid.GridLayout.TILE_TO_ROWS o ibm_ilog.graphlayout.grid.GridLayout.TILE_TO_COLUMNS, el diseño coloca tantos nodos en cada fila o columna como puede, dependiendo del tamaño de los nodos y los parámetros dimensionales (región de diseño y márgenes). En caso necesario, el diseño también puede respetar un número máximo de nodos especificado por fila o columna.
Ejemplo de cómo especificar el número máximo de nodos por fila o columna (algoritmo DC)
Para establecer el número máximo de nodos por fila o columna:
Utilice el método:
gridLayout.setMaxNumberOfNodesPerRowOrColumn(5);  
El valor predeterminado es int.MAX_VALUE, es decir, el número de nodos colocados en cada fila o columna está limitado únicamente por el tamaño de los nodos y los parámetros dimensionales. El valor especificado debe ser como mínimo 1. El parámetro no surte efecto si la modalidad de diseño es ibm_ilog.graphlayout.grid.GridLayout.TILE_TO_GRID_FIXED_WIDTH o ibm_ilog.graphlayout.grid.GridLayout.TILE_TO_GRID_FIXED_HEIGHT.

Modalidad incremental (DC)

El algoritmo Diseño de cuadrícula normalmente coloca todos los nodos desde cero. Si el gráfico cambia de forma incremental porque se añaden o eliminan nodos o se cambia su tamaño, el diseño posterior puede variar considerablemente respecto del diseño anterior. Para evitar este efecto y permitir que el usuario conserve un mapa mental del gráfico, el algoritmo tiene una modalidad incremental. En la modalidad incremental, el diseño intenta colocar los nodos en la misma posición o en el mismo orden que en el diseño anterior, siempre que sea posible.
Ejemplo de cómo habilitar la modalidad incremental (algoritmo DC)
Para habilitar la modalidad incremental:
Llame al método setIncrementalMode del modo siguiente:
gridLayout.setIncrementalMode(true); 
Nota
Para conservar la estabilidad, la modalidad incremental puede mantener algunas regiones libres. Por consiguiente, el área total del diseño puede ser mayor que en la modalidad no incremental y, en general, el diseño puede que no tenga un aspecto tan elegante como en la modalidad no incremental.

Parámetros dimensionales (DC)

Parámetros dimensionales de la modalidad de cuadrícula del algoritmo Diseño de cuadrícula y Parámetros dimensionales para la modalidad de fila y columna del algoritmo Diseño de cuadrícula muestran cuáles son los parámetros dimensionales utilizados en el algoritmo Diseño de cuadrícula. Estos parámetros se explican en los apartados siguientes.
Diagrama que ilustra los parámetros de margen y desplazamiento de cuadrícula del diseño de cuadrícula en modalidad de cuadrícula
Parámetros dimensionales de la modalidad de cuadrícula del algoritmo Diseño de cuadrícula
Diagrama que ilustra los parámetros de margen y de región de diseño del diseño de cuadrícula en modalidad de fila y columna
Parámetros dimensionales para la modalidad de fila y columna del algoritmo Diseño de cuadrícula

Desplazamiento de la cuadrícula (DC)

Los parámetros de desplazamiento de la cuadrícula controlan el espaciado entre las líneas de la cuadrícula. Sólo lo tiene en cuenta la modalidad de cuadrícula (modalidades de diseño TILE_TO_GRID_FIXED_WIDTH y TILE_TO_GRID_FIXED_HEIGHT).
Ejemplo de cómo establecer el desplazamiento de la cuadrícula (algoritmo DC)
Para establecer el desplazamiento horizontal y vertical de la cuadrícula:
Utilice los métodos:
gridLayout.setHorizontalGridOffset(50);
gridLayout.setVerticalGridOffset(50);  
El desplazamiento de la cuadrícula es el parámetro clave de la modalidad de cuadrícula. Si el desplazamiento de la cuadrícula es mayor que el tamaño de los nodos (más los márgenes), se deja un espacio vacío alrededor del nodo. Si el desplazamiento de la cuadrícula es menor que el tamaño de los nodos (más los márgenes), el nodo debe colocarse en más de una celda de la cuadrícula. La mejor opción para los desplazamientos de la cuadrícula depende de la aplicación. Se puede calcular según el tamaño máximo de los nodos (más los márgenes) o el tamaño mediano, etcétera. Si todos los nodos tienen un tamaño parecido, la elección es directa.

Márgenes (DC)

Los márgenes controlan el espacio vacío que el algoritmo de diseño deja alrededor de cada nodo.
Ejemplo de cómo especificar márgenes (algoritmo DC)
Para establecer los márgenes:
Utilice los métodos:
gridLayout.setTopMargin(10);
gridLayout.setBottomMargin(10);
gridLayout.setLeftMargin(5);
gridLayout.setRightMargin(5);  
El significado de los parámetros de margen no es igual para las modalidades de cuadrícula que para las modalidades de fila y columna.
El valor predeterminado para todos los parámetros de margen es 5.