Overview
This topic discusses the JSON Diagram Layout property set object as returned by the REST API for each diagram layout—AngleDirectedDiagramLayout, CompressionDiagramLayout, ForceDirectedDiagramLayout, GeoPositionsDiagramLayout, GridDiagramLayout, LinearDispatchDiagramLayout, MainLineTreeDiagramLayout, MainRingDiagramLayout, PartialOverlappingEdgesDiagramLayout, RadialTreeDiagramLayout, RelativeMainlineDiagramLayout, ReshapeEdgesDiagramLayout, RotateTreeDiagramLayout, SeparateOverlappingEdgesDiagramLayout, SmartTreeDiagramLayout, and SpatialDispatchDiagramLayout.
AngleDirectedDiagramLayout property set object
The AngleDirectedDiagramLayout property set object provides the following information:
-
are_
—Specifies whether the layout preserves the containers in the diagram (Boolean).containers_ preserved -
i
—Specifies whether the layout is an active layout during diagram generation and update. This parameter is always ignored when performing the applyLayout operation.s_ active -
iterations_
—The number of layout algorithm iterations to process (Long).number -
number_
—The number of directions that must be used to align the diagram edges and their connected junctions (Enum):o f_ directions - 4 for FOUR_DIRECTIONS
- 8 for EIGHT_DIRECTIONS
- 12 for TWELVE_DIRECTIONS
JSON syntax
AngleDirectedDiagramLayout property set syntax
{
"type": "PropertySet",
"propertySetItems": ["are_containers_preserved", < true | false >, "is_active", < true | false >, "iterations_number", < iterations_number >, "number_of_directions", < 4 | 8 |12 >]
}
JSON example
AngleDirectedDiagramLayout property set sample
{
"type": "PropertySet",
"propertySetItems": [
"are_containers_preserved",
false,
"is_active",
false,
"iterations_number",
1,
"number_of_directions",
8
]
}
CompressionDiagramLayout property set object
The CompressionDiagramLayout property set object provides the following information:
-
are_
—Specifies whether the layout preserves the containers in the diagram (Boolean).containers_ preserved -
i
—Specifies whether the layout is an active layout during diagram generation and update. This parameter is always ignored when performing the applyLayout operation.s_ active -
grouping_
—The distance used to determine whether two connected junctions must be considered as part of the same junctions group in the diagram coordinate system (Double).distance -
vertices_
—Specifies how vertices along edges in the diagram must be processed (Enum):removal_ rule - 1 for REMOVE_ALL
- 2 for KEEP_INSIDE_VERTICES
- 3 for KEEP_FIRST_VERTEX_OUTSIDE_AND_INSIDE_VERTICES
JSON syntax
CompressionDiagramLayout property set syntax
{
"type": "PropertySet",
"propertySetItems": ["are_containers_preserved", < true | false >, "is_active", < true | false >, "grouping_distance", < grouping_distance >, "vertices_removal_rule", < 1 | 2 | 3 >]
}
JSON example
CompressionDiagramLayout property set example
{
"type": "PropertySet",
"propertySetItems": [
"are_containers_preserved",
true,
"is_active",
false,
"grouping_distance",
20,
"vertices_removal_rule",
2
]
}
ForceDirectedDiagramLayout property set object
The ForceDirectedDiagramLayout property set object provides the following information:
-
are_
—Specifies whether the layout preserves the containers in the diagram (Boolean).containers_ preserved -
i
—Specifies whether the layout is an active layout during diagram generation and update. This parameter is always ignored when performing the applyLayout operation.s_ active -
iterations_
—The number of layout algorithm iterations to process (Long).number -
repel_
—Increases diagram junctions displacement for junctions that are close together (Long).factor -
degree_
—Limits the area used to move the diagram junctions during each algorithm iteration (Enum):freedom - 1 for LOW
- 2 for MEDIUM
- 3 for HIGH
-
edge_
—The type of display for the diagram edges (Enum):display_ type - 0 for REGULAR_EDGES
- 2 for CURVED_EDGES
-
breakpoint_
—A double between 0.15 and 0.40 that determines the relative position of the two inflexion points that will be inserted along the diagram edges to compute the curved edges geometry whenposition edge_
(Double). This parameter is ignored whendisplay_ type=1 edge_
.display_ type=0
JSON syntax
ForceDirectedDiagramLayout property set syntax
{
"type": "PropertySet",
"propertySetItems": ["are_containers_preserved", < true | false >, "is_active", < true | false >, "iterations_number", < NumberOfIterations >, "repel_factor", < RepelFactor >, "degree_freedom", < 1 | 2 | 3 >, "edge_display_type", < 0 | 1 >, "breakpoint_position", < breakpointPosition >]
}
JSON example
ForceDirectedDiagramLayout property set example
{
"type": "PropertySet",
"propertySetItems": [
"are_containers_preserved",
false,
"is_active",
false,
"iterations_number",
20,
"repel_factor",
1,
"degree_freedom",
1,
"edge_display_type",
0,
"breakpoint_position",
0.29999999999999999
]
}
GeoPositionsDiagramLayout property set object
The GeoPositionsDiagramLayout property set object provides the following information:
i
—Specifies whether the layout is an active layout during diagram generation and update. This parameter is always ignored when performing the applyLayout operation.s_ active restore_
—Specifies whether the layout algorithm will process diagram edges and restore geographic vertices along them if possible (Boolean).edges_ geo_ positions
JSON syntax
GeoPositionsDiagramLayout property set syntax
{
"type": "PropertySet",
"propertySetItems": ["is_active", < true | false >, "restore_edges_geo_positions", < true | false >]
}
JSON example
GeoPositionsDiagramLayout property set example
{
"type": "PropertySet",
"propertySetItems": [
"is_active",
false,
"restore_edges_geo_positions",
true
]
}
GridDiagramLayout property set object
The GridDiagramLayout property set object provides the following information:
are_
—Specifies whether the layout preserves the containers in the diagram (Boolean).containers_ preserved i
—Specifies whether the layout is an active layout during diagram generation and update. This parameter is always ignored when performing the applyLayout operation.s_ active cell_
—The width of each grid cell in the diagram coordinate system (Double).width cell_
—The height of each grid cell in the diagram coordinate system (Double).height
JSON syntax
GridDiagramLayout property set syntax
{
"type": "PropertySet",
"propertySetItems": ["are_containers_preserved", < true | false >, "is_active", < true | false >, "cell_width", < cell_width >, "cell_height", < cell_height >]
}
JSON example
GridDiagramLayout property set example
{
"type": "PropertySet",
"propertySetItems": [
"are_containers_preserved",
false,
"is_active",
false,
"cell_width",
2,
"cell_height",
2
]
}
LinearDispatchDiagramLayout property set object
The LinearDispatchDiagramLayout property set object provides the following information:
-
i
—Specifies whether the layout parameters representing distances must be interpreted as linear units in the diagram coordinate system: True, or as relative units to an estimation of the average of the junctions sizes in the diagram when it's generated, or False (Boolean).s_ unit_ absolute -
i
—Specifies whether the layout is an active layout during diagram generation and update. This parameter is always ignored when performing the applyLayout operation.s_ active -
junction_
—Specifies how the layout algorithm will move the diagram junctions (Enum):placement_ type - 1 for EQUAL_DISTANCE
- 2 for USER_DEFINE_DISTANCE
- 3 for ITERATIVE_DISTANCE
-
maximum_
—The parameter expected whenshift junction_
, which specifies the maximum distance that junctions with two connections can be spaced from the junctions to which they connect (Double).placement_ type = 3 -
minimum_
—The parameter expected whenshift junction_
, which specifies the minimum distance that will separate each junction with two connected edges from its two edges extremities after the layout applies (Double).placement_ type = 2 -
iterations_
—The number of layout algorithm iterations to process (Long).number -
i
—Specifies whether the layout algorithm will preserve the vertices along edges when applying (Boolean).s_ path_ preserved -
are_
—Specifies whether leaf junctions—that is, junctions with one connection—can be moved during the algorithm process (Boolean).leaves_ moved -
are_
—Specifies whether leaf junctions—that is, junctions with one connection—can be expanded during the algorithm process (Boolean).leaves_ expanded -
expand_
—The parameter expected whenshift are_
, which specifies the maximum distance leaf junctions can be expanded (Double).leaves_ expanded = true
JSON syntax
LinearDispatchDiagramLayout property set syntax
{
"type": "PropertySet",
"propertySetItems": ["is_unit_absolute", < true | false >, "is_active", < true | false >, "junction_placement_type", < 1 | 2 | 3 >, "maximum_shift", < maximum_shift >, "minimum_shift", < minimum_shift >, "iterations_number", < iterations_number >, "is_path_preserved", < true | false >, "are_leaves_moved", < true | false >, "are_leaves_expanded", < true | false >, "expand_shift", < expand_shift >]
}
JSON example
LinearDispatchDiagramLayout property set example
{
"type": "PropertySet",
"propertySetItems": [
"is_unit_absolute",
false,
"is_active",
false,
"junction_placement_type",
1,
"maximum_shift",
2,
"minimum_shift",
2,
"iterations_number",
5,
"is_path_preserved",
true,
"are_leaves_moved",
false,
"are_leaves_expanded",
false,
"expand_shift",
2
]
}
MainLineTreeDiagramLayout property set object
The MainLineTreeDiagramLayout property set object provides the following information:
-
are_
—Specifies whether the layout preserves the containers in the diagram (Boolean).containers_ preserved -
i
—Specifies whether the layout is an active layout during diagram generation and update. This parameter is always ignored when performing the applyLayout operation.s_ active -
i
—Specifies whether the layout parameters representing distances must be interpreted as linear units in the diagram coordinate system: True, or as relative units to an estimation of the average of the junctions sizes in the diagram when it's generated, or False (Boolean).s_ unit_ absolute -
tree_
—The direction of the tree (Enum):direction - 0 for FROM_RIGHT_TO_LEFT
- 1 for FROM_TOP_TO_BOTTOM
- 2 for FROM_LEFT_TO_RIGHT
- 3 for FROM_BOTTOM_TO_TOP
-
branches_
—Specifies how branches from the mainline are placed (Enum):placement - 0 for LEFT_SIDE_OF_MAIN_LINE
- 1 for RIGHT_SIDE_OF_MAIN_LINE
- 2 for BOTH_SIDES_OF_MAIN_LINE
-
perpendicular
—The spacing between diagram junctions that are displayed along the axis perpendicular to the mainline in the diagram coordinate system wheni
or in proportional units whens_ unit_ absolute = True i
(Double).s_ unit_ absolute = False -
along
—The spacing between diagram junctions that are displayed along the mainline and diagram junctions that are displayed along the axis parallel to this mainline in the diagram coordinate system wheni
or in proportional units whens_ unit_ absolute = True i
(Double).s_ unit_ absolute = False -
disjoined_
—The minimum spacing that must separate features belonging to disjoined graphs when the diagram contains such graphs in the diagram coordinate system whengraph Absolute = True
or in proportional units wheni
(Double).s_ unit_ absolute = False -
are_
—Specifies whether the diagram edges related to the tree branches will display with right angles (Boolean).edges_ orthogonal -
breakpoint_
—A double between 0 and 1 that determines the relative position of the break point on the diagram edges whenposition edge_
ordisplay_ type=0 edge_
. A double between 0.15 and 0.40 that determines the relative position of the two inflexion points that will be inserted along the diagram edges to compute the curved edges geometry whendisplay_ type=1 edge_
.display_ type=2 -
edge_
—The type of display for the diagram edges (Enum):display_ type - 0 for REGULAR_EDGES
- 1 for ORTHOGONAL_EDGES
- 2 for CURVED_EDGES
-
offset
—The offset that separates overlapping segments whenedge_
. It is a double between 0 and 10 percent of the smallest other spacing parameters.display_ type=1
JSON syntax
MainLineTreeDiagramLayout property set syntax
{
"type": "PropertySet",
"propertySetItems": ["are_containers_preserved", < true | false >, "is_active", < true | false >, "is_unit_absolute", < true | false >, "tree_direction", < 0 | 1 | 2 | 3 >, "branches_placement", < 0 | 1 | 2 >, "perpendicular", < perpendicular >, "along", < along >, "disjoined_graph", < disjoined_graph >, "are_edges_orthogonal", < true | false >, "breakpoint_position", < breakpoint_position >, "edge_display_type", < 0 | 1 | 2 >, "offset, < offset >]
}
JSON example
MainLineTreeDiagramLayout property set example
{
"type": "PropertySet",
"propertySetItems": [
"are_containers_preserved",
false,
"is_active",
false,
"is_unit_absolute",
false,
"tree_direction",
2,
"branches_placement",
2,
"perpendicular",
2,
"along",
2,
"disjoined_graph",
4,
"are_edges_orthogonal",
false,
"breakpoint_position",
0.29999999999999999,
"edge_display_type",
0,
"offset",
0
]
}
MainRingDiagramLayout property set object
The MainRingDiagramLayout property set object provides the following information:
-
are_
—Specifies whether the layout preserves the containers in the diagram (Boolean).containers_ preserved -
i
—Specifies whether the layout is an active layout during diagram generation and update. This parameter is always ignored when performing the applyLayout operation.s_ active -
i
—Specifies whether the layout parameters representing distances must be interpreted as linear units in the diagram coordinate system: True, or as relative units to an estimation of the average of the junctions sizes in the diagram when it's generated, or False (Boolean).s_ unit_ absolute -
ring_
—The type of ring (Enum):type - 0 for RECTANGLE
- 1 for ELLIPSE
-
tree_
—Specifies how the trees coming out of the main ring's junctions will be positioned (Enum):type - 0 for LEFT_SIDE
- 1 for RIGHT_SIDE
- 2 for BOTH_SIDES
- 3 for COMPACT_TREE (This value is currently ignored; it will be interpreted as 4.)
- 4 for SMART_TREE
-
edge_
—The type of display for the trees' diagram edges (Enum)display_ type - 0 for REGULAR_EDGES
- 1 for ORTHOGONAL_EDGES
- 2 for CURVED_EDGES
-
ring_
—The width of the ring in the diagram coordinate system whenwidth i
or in proportional units whens_ unit_ absolute = True i
(Double).s_ unit_ absolute = False -
ring_
—The height of the ring in the diagram coordinate system whenheight i
or in proportional units whens_ unit_ absolute = True i
(Double).s_ unit_ absolute = False -
perpendicular
—The spacing between diagram junctions that are displayed along the axis perpendicular to the tree direction in the diagram coordinate system wheni
or in proportional units whens_ unit_ absolute = True i
(Double).s_ unit_ absolute = False -
along
—The spacing between diagram junctions that are displayed along the tree direction in the diagram coordinate system wheni
or in proportional units whens_ unit_ absolute = True i
(Double).s_ unit_ absolute = False -
breakpoint_
—A double between 0 and 1 that determines the relative position of the break point on the diagram edges whenposition edge_
ordisplay_ type=0 edge_
. A double between 0.15 and 0.40 that determines the relative position of the two inflexion points that will be inserted along the diagram edges to compute the curved edges geometry whendisplay_ type=1 edge_
.display_ type=2 -
offset
—The offset that separates overlapping segments whenedge_
. It is a double between 0 and 10 percent of the smallest other spacing parameters.display_ type=1
JSON syntax
MainRingDiagramLayout property set syntax
{
"type": "PropertySet",
"propertySetItems": ["are_containers_preserved", < true | false >, "is_active", < true | false >, "is_unit_absolute", < true | false >,
"ring_type",< 1 | 2 >, "tree_type", < 1 |2 |3 |4 >, "edge_display_type", < 0 |1 |2 >, "ring_width", < RingWidth >,
"ring_height", < RingHeight >, "perpendicular", < perpendicular >, "along", < along >, "breakpoint_position", < breakPoint >, "offset", < offset >]
}
JSON example
MainRingDiagramLayout property set example
{
"type": "PropertySet",
"propertySetItems": [
"are_containers_preserved",
false,
"is_active",
false,
"is_unit_absolute",
false,
"ring_type",
1,
"tree_type",
4,
"edge_display_type",
0,
"ring_width",
50,
"ring_height",
20,
"perpendicular",
2,
"along",
2,
"breakpoint_position",
0.29999999999999999,
"offset",
0
]
}
PartialOverlappingEdgesDiagramLayout property set object
The PartialOverlappingEdgesDiagramLayout property set object provides the following information:
i
—Specifies whether the layout is an active layout during diagram generation and update. This parameter is always ignored when performing the applyLayout operation.s_ active buffer_
—The width of the buffer zone where you want the algorithm to search for collinear edge segments in the diagram coordinate system (Double).width offset
—The distance that will separate the detected edge segments after the layout algorithm applies in the diagram coordinate system (Double).optimize_
—Specifies whether the layout algorithm will optimize the segment placement order in each set of detected collinear segments to avoid crossing (Boolean).edges
JSON syntax
PartialOverlappingEdgesDiagramLayout property set syntax
{
"type": "PropertySet",
"propertySetItems": ["is_active", < true | false >, "buffer_width", < buffer_width >, "offset", < offset >, "optimize_edges", < true | false >]
}
JSON example
PartialOverlappingEdgesDiagramLayout property set example
{
"type": "PropertySet",
"propertySetItems": [
"is_active",
false,
"buffer_width",
1,
"offset",
0.5,
"optimize_edges",
false
]
}
RadialTreeDiagramLayout property set object
The RadialTreeDiagramLayout property set object provides the following information:
are_
—Specifies whether the layout preserves the containers in the diagram (Boolean).containers_ preserved i
—Specifies whether the layout is an active layout during diagram generation and update. This parameter is always ignored when performing the applyLayout operation.s_ active i
—Specifies whether the layout parameters representing distances must be interpreted as linear units in the diagram coordinate system: True, or as relative units to an estimation of the average of the junctions sizes in the diagram when it's generated, or False (Boolean).s_ unit_ absolute initial_
—The radius of the first concentric circle whose center is the radial tree root junction in the diagram coordinate system whenradius i
or in proportional units whens_ unit_ absolute = True i
(Double).s_ unit_ absolute = False disjoined_
—The minimum spacing that must separate features belonging to disjoined graphs when the diagram contains such graphs in the diagram coordinate system whengraph i
or in proportional units whens_ unit_ absolute = True i
(Double).s_ unit_ absolute = False radius_
—Represents the multiplicative factor used to increase or decrease the radius of each concentric circle (Double).factor
JSON syntax
RadialTreeDiagramLayout property set syntax
{
"type": "PropertySet",
"propertySetItems": ["are_containers_preserved", < true | false >, "is_active", < true | false >, "is_unit_absolute", < true | false >, "initial_radius", < initial_radius >, "disjoined_graph", < disjoined_graph >, "radius_factor", < radius_factor >]
}
JSON example
RadialTreeDiagramLayout property set example
{
"type": "PropertySet",
"propertySetItems": [
"are_containers_preserved",
false,
"is_active",
false,
"is_unit_absolute",
false,
"initial_radius",
5,
"disjoined_graph",
10,
"radius_factor",
1
]
}
RelativeMainlineDiagramLayout property set object
The RelativeMainlineDiagramLayout property set object provides the following information:
-
i
—Specifies whether the layout is an active layout during diagram generation and update. This parameter is always ignored when performing the applyLayout operation.s_ active -
line_
—The name of the network attribute that will be used to identify the lines that compose the straight lines (String).attribute -
mainline_
—The direction of the mainline (Enum):direction - 1 for FROM_TOP_TO_BOTTOM
- 2 for FROM_LEFT_TO_RIGHT
-
offset_
—The spacing between two adjacent branches along the axis perpendicular to the direction of the lines (Double).between_ branches -
breakpoint_
—The angle that will be used to position the break point on the branches. It is a number between 30 and 90 degrees that is combined with theangle offset_
parameter value to compute this position. When the break point angle value is 90 degrees, each branch displays orthogonally (Double).between_ branches -
type_
— The name of the network attribute that will be used to qualify the lines. This network attribute may exist on the utility network line classes. Its values allow lines to be typed. (String).attribute -
mainline_
—Thevalues type_
values that identify the main lines. When such values exist, they must be the same for any edge that composes the main lines regardless of their related utility network feature classes. In a list of values, each value is separated by a semicolon (;) character (String).attribute -
branch_
—Thevalues type_
values that identify the branches. In a list of values, each value is separated by a semicolon (;) character (String).attribute -
excluded_
—Thevalues type_
values that identify the edges that must be excluded from the straight lines, that is, crossovers or ladders. In a list of values, each value is separated by a semicolon (;) character (String).attribute -
i
—Specifies whether the algorithm must compress the graph (Boolean).s_ compressing -
compression_
— A number between 0 and 100 that is applied to the length of any edge after subtracting the minimal distance of its length. Whenratio compression_
is 100, the distance between each detected junction group is equal to the minimal distance (Double).ratio -
minimal_
—The minimal distance that must be kept between two adjacent groups of neighbor junctions (Double).distance -
alignment_
—The name of the network attribute that will be used to align lines that are split (Double).attribute -
length_
—The name of the network attribute from which the algorithm will assess the length of the diagram edges. This length determines the positions of the junctions along the direction. By default, without specifying theattribute length_
property, the distances between the connected junctions along the direction are computed based on the current edge length and the length of the shortest edge. Whenattribute length_
is specified, these distances are computed based on the values of this attribute for each edge (String).attribute
JSON syntax
RelativeMainlineDiagramLayout property set syntax
{
"type": "PropertySet",
"propertySetItems": [
"is_active", < true | false >,
"line_attribute", < line_attribute >,
"mainline_direction", < 1 | 2 >,
"offset_between_branches", < offset_between_branches >,
"breakpoint_angle", < breakpoint_angle >,
"type_attribute", < type_attribute >,
"mainline_values",< mainline_values >,
"branch_values",< branch_values >,
"excluded_values",< excluded_values >,
"is_compressing", < true | false >,
"compression_ratio", < compression_ratio >,
"minimal_distance", < minimal_distance >,
"alignment_attribute", < alignment_attribute >,
"length_attribute", < length_attribute >
]
}
JSON example
RelativeMainlineDiagramLayout property set example
{
"type": "PropertySet",
"propertySetItems": [
"is_active",
false,
"line_attribute",
"",
"mainline_direction",
2,
"offset_between_branches",
2,
"breakpoint_angle",
45,
"type_attribute",
"",
"mainline_values",
"",
"branch_values",
"",
"excluded_values",
"",
"is_compressing",
false,
"compression_ratio",
0,
"minimal_distance",
0,
"alignment_attribute",
"",
"length_attribute",
""
]
}
ReshapeEdgesDiagramLayout property set object
The ReshapeEdgesDiagramLayout property set object provides the following information:
-
are_
—Specifies whether the layout preserves the containers in the diagram (Boolean).containers_ preserved -
i
—Specifies whether the layout is an active layout during diagram generation and update. This parameter is always ignored when performing the applyLayout operation.s_ active -
reshape_
—The type of reshape operation the algorithm will process:type - 1 for SQUARE_EDGES
- 2 for REMOVE_VERTICES
- 3 for SEPARATE_OVERLAPPING_EDGES
- 4 for REDUCE_VERTICES_BY_ANGLE
- 5 for MARK_CROSSING_EDGES
-
i
—Specifies whether the layout algorithm will preserve the vertices along edges when it applies withs_ path_ preserved reshape_
(Boolean).type=1 -
angle_
—The angle formed by the incident segments by which the vertex related to these segments is reduced when the layout runs withthreshold reshape_
(Double).type=4 -
shift_
—The spacing that will separate two edges that have just been processed by the layout algorithm in the diagram coordinate system when it applies withbetween_ edge reshape_
(Double).type=3 -
offset_
—The spacing that will separate parallel segments of edges incident to a shared junction when those edges are squared, the distance being interpreted in the diagram coordinate system when the layout applies withbetween_ segment Reshape
(Double).Type=1 -
breakpoint
—The maximum distance between each junction to the first or last break point along edges incident to that junction when those edges are squared, the distance being interpreted in the diagram coordinate system when the layout applies withreshape_
(Double).type=1 -
circular_
—The radius of the circular arc that will be added at the crossing edge locations when the layout applies witharc_ radius reshape_
(Double).type=5 -
circular_
—Specifies the segment on which the circular arc will be inserted when the layout applies witharc_ position reshape_
:type=5 - 1 for LEFT_OF_VERTICAL_SEGMENT
- 2 for RIGHT_OF_VERTICAL_SEGMENT
- 3 for ABOVE_HORIZONTAL_SEGMENT
- 4 for BELOW_HORIZONTAL_SEGMENT
JSON syntax
{
"type": "PropertySet",
"propertySetItems": ["are_containers_preserved", < true | false >, "is_active", < true | false >, "reshape_type", < 1 | 2 | 3 | 4 | 5 >, "is_path_preserved", < true | false >,
"angle_threshold", < angle_threshold >, "shift_between_edge", < shift_between_edge >, "offset_between_segment", < offset_between_segment >,
"breakpoint", < breakpoint >, "circular_arc_radius", < circular_arc_radius >, "circular_arc_position", < 1 | 2 | 3 | 4 >]
}
JSON example
{
"type": "PropertySet",
"propertySetItems": [
"are_containers_preserved",
false,
"is_active",
false,
"reshape_type",
1,
"is_path_preserved",
true,
"angle_threshold",
0,
"shift_between_edge",
0.5,
"offset_between_segment",
5,
"breakpoint",
8.6600000000000001,
"circular_arc_radius",
5,
"circular_arc_position",
2
]
}
RotateTreeDiagramLayout property set object
The RotateTreeDiagramLayout property set object provides the following information:
are_
—Specifies whether the layout preserves the containers in the diagram (Boolean).containers_ preserved angle
—The angle in degrees that will be used to rotate the tree (Double).rotation_
—Specifies whether the algorithm adds up thejunction angle
parameter value to theElement rotation
field value for each processed diagram junction (Boolean).
JSON syntax
RotateTreeDiagramLayout property set syntax
{
"type": "PropertySet",
"propertySetItems": ["are_containers_preserved", < true | false >, "is_active", < true | false >, "rotation_angle", < rotation_angle >, "rotation_junction", < true | false >]
}
JSON example
RotateTreeDiagramLayout property set example
{
"type": "PropertySet",
"propertySetItems": [
"are_containers_preserved",
false,
"is_active",
false,
"rotation_angle",
45,
"rotation_junction",
false
]
}
SeparateOverlappingEdgesDiagramLayout property set object
The SeparateOverlappingEdgesDiagramLayout property set object provides the following information:
are_
—Specifies whether the layout preserves the containers in the diagram (Boolean).containers_ preserved i
—Specifies whether the layout is an active layout during diagram generation and update. This parameter is always ignored when performing the applyLayout operation.s_ active shift_
—The absolute spacing that will separate two edges (Double).between_ edge
JSON syntax
{
"type": "PropertySet",
"propertySetItems": ["are_containers_preserved", < true | false >, "is_active", < true | false >, "shift_between_edge", < shift_between_edge >]
}
JSON example
{
"type": "PropertySet",
"propertySetItems": [
"are_containers_preserved",
false,
"is_active",
false,
"shift_between_edge",
0.5
]
}
SmartTreeDiagramLayout property set object
The SmartTreeDiagramLayout property set object provides the following information:
-
are_
—Specifies whether the layout preserves the containers in the diagram (Boolean).containers_ preserved -
i
—Specifies whether the layout is an active layout during diagram generation and update. This parameter is always ignored when performing the applyLayout operation.s_ active -
i
—Specifies whether the layout parameters representing distances must be interpreted as linear units in the diagram coordinate system: True, or as relative units to an estimation of the average of the junctions sizes in the diagram when it's generated, or False (Boolean).s_ unit_ absolute -
tree_
—The direction of the tree (Enum):direction - 0 for FROM_RIGHT_TO_LEFT
- 1 for FROM_TOP_TO_BOTTOM
- 2 for FROM_LEFT_TO_RIGHT
- 3 for FROM_BOTTOM_TO_TOP
-
subtree
—The spacing between two neighboring subtrees in the diagram coordinate system wheni
or in proportional units whens_ unit_ absolute = True i
(Double).s_ unit_ absolute = False -
perpendicular
—The spacing between diagram junctions that are displayed perpendicularly to the smart tree direction and that belong to the same subtree level in the diagram coordinate system wheni
or in proportional units whens_ unit_ absolute = True i
(Double).s_ unit_ absolute = False -
along
—The spacing between diagram junctions that are displayed along the smart tree direction in the diagram coordinate system wheni
or in proportional units whens_ unit_ absolute = True i
(Double).s_ unit_ absolute = False -
disjoined_
—The minimum spacing that must separate features belonging to disjoined graphs when the diagram contains such graphs in the diagram coordinate system whengraph i
or in proportional units whens_ unit_ absolute = True i
(Double).s_ unit_ absolute = False -
are_
—Specifies whether the diagram edges related to the tree branches will display with right angles (Boolean).edges_ orthogonal -
breakpoint_
—A double between 0 and 1 that determines the relative position of the break point on the diagram edges whenposition edge_
ordisplay_ type=0 edge_
. A double between 0.15 and 0.40 that determines the relative position of the two inflexion points that will be inserted along the diagram edges to compute the curved edges geometry whendisplay_ type=1 edge_
.display_ type=2 -
edge_
—The type of display for the diagram edges (Enum):display_ type - 0 for REGULAR_EDGES
- 1 for ORTHOGONAL_EDGES
- 2 for CURVED_EDGES
-
offset
—The offset that separates overlapping segments whenedge_
. It is a double between 0 and 10 percent of the smallest other spacing parameters.display_ type=1
JSON syntax
SmartTreeDiagramLayout property set syntax
{
"type": "PropertySet",
"propertySetItems": ["are_containers_preserved", < true | false >, "is_active", < true | false >, "is_unit_absolute", < true | false >, "tree_direction", < 0 |1 | 2 | 3 >, "subtree", < subtree >, "perpendicular", < perpendicular >, "along", < along >, "disjoined_graph", < disjoined_graph >, "are_edges_orthogonal", < true | false >, "breakpoint_position", < breakpoint_position >, "edge_display_type", < 0 | 1 | 2 >, "offset", < ooffset >]
}
JSON example
SmartTreeDiagramLayout property set example
{
"type": "PropertySet",
"propertySetItems": [
"are_containers_preserved",
false,
"is_active",
false,
"is_unit_absolute",
false,
"tree_direction",
2,
"subtree",
2,
"perpendicular",
2,
"along",
2,
"disjoined_graph",
4,
"are_edges_orthogonal",
false,
"breakpoint_position",
0.29999999999999999,
"edge_display_type",
0,
"offset",
0
]
}
SpatialDispatchDiagramLayout property set object
The SpatialDispatchDiagramLayout property set object provides the following information:
are_
—Specifies whether the layout preserves the containers in the diagram (Boolean).containers_ preserved i
—Specifies whether the layout is an active layout during diagram generation and update. This parameter is always ignored when performing the applyLayout operation.s_ active iterations_
—The number of layout algorithm iterations to process (Long).number maximum_
—The intensity of the diagram junctions' displacement for junctions that are very close together. The larger the shift factor, the larger the separation between the diagram junctions that almost overlap (Long).shift_ factor
JSON syntax
SpatialDispatchDiagramLayout property set syntax
{
"type": "PropertySet",
"propertySetItems": ["are_containers_preserved", < true | false >, "is_active", < true | false >, "iterations_number", < iterations_number >, "maximum_shift_factor", < maximum_shift_factor >]
}
JSON example
SpatialDispatchDiagramLayout property set example
{
"type": "PropertySet",
"propertySetItems": [
"are_containers_preserved",
false,
"is_active",
false,
"iterations_number",
5,
"maximum_shift_factor",
2
]
}