com.esri.arcgis.schematic
Interface ISchematicAlgoLinearDispatch

All Superinterfaces:
ISchematicAlgorithm, Serializable
All Known Implementing Classes:
SchematicAlgoLinearDispatch

public interface ISchematicAlgoLinearDispatch
extends ISchematicAlgorithm, Serializable

Provides access to members that control the Linear Dispatch schematic algorithm.

Description

The Linear Dispatch algorithm separates linearly nodes that are visually very close or near to overlapping in the active schematic diagram regarding to their current positions. If a selected set has been defined in the active schematic diagram, the algorithm only applies to the selected schematic elements.

Regarding to the Spatial Dispatch algorithm that works without the links during its execution but works on all nodes independently to their degree, the Linear Dispatch works with the links connected to the close nodes; it takes the degree of these nodes into account and depending on the algorithm properties, the link paths can be preserved. Only the nodes with degree 2 (that is; the nodes with two incident links) are moved. The nodes with degree 1 (that is; the nodes with only one incident link) could be also taken into account during the process when the MoveNodeDeg1 property is TRUE.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

See Also:
ISchematicAlgoSpatialDispatch

Method Summary
 double getAttractionFactor()
          Factor used to quickly increase the schematic nodes displacement for nodes that are very close.
 double getLeaveMaximalShift()
          Maximum distance the leave nodes must be spaced from the nodes that they connect when they are authorized to be moved during the algorithm execution.
 double getMaximalShift()
          Maximum distance the nodes with degree 2 must be spaced from their link extremity after the algorithm execution.
 double getMinimalShift()
          Minimum distance the nodes with degree 2 must be spaced from their link extremity after the algorithm execution.
 int getNodesMovements()
          Node placement option for the layout.
 int getNumberOfIterations()
          Number of Linear Dispatch algorithm iterations that will be executed before the final result is shown.
 boolean isAbsoluteParameters()
          Indicates if the values set for the distance parameters must be interpreted as absolute units.
 boolean isMoveNodeDeg1()
          Indicates if the leave nodes (that is, the node with degree 1) can be moved during the algorithm execution.
 boolean isNotMoveNodeDeg3()
          Indicates if the nodes with degree 3 can not be moved during the algorithm execution.
 boolean isPathPreservation()
          Indicates if the path for the incident links related to the moved nodes is preserved during the algorithm execution.
 boolean isTranslateLeaf()
          Indicates if the leaf connected to the path must be moved.
 void setAbsoluteParameters(boolean pVal)
          Indicates if the values set for the distance parameters must be interpreted as absolute units.
 void setAttractionFactor(double pVal)
          Factor used to quickly increase the schematic nodes displacement for nodes that are very close.
 void setLeaveMaximalShift(double pVal)
          Maximum distance the leave nodes must be spaced from the nodes that they connect when they are authorized to be moved during the algorithm execution.
 void setMaximalShift(double pVal)
          Maximum distance the nodes with degree 2 must be spaced from their link extremity after the algorithm execution.
 void setMinimalShift(double pVal)
          Minimum distance the nodes with degree 2 must be spaced from their link extremity after the algorithm execution.
 void setMoveNodeDeg1(boolean pVal)
          Indicates if the leave nodes (that is, the node with degree 1) can be moved during the algorithm execution.
 void setNodesMovements(int pVal)
          Node placement option for the layout.
 void setNotMoveNodeDeg3(boolean pVal)
          Indicates if the nodes with degree 3 can not be moved during the algorithm execution.
 void setNumberOfIterations(int pVal)
          Number of Linear Dispatch algorithm iterations that will be executed before the final result is shown.
 void setPathPreservation(boolean pVal)
          Indicates if the path for the incident links related to the moved nodes is preserved during the algorithm execution.
 void setTranslateLeaf(boolean pVal)
          Indicates if the leaf connected to the path must be moved.
 
Methods inherited from interface com.esri.arcgis.schematic.ISchematicAlgorithm
execute, getAlgorithmCLSID, getLabel, getPropertySet, getSchematicDiagramClassName, isAvailable, isEnabled, isOverridable, isUseEndNode, isUseRootNode, setAvailable, setLabel, setOverridable, setPropertySet, setSchematicDiagramClassNameByRef
 

Method Detail

isTranslateLeaf

boolean isTranslateLeaf()
                        throws IOException,
                               AutomationException
Indicates if the leaf connected to the path must be moved.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTranslateLeaf

void setTranslateLeaf(boolean pVal)
                      throws IOException,
                             AutomationException
