Algorithm Type

ST_AlgorithmType is responsible for which algorithm will be used to layout the diagram. The algorithm layout chosen determines if the diagram behaves as if it were a simple list, a circular cycle, or some other type of diagram. The algorithms available are:

• `@unknown` – Unknown algorithm type. This type is used for extensibility reasons. Use of this algorithm type can used by future versions/implementations which define new algorithm types other than the above mentioned algorithm types. By using this type, the current implementations know that they will not be able to correctly render the diagram if they have only implemented the above mentioned algorithms for layout.

• `@composite` – The composite algorithm specifies the size and position for all child layout nodes. You can use it to create graphics with a predetermined layout or in combination with other algorithms to create more complex shapes.

• `@conn` – the connector algorithm lays out and routes connecting lines, arrows, and shapes between layout nodes

• `@cycle` – the cycle algorithm lays out child layout nodes around a circle or portion of a circle using equal angle spacing

• `@hierChild` – the hierarchy child algorithm works with the `@hierRoot` algorithm to create hierarchical tree layouts. This algorithm aligns and positions its child layout nodes in a linear path under the `@hierRoot` layout node.

• `@hierRoot` – the hierarchy root algorithm works with the `@hierChild` algorithm to create hierarchical tree layouts. The `@hierRoot` algorithm aligns and positions the `@hierRoot` layout node in relation to the `@hierChild` layout nodes.

• `@pyra` – the pyramid algorithm lays out child layout nodes along a vertical path and works with the trapezoid shape to create a pyramid

• `@lin` – the linear algorithm lays out child layout nodes along a linear path

• `@sp` – the space algorithm is used to specify a minimum space between other layout nodes or as an indication to do nothing with the layout node’s size and position

• `@tx` – manges layout of text within a shape

• `@snake` – the snake algorithm lays out child layout nodes along a linear path in two dimensions, allowing the linear flow to continue across multiple rows or columns