com.tensegrity.graph.layout.hierarchical
Class HierarchicalLayoutConstants

java.lang.Object
  extended bycom.tensegrity.graph.layout.hierarchical.HierarchicalLayoutConstants

public class HierarchicalLayoutConstants
extends java.lang.Object

This class contains attributes and their default values that are used by HierarchicalLayout.

The result of a graph arranged by a hierarchical layout algorithm is always a directed graph. The HierarchicalLayout class is able to arrange a given graph in different directions. The following attribute may be used to select one of the predefined flow directions:

The distance between nodes is adjustable. The attributes provided by the HierarchicalLayout class to adjust the node distance are listed below:

The HierarchicalLayout class provides the following attributes to determine the relative position of nodes to each other. It is possible to influence the relative position of the nodes that lie on the same layer as well as the relative position of the connected nodes lying on adjacent layers:

The hierarchical layout algorithm arranges a graph by placing nodes in different layers of a plane. The following attributes can be used to select a layer assignment strategy and to determine the maximum number of nodes placed on each layer:

In some cases labels may cover each other or other nodes. This is often the situation when the layer distance or node distance is not large enough. The following attribute can be used to ensure that there is enough space for each label:

Hierarchical graphs are used in different applications, such those representing workflows and flowcharts. In many cases a special arrangement of an edge (path) emphasizes its particular role in a graph. The HierarchicalLayout provides the following attribute to support different treatment of edges:

Version:
$Id: HierarchicalLayoutConstants.java,v 1.83 2006/03/27 17:42:35 SharokhKhani Exp $
Author:
Sharokh Khani

Field Summary
static java.lang.String DIRECTION_BOTTOM_TO_TOP
          Arranges the graph from bottom to top.
static java.lang.String DIRECTION_LEFT_TO_RIGHT
          Arranges the graph from left to right.
static java.lang.String DIRECTION_RIGHT_TO_LEFT
          Arranges the graph from right to left.
static java.lang.String DIRECTION_TOP_TO_BOTTOM
          Arranges the graph from top to bottom.
static java.lang.String EDGE_CATEGORY_DESC
          description text for attributes of edges
static java.lang.String EDGE_LABEL_CATEGORY_DESC
          description text for attributes of edges labels
static java.lang.String EDGE_TYPE_DESC
          This attribute can be used to select a predefined layout style for each edge.
static java.lang.String EDGE_TYPE_DIRECTED
          A Directed edge type specifies a standard connector between two nodes.
static java.lang.String EDGE_TYPE_LOOP
          A Loop edge connects two nodes but it has an effect on their positions.
static java.lang.Boolean ENSURE_LABEL_INTERSPACE_DEF
          Default value for ENSURE_LABEL_INTERSPACE_DESC
static java.lang.String ENSURE_LABEL_INTERSPACE_DESC
          Determines whether the hierarchical layout algorithm has to consider the bounding box of the labels on the edges or not.
static java.lang.Boolean FIXED_LAYER_DISTANCE_DEF
          Default value for FIXED_LAYER_DISTANCE_DESC
static java.lang.String FIXED_LAYER_DISTANCE_DESC
          Determines whether the layer distance should be expanded dynamically or not.
static java.lang.String GRAPH_CATEGORY_DESC
          description text for attributes of graph
static java.lang.String GRAPH_DIRECTION_DESC
          This attribute can be used to determine the flow direction.
static MetricExpression LAYER_DISTANCE_DEF
          The default value for LAYER_DISTANCE_DESC
static java.lang.String LAYER_DISTANCE_DESC
          The distance between two layers.
static java.lang.String LAYERING_STRATEGY_BOTTOM_UP
          Each node will be layered immediately before its first successor.
static java.lang.String LAYERING_STRATEGY_DESC
          This attribute can be used to select a predefined strategy for assignment of nodes to layers.
static java.lang.String LAYERING_STRATEGY_FREE
          The nodes will not automatically placed on layers with a fix distance but the layouter will take the current position of the nodes in the consideration.
static java.lang.String LAYERING_STRATEGY_TOP_DOWN
          Each node will be layered immediately after its last predecessor.
static java.lang.String LAYOUT_NAME
          The name of the layout.
static int MAX_LAYER_WIDTH_DEF
          The default value for MAX_LAYER_WIDTH_DESC
static java.lang.String MAX_LAYER_WIDTH_DESC
          This attribute can be used to limit the maximal number of nodes on each layer.
static java.lang.String NODE_ALIGNMENT_DESC
          This attribute specifies the relative position of nodes in the same layer.
static java.lang.String NODE_ALIGNMENT_HEAD
          Aligns nodes top or left in a layer, depending on the flow direction.
static java.lang.String NODE_ALIGNMENT_MIDDLE
          Centers nodes in the layer.
static java.lang.String NODE_ALIGNMENT_TAIL
          Aligns nodes bottom or right in a layer, depending on the flow direction.
static java.lang.String NODE_ARRANGEMENT_DESC
          This attribute may be used to choose one of the predefined layout styles.
static java.lang.String NODE_ARRANGEMENT_SIMPLEX
          The HierarchicalLayout tries to arrange nodes in such a way that the start and end nodes lie on the same layer.
static java.lang.String NODE_ARRANGEMENT_TREE
          Nodes will be placed in the middle of the area used by their predecessors or successor.
static java.lang.String NODE_CATEGORY_DESC
          description text for attributes of nodes
static java.lang.String NODE_CENTER_TO_PORT_DESC
          This attribute specifies the position of connected nodes relative to each other.
static java.lang.String NODE_CHILD_ARRANGEMENT_CENTER_NODES
          The parent node will be arranged in the middle of the bounding box of its children.
static java.lang.String NODE_CHILD_ARRANGEMENT_CENTER_PORTS
          The parent node will be centred to the middle point of its children's ports.
static java.lang.String NODE_CHILD_ARRANGEMENT_DEF
          Default value for NODE_CHILD_ARRANGEMENT_DESC
static java.lang.String NODE_CHILD_ARRANGEMENT_DESC
          This attribute specifies the relative position of a node to its successor.
static java.lang.String NODE_CHILD_ARRANGEMENT_HEAD
          The first child will be arranged on the same level as the parent node.
static java.lang.String NODE_CHILD_ARRANGEMENT_TAIL
          The last child will be arranged on the same level as the parent node.
static java.lang.String NODE_CONSIDER_EXTERNAL
          This attribute determines wheather the external element of node should be taken into consideration, or not.
static java.lang.Boolean NODE_CONSIDER_EXTERNAL_DEF
          Default value for NODE_CONSIDER_EXTERNAL
static MetricExpression NODE_DISTANCE_DEF
          The default value for NODE_DISTANCE_DESC
static java.lang.String NODE_DISTANCE_DESC
          The distance between two nodes in the same layer.
static java.lang.String NODE_LAYER_DESC
          Specifies the layer of the node.
static java.lang.String NODE_ORDER_DESC
          Specifies the order of the node on the layer.
 
Constructor Summary
HierarchicalLayoutConstants()
          Constructs
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LAYOUT_NAME

public static final java.lang.String LAYOUT_NAME
The name of the layout.

See Also:
Constant Field Values

NODE_DISTANCE_DESC

public static final java.lang.String NODE_DISTANCE_DESC
The distance between two nodes in the same layer.

See Also:
Constant Field Values

NODE_DISTANCE_DEF

public static final MetricExpression NODE_DISTANCE_DEF
The default value for NODE_DISTANCE_DESC


LAYER_DISTANCE_DESC

public static final java.lang.String LAYER_DISTANCE_DESC
The distance between two layers.

See Also:
Constant Field Values

LAYER_DISTANCE_DEF

public static final MetricExpression LAYER_DISTANCE_DEF
The default value for LAYER_DISTANCE_DESC


FIXED_LAYER_DISTANCE_DESC

public static final java.lang.String FIXED_LAYER_DISTANCE_DESC
Determines whether the layer distance should be expanded dynamically or not. If the value of this attribute is true the hierarchical layout algorithm will enlarge the specified layer distance depending on the number of connected nodes on each two adjacent layers; otherwise it will remain at the layer distance specified by LAYER_DISTANCE_DESC.

See Also:
Constant Field Values

FIXED_LAYER_DISTANCE_DEF

public static final java.lang.Boolean FIXED_LAYER_DISTANCE_DEF
Default value for FIXED_LAYER_DISTANCE_DESC


LAYERING_STRATEGY_DESC

public static final java.lang.String LAYERING_STRATEGY_DESC
This attribute can be used to select a predefined strategy for assignment of nodes to layers. null The possible values are: null

See Also:
Constant Field Values

LAYERING_STRATEGY_TOP_DOWN

public static final java.lang.String LAYERING_STRATEGY_TOP_DOWN
Each node will be layered immediately after its last predecessor.

See Also:
LAYERING_STRATEGY_DESC, Constant Field Values

LAYERING_STRATEGY_BOTTOM_UP

public static final java.lang.String LAYERING_STRATEGY_BOTTOM_UP
Each node will be layered immediately before its first successor.

See Also:
LAYERING_STRATEGY_DESC, Constant Field Values

LAYERING_STRATEGY_FREE