Indicates if the leaf connected to the path must be moved.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
pVal - The pVal (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isPathPreservation

boolean isPathPreservation()
                           throws IOException,
                                  AutomationException
Indicates if the path for the incident links related to the moved nodes is preserved during the algorithm execution.

Description

In this case, the initial intermediate points displayed on these links are preserved and new intermediate points are displayed at the moved node initial position.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setPathPreservation

void setPathPreservation(boolean pVal)
                         throws IOException,
                                AutomationException
Indicates if the path for the incident links related to the moved nodes is preserved during the algorithm execution.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
pVal - The pVal (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isMoveNodeDeg1

boolean isMoveNodeDeg1()
                       throws IOException,
                              AutomationException
Indicates if the leave nodes (that is, the node with degree 1) can be moved during the algorithm execution.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ISchematicAlgoLinearDispatch.isNotMoveNodeDeg3(), ISchematicAlgoLinearDispatch.getNodesMovements()

setMoveNodeDeg1

void setMoveNodeDeg1(boolean pVal)
                     throws IOException,
                            AutomationException
Indicates if the leave nodes (that is, the node with degree 1) can be moved during the algorithm execution.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
pVal - The pVal (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isNotMoveNodeDeg3

boolean isNotMoveNodeDeg3()
                          throws IOException,
                                 AutomationException
Indicates if the nodes with degree 3 can not be moved during the algorithm execution.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ISchematicAlgoLinearDispatch.isMoveNodeDeg1(), ISchematicAlgoLinearDispatch.getNodesMovements()

setNotMoveNodeDeg3

void setNotMoveNodeDeg3(boolean pVal)
                        throws IOException,
                               AutomationException
Indicates if the nodes with degree 3 can not be moved during the algorithm execution.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
pVal - The pVal (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLeaveMaximalShift

double getLeaveMaximalShift()
                            throws IOException,
                                   AutomationException
Maximum distance the leave nodes must be spaced from the nodes that they connect when they are authorized to be moved during the algorithm execution.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setLeaveMaximalShift

void setLeaveMaximalShift(double pVal)
                          throws IOException,
                                 AutomationException
Maximum distance the leave nodes must be spaced from the nodes that they connect when they are authorized to be moved during the algorithm execution.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
pVal - The pVal (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMinimalShift

double getMinimalShift()
                       throws IOException,
                              AutomationException
Minimum distance the nodes with degree 2 must be spaced from their link extremity after the algorithm execution. Must be set only when the NodesMovement type is esriSchematicUserDefineDistance.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ISchematicAlgoLinearDispatch.getMaximalShift()

setMinimalShift

void setMinimalShift(double pVal)
                     throws IOException,
                            AutomationException
Minimum distance the nodes with degree 2 must be spaced from their link extremity after the algorithm execution. Must be set only when the NodesMovement type is esriSchematicUserDefineDistance.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
pVal - The pVal (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMaximalShift

double getMaximalShift()
                       throws IOException,
                              AutomationException
Maximum distance the nodes with degree 2 must be spaced from their link extremity after the algorithm execution. When this distance is reached, nodes are not moved anymore. Must be set only when the NodesMovement type is esriSchematicIterativeDistance.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ISchematicAlgoLinearDispatch.getMinimalShift()

setMaximalShift

void setMaximalShift(double pVal)
                     throws IOException,
                            AutomationException
Maximum distance the nodes with degree 2 must be spaced from their link extremity after the algorithm execution. When this distance is reached, nodes are not moved anymore. Must be set only when the NodesMovement type is esriSchematicIterativeDistance.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
pVal - The pVal (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getNodesMovements

int getNodesMovements()
                      throws IOException,
                             AutomationException
Node placement option for the layout.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
A com.esri.arcgis.schematic.esriSchematicMovementType constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ISchematicAlgoLinearDispatch.isMoveNodeDeg1(), ISchematicAlgoLinearDispatch.isNotMoveNodeDeg3()

setNodesMovements

void setNodesMovements(int pVal)
                       throws IOException,
                              AutomationException
Node placement option for the layout.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
pVal - A com.esri.arcgis.schematic.esriSchematicMovementType constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getAttractionFactor

double getAttractionFactor()
                           throws IOException,
                                  AutomationException
Factor used to quickly increase the schematic nodes displacement for nodes that are very close.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setAttractionFactor

void setAttractionFactor(double pVal)
                         throws IOException,
                                AutomationException
Factor used to quickly increase the schematic nodes displacement for nodes that are very close.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
pVal - The pVal (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getNumberOfIterations

int getNumberOfIterations()
                          throws IOException,
                                 AutomationException
Number of Linear Dispatch algorithm iterations that will be executed before the final result is shown. Must be set only when the NodesMovement type is esriSchematicIterativeDistance.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setNumberOfIterations

void setNumberOfIterations(int pVal)
                           throws IOException,
                                  AutomationException
Number of Linear Dispatch algorithm iterations that will be executed before the final result is shown. Must be set only when the NodesMovement type is esriSchematicIterativeDistance.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
pVal - The pVal (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isAbsoluteParameters

boolean isAbsoluteParameters()
                             throws IOException,
                                    AutomationException
Indicates if the values set for the distance parameters must be interpreted as absolute units.

Description

When this property returns false, the parameters that define the distances are expressed as relative units to the average of the current symbols sizes used to represent the schematic nodes in the diagram; for instance, when the MaximalShift property value is 2, the distance that will separate the nodes with degree 2 from the nodes they connect to will be at most the average size of two symbols placed side by side.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setAbsoluteParameters

void setAbsoluteParameters(boolean pVal)
                           throws IOException,
                                  AutomationException
Indicates if the values set for the distance parameters must be interpreted as absolute units.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
pVal - The pVal (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.