public static final java.lang.String LAYERING_STRATEGY_FREE
The nodes will not automatically placed on layers with a fix distance but the layouter will take the current position of the nodes in the consideration.
Please notice that the LAYER_DISTANCE_DEF will not have any effect if this strategy is selected.

See Also:
LAYERING_STRATEGY_DESC, Constant Field Values

MAX_LAYER_WIDTH_DESC

public static final java.lang.String MAX_LAYER_WIDTH_DESC
This attribute can be used to limit the maximal number of nodes on each layer. The nodes which exceeds the layer max width will be assigned to the next layer. The value 0 signifies an unlimited number of nodes on each layer.

See Also:
Constant Field Values

MAX_LAYER_WIDTH_DEF

public static final int MAX_LAYER_WIDTH_DEF
The default value for MAX_LAYER_WIDTH_DESC

See Also:
Constant Field Values

GRAPH_DIRECTION_DESC

public static final java.lang.String GRAPH_DIRECTION_DESC
This attribute can be used to determine the flow direction. null The possible values are: null

See Also:
Constant Field Values

DIRECTION_LEFT_TO_RIGHT

public static final java.lang.String DIRECTION_LEFT_TO_RIGHT
Arranges the graph from left to right.

See Also:
GRAPH_DIRECTION_DESC, Constant Field Values

DIRECTION_TOP_TO_BOTTOM

public static final java.lang.String DIRECTION_TOP_TO_BOTTOM
Arranges the graph from top to bottom.

See Also:
GRAPH_DIRECTION_DESC, Constant Field Values

DIRECTION_RIGHT_TO_LEFT

public static final java.lang.String DIRECTION_RIGHT_TO_LEFT
Arranges the graph from right to left.

See Also:
GRAPH_DIRECTION_DESC, Constant Field Values

DIRECTION_BOTTOM_TO_TOP

public static final java.lang.String DIRECTION_BOTTOM_TO_TOP
Arranges the graph from bottom to top.

See Also:
GRAPH_DIRECTION_DESC, Constant Field Values

NODE_ALIGNMENT_DESC

public static final java.lang.String NODE_ALIGNMENT_DESC
This attribute specifies the relative position of nodes in the same layer. null The possible values are: null

See Also:
Constant Field Values

NODE_ALIGNMENT_HEAD

public static final java.lang.String NODE_ALIGNMENT_HEAD
Aligns nodes top or left in a layer, depending on the flow direction.

See Also:
NODE_ALIGNMENT_DESC, Constant Field Values

NODE_ALIGNMENT_MIDDLE

public static final java.lang.String NODE_ALIGNMENT_MIDDLE
Centers nodes in the layer.

See Also:
NODE_ALIGNMENT_DESC, Constant Field Values

NODE_ALIGNMENT_TAIL

public static final java.lang.String NODE_ALIGNMENT_TAIL
Aligns nodes bottom or right in a layer, depending on the flow direction.

See Also:
NODE_ALIGNMENT_DESC, Constant Field Values

NODE_CENTER_TO_PORT_DESC

public static final java.lang.String NODE_CENTER_TO_PORT_DESC
This attribute specifies the position of connected nodes relative to each other. If the value of this attribute is true, the nodes will be arranged in such a way that their ports lie on the same vertical or horizontal line; otherwise the nodes will be centered to in their bounding box.

Center to port is disable.
Center to port is enable.

See Also:
Constant Field Values

NODE_ARRANGEMENT_DESC

public static final java.lang.String NODE_ARRANGEMENT_DESC
This attribute may be used to choose one of the predefined layout styles. null The possible values are: null

See Also:
Constant Field Values

NODE_ARRANGEMENT_TREE

public static final java.lang.String NODE_ARRANGEMENT_TREE
Nodes will be placed in the middle of the area used by their predecessors or successor. The result is usually a well-balanced graph.

See Also:
NODE_ARRANGEMENT_SIMPLEX, Constant Field Values

NODE_ARRANGEMENT_SIMPLEX

public static final java.lang.String NODE_ARRANGEMENT_SIMPLEX
The HierarchicalLayout tries to arrange nodes in such a way that the start and end nodes lie on the same layer.

See Also:
NODE_ARRANGEMENT_TREE, Constant Field Values

NODE_CONSIDER_EXTERNAL

public static final java.lang.String NODE_CONSIDER_EXTERNAL
This attribute determines wheather the external element of node should be taken into consideration, or not. External element means all items of a node that are placed outside of it. These items could be labels, icons or other elements.

See Also:
Constant Field Values

NODE_CONSIDER_EXTERNAL_DEF

public static final java.lang.Boolean NODE_CONSIDER_EXTERNAL_DEF
Default value for NODE_CONSIDER_EXTERNAL


NODE_LAYER_DESC

public static final java.lang.String NODE_LAYER_DESC
Specifies the layer of the node. If the DESCRIPTION_NODE_LAYER is null or a negative value, the layout assigns the layer automatically

See Also:
Constant Field Values

NODE_ORDER_DESC

public static final java.lang.String NODE_ORDER_DESC
Specifies the order of the node on the layer.
If the NODE_ORDER_DESC is set, the layout will keep the given order only if it does not cause a crossing of edges, which can be avoided by changing of node order.

See Also:
Constant Field Values

NODE_CHILD_ARRANGEMENT_HEAD

public static final java.lang.String NODE_CHILD_ARRANGEMENT_HEAD
The first child will be arranged on the same level as the parent node.

See Also:
NODE_CHILD_ARRANGEMENT_DESC, Constant Field Values

NODE_CHILD_ARRANGEMENT_CENTER_NODES

public static final java.lang.String NODE_CHILD_ARRANGEMENT_CENTER_NODES
The parent node will be arranged in the middle of the bounding box of its children.

See Also:
NODE_CHILD_ARRANGEMENT_DESC, Constant Field Values

NODE_CHILD_ARRANGEMENT_CENTER_PORTS

public static final java.lang.String NODE_CHILD_ARRANGEMENT_CENTER_PORTS
The parent node will be centred to the middle point of its children's ports.

See Also:
NODE_CHILD_ARRANGEMENT_DESC, Constant Field Values

NODE_CHILD_ARRANGEMENT_TAIL

public static final java.lang.String NODE_CHILD_ARRANGEMENT_TAIL
The last child will be arranged on the same level as the parent node.

See Also:
NODE_CHILD_ARRANGEMENT_DESC, Constant Field Values

NODE_CHILD_ARRANGEMENT_DESC

public static final java.lang.String NODE_CHILD_ARRANGEMENT_DESC
This attribute specifies the relative position of a node to its successor. Please notice that this is an node-attribute; i.e. it should be set for each node separately, so different nodes can be assigned different arrangement styles. null The possible values are: null

See Also:
Constant Field Values

NODE_CHILD_ARRANGEMENT_DEF

public static final java.lang.String NODE_CHILD_ARRANGEMENT_DEF
Default value for NODE_CHILD_ARRANGEMENT_DESC

See Also:
Constant Field Values

EDGE_TYPE_DESC

public static final java.lang.String EDGE_TYPE_DESC
This attribute can be used to select a predefined layout style for each edge. null null

See Also:
Constant Field Values

EDGE_TYPE_DIRECTED

public static final java.lang.String EDGE_TYPE_DIRECTED
A Directed edge type specifies a standard connector between two nodes. Such an edge affects the position of the source and target nodes depending on the current flow direction. The hierarchical layout algorithm always uses the shortest path to route such edges.
Notice: The Directed edge type is the default edge type.

See Also:
Constant Field Values

EDGE_TYPE_LOOP

public static final java.lang.String EDGE_TYPE_LOOP
A Loop edge connects two nodes but it has an effect on their positions. The hierarchical layout algorithm draws them in such a way so that the loop and its special meaning are visibly understandable.

See Also:
Constant Field Values

ENSURE_LABEL_INTERSPACE_DESC

public static final java.lang.String ENSURE_LABEL_INTERSPACE_DESC
Determines whether the hierarchical layout algorithm has to consider the bounding box of the labels on the edges or not.
If this mode is selected, the layout algorithm ensures that each label has enough space so that it can be drawn without overlapping.
Note that the position of the labels on the edge segments cannot be set. The layout class chooses an appropriate segment to placement the labels and ignores the current setting of the label position.

See Also:
Constant Field Values

ENSURE_LABEL_INTERSPACE_DEF

public static final java.lang.Boolean ENSURE_LABEL_INTERSPACE_DEF
Default value for ENSURE_LABEL_INTERSPACE_DESC


GRAPH_CATEGORY_DESC

public static final java.lang.String GRAPH_CATEGORY_DESC
description text for attributes of graph

See Also:
Constant Field Values

NODE_CATEGORY_DESC

public static final java.lang.String NODE_CATEGORY_DESC
description text for attributes of nodes

See Also:
Constant Field Values

EDGE_CATEGORY_DESC

public static final java.lang.String EDGE_CATEGORY_DESC
description text for attributes of edges

See Also:
Constant Field Values

EDGE_LABEL_CATEGORY_DESC

public static final java.lang.String EDGE_LABEL_CATEGORY_DESC
description text for attributes of edges labels

See Also:
Constant Field Values
Constructor Detail

HierarchicalLayoutConstants

public HierarchicalLayoutConstants()
Constructs



Copyright © 2005 Tensegrity Software GmbH. All Rights Reserved. Date of creation: 09.06.2006.