com.esri.arcgis.schematic
Class SchematicAlgoOrthogonal

java.lang.Object
  extended by com.esri.arcgis.schematic.SchematicAlgoOrthogonal
All Implemented Interfaces:
com.esri.arcgis.interop.RemoteObjRef, ISchematicAlgoOrthogonal, ISchematicAlgorithm, Serializable

public class SchematicAlgoOrthogonal
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, ISchematicAlgoOrthogonal, ISchematicAlgorithm

Orthogonal schematic algorithm object.

Product Availability

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

See Also:
Serialized Form

Constructor Summary
SchematicAlgoOrthogonal()
          Constructs a SchematicAlgoOrthogonal using ArcGIS Engine.
SchematicAlgoOrthogonal(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
SchematicAlgoOrthogonal theSchematicAlgoOrthogonal = (SchematicAlgoOrthogonal) obj;
 
Method Summary
 boolean equals(Object o)
          Compare this object with another
 void execute(ISchematicLayer schematicLayer, ITrackCancel cancelTracker)
          Execute the schematic algorithm.
 String getAlgorithmCLSID()
          The CLSID of the algorithm.
 double getAngle()
          Counterclockwise rotation angle from the vertical axis that determines the direction for the orthogonal layout.
 double getBreakPoint()
          Number comprised between 0 and 1 that allows computing the distance between the extremity node of the links and the break points that will be inserted on the links that are overlapping.
static String getClsid()
          getClsid.
 double getDistanceBetweenLinks()
          Number comprised between 0 and 1 used to compute the distance between the links or the link segments that are overlapping so that they are separated.
 double getHorizontalStep()
          Spacing between the nodes aligned on the same horizontal axis.
 String getLabel()
          The label of the algorithm.
 IPropertySet getPropertySet()
          The property set of the algorithm contains a collection of its parameters and their values.
 ISchematicDiagramClassName getSchematicDiagramClassName()
          The diagram class object used to initialize the algorithm.
 double getVerticalStep()
          Spacing between the nodes aligned on the same vertical axis.
 int hashCode()
          the hashcode for this object
 boolean isAbsoluteParameters()
          Indicates if the values set for the spacing and step parameters must be interpreted as absolute units.
 boolean isAvailable()
          Indicates if the algorithm is currently available.
 boolean isEnabled(ISchematicLayer schematicLayer)
          Indicates if the algorithm is currently enabled.
 boolean isOverridable()
          Indicates if the algorithm properties page is editable from ArcMap; that is, enabling the Layout Properties button in ArcMap.
 boolean isUseEndNode()
          Indicates if the algorithm use end nodes.
 boolean isUseRootNode()
          Indicates if the algorithm use root nodes.
 void setAbsoluteParameters(boolean pVal)
          Indicates if the values set for the spacing and step parameters must be interpreted as absolute units.
 void setAngle(double pVal)
          Counterclockwise rotation angle from the vertical axis that determines the direction for the orthogonal layout.
 void setAvailable(boolean available)
          Indicates if the algorithm is currently available.
 void setBreakPoint(double pVal)
          Number comprised between 0 and 1 that allows computing the distance between the extremity node of the links and the break points that will be inserted on the links that are overlapping.
 void setDistanceBetweenLinks(double pVal)
          Number comprised between 0 and 1 used to compute the distance between the links or the link segments that are overlapping so that they are separated.
 void setHorizontalStep(double pVal)
          Spacing between the nodes aligned on the same horizontal axis.
 void setLabel(String label)
          The label of the algorithm.
 void setOverridable(boolean pOverridable)
          Indicates if the algorithm properties page is editable from ArcMap; that is, enabling the Layout Properties button in ArcMap.
 void setPropertySet(IPropertySet propertySet)
          The property set of the algorithm contains a collection of its parameters and their values.
 void setSchematicDiagramClassNameByRef(ISchematicDiagramClassName schematicDiagramClassName)
          The diagram class object used to initialize the algorithm.
 void setVerticalStep(double pVal)
          Spacing between the nodes aligned on the same vertical axis.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.esri.arcgis.interop.RemoteObjRef
getJintegraDispatch, release
 

Constructor Detail

SchematicAlgoOrthogonal

public SchematicAlgoOrthogonal()
                        throws IOException,
                               UnknownHostException
Constructs a SchematicAlgoOrthogonal using ArcGIS Engine.

Throws:
IOException - if there are interop problems
UnknownHostException - if there are interop problems

SchematicAlgoOrthogonal

public SchematicAlgoOrthogonal(Object obj)
                        throws IOException
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
SchematicAlgoOrthogonal theSchematicAlgoOrthogonal = (SchematicAlgoOrthogonal) obj;

Construct a SchematicAlgoOrthogonal using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to SchematicAlgoOrthogonal.

Parameters:
obj - an object returned from ArcGIS Engine or Server
Throws:
IOException - if there are interop problems
Method Detail

getClsid

public static String getClsid()
getClsid.


equals

public boolean equals(Object o)
Compare this object with another

Overrides:
equals in class Object

hashCode

public int hashCode()
the hashcode for this object

Overrides:
hashCode in class Object

getHorizontalStep

public double getHorizontalStep()
                         throws IOException,
                                AutomationException
Spacing between the nodes aligned on the same horizontal axis.

Description

This property value determines the minimum X distance between two nodes that are horizontally aligned. All nodes aligned on the same horizontal axis will be exactly spaced by this distance or by a multiple of this distance.

Product Availability

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

Specified by:
getHorizontalStep in interface ISchematicAlgoOrthogonal
Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ISchematicAlgoOrthogonal.getVerticalStep()

setHorizontalStep

public void setHorizontalStep(double pVal)
                       throws IOException,
                              AutomationException
Spacing between the nodes aligned on the same horizontal axis.

Product Availability

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

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

getVerticalStep

public double getVerticalStep()
                       throws IOException,
                              AutomationException
Spacing between the nodes aligned on the same vertical axis.

Description

This property value determines the minimum Y distance between two nodes that are vertically aligned. All nodes aligned on the same vertical axis will be exactly spaced by this distance or by a multiple of this distance.

Product Availability

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

Specified by:
getVerticalStep in interface ISchematicAlgoOrthogonal
Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ISchematicAlgoOrthogonal.getHorizontalStep()

setVerticalStep

public void setVerticalStep(double pVal)
                     throws IOException,
                            AutomationException
Spacing between the nodes aligned on the same vertical axis.

Product Availability

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

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

getDistanceBetweenLinks

public double getDistanceBetweenLinks()
                               throws IOException,
                                      AutomationException
Number comprised between 0 and 1 used to compute the distance between the links or the link segments that are overlapping so that they are separated.

Description

For horizontal links that are overlapping, this value is combined with the VerticalStep property value. When the VerticalStep value is 6 and the DistanceBetweenLinks property value is 0.5, the vertical spacing that will separate overlapping links will be 6 x 0.5; that is, 3. For vertical links that are overlapping, this value is combined with the HorizontalStep property value. When the HorizontalStep property value is 6 and the DistanceBetweenLinks property value is 0.5, the horizontal spacing that will separate overlapping links will be 6 x 0.5; that is, 3.

Product Availability

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

Specified by:
getDistanceBetweenLinks in interface ISchematicAlgoOrthogonal
Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDistanceBetweenLinks

public void setDistanceBetweenLinks(double pVal)
                             throws IOException,
                                    AutomationException
Number comprised between 0 and 1 used to compute the distance between the links or the link segments that are overlapping so that they are separated.

Product Availability

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

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

getBreakPoint

public double getBreakPoint()
                     throws IOException,
                            AutomationException
Number comprised between 0 and 1 that allows computing the distance between the extremity node of the links and the break points that will be inserted on the links that are overlapping.

Description

For horizontal links that are overlapping, this value is combined with the HorizontalStep property value to compute the inserted break point X coordinate. When the HorizontalStep property value is 3 and the BreakPoint distance is 0.5, the horizontal spacing between the extremity node and the break point that will be inserted in order to separate the overlapping links will be 3 x 0.5; that is 1.5. For vertical links that are overlapping, this value is combined with the VerticalStep property value to compute the inserted break point Y coordinate. When the VerticalStep property value is 3 and the BreakPoint distance is 0.5, the vertical spacing between the extremity node and the break point that will be inserted in order to separate the overlapping links will be 3 x 0.5; that is 1.5.

Product Availability

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

Specified by:
getBreakPoint in interface ISchematicAlgoOrthogonal
Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setBreakPoint

public void setBreakPoint(double pVal)
                   throws IOException,
                          AutomationException
Number comprised between 0 and 1 that allows computing the distance between the extremity node of the links and the break points that will be inserted on the links that are overlapping.

Product Availability

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

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

getAngle

public double getAngle()
                throws IOException,
                       AutomationException
Counterclockwise rotation angle from the vertical axis that determines the direction for the orthogonal layout.

Description

By default, when no Angle value is specified, the Orthogonal layout arranges the schematic elements orthogonally positioning the root node at the bottom and the leave nodes at the top.

Product Availability

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

Specified by:
getAngle in interface ISchematicAlgoOrthogonal
Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setAngle

public void setAngle(double pVal)
              throws IOException,
                     AutomationException
Counterclockwise rotation angle from the vertical axis that determines the direction for the orthogonal layout.

Product Availability

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

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

isAbsoluteParameters

public boolean isAbsoluteParameters()
                             throws IOException,
                                    AutomationException
Indicates if the values set for the spacing and step 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 HorizontalStep property value is 2, the distance that separates two nodes that are horizontally aligned corresponds to the average size of two symbols placed side by side (or to a multiple of this average size).

Product Availability

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

Specified by:
isAbsoluteParameters in interface ISchematicAlgoOrthogonal
Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setAbsoluteParameters

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

Product Availability

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

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

isEnabled

public boolean isEnabled(ISchematicLayer schematicLayer)
                  throws IOException,
                         AutomationException
Indicates if the algorithm is currently enabled.

Product Availability

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

Specified by:
isEnabled in interface ISchematicAlgorithm
Parameters:
schematicLayer - A reference to a com.esri.arcgis.schematic.ISchematicLayer (in, optional, pass 0 if not required)
Returns:
The enabled
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isAvailable

public boolean isAvailable()
                    throws IOException,
                           AutomationException
Indicates if the algorithm is currently available.

Product Availability

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

Specified by:
isAvailable in interface ISchematicAlgorithm
Returns:
The available
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setAvailable

public void setAvailable(boolean available)
                  throws IOException,
                         AutomationException
Indicates if the algorithm is currently available.

Product Availability

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

Specified by:
setAvailable in interface ISchematicAlgorithm
Parameters:
available - The available (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isOverridable

public boolean isOverridable()
                      throws IOException,
                             AutomationException
Indicates if the algorithm properties page is editable from ArcMap; that is, enabling the Layout Properties button in ArcMap.

Product Availability

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

Specified by:
isOverridable in interface ISchematicAlgorithm
Returns:
The pOverridable
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setOverridable

public void setOverridable(boolean pOverridable)
                    throws IOException,
                           AutomationException
Indicates if the algorithm properties page is editable from ArcMap; that is, enabling the Layout Properties button in ArcMap.

Product Availability

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

Specified by:
setOverridable in interface ISchematicAlgorithm
Parameters:
pOverridable - The pOverridable (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSchematicDiagramClassName

public ISchematicDiagramClassName getSchematicDiagramClassName()
                                                        throws IOException,
                                                               AutomationException
The diagram class object used to initialize the algorithm.

Product Availability

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

Specified by:
getSchematicDiagramClassName in interface ISchematicAlgorithm
Returns:
A reference to a com.esri.arcgis.schematic.ISchematicDiagramClassName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSchematicDiagramClassNameByRef

public void setSchematicDiagramClassNameByRef(ISchematicDiagramClassName schematicDiagramClassName)
                                       throws IOException,
                                              AutomationException
The diagram class object used to initialize the algorithm.

Product Availability

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

Specified by:
setSchematicDiagramClassNameByRef in interface ISchematicAlgorithm
Parameters:
schematicDiagramClassName - A reference to a com.esri.arcgis.schematic.ISchematicDiagramClassName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLabel

public String getLabel()
                throws IOException,
                       AutomationException
The label of the algorithm.

Product Availability

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

Specified by:
getLabel in interface ISchematicAlgorithm
Returns:
The label
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setLabel

public void setLabel(String label)
              throws IOException,
                     AutomationException
The label of the algorithm.

Product Availability

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

Specified by:
setLabel in interface ISchematicAlgorithm
Parameters:
label - The label (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isUseRootNode

public boolean isUseRootNode()
                      throws IOException,
                             AutomationException
Indicates if the algorithm use root nodes.

Product Availability

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

Specified by:
isUseRootNode in interface ISchematicAlgorithm
Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isUseEndNode

public boolean isUseEndNode()
                     throws IOException,
                            AutomationException
Indicates if the algorithm use end nodes.

Product Availability

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

Specified by:
isUseEndNode in interface ISchematicAlgorithm
Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getPropertySet

public IPropertySet getPropertySet()
                            throws IOException,
                                   AutomationException
The property set of the algorithm contains a collection of its parameters and their values.

Product Availability

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

Specified by:
getPropertySet in interface ISchematicAlgorithm
Returns:
A reference to a com.esri.arcgis.system.IPropertySet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setPropertySet

public void setPropertySet(IPropertySet propertySet)
                    throws IOException,
                           AutomationException
The property set of the algorithm contains a collection of its parameters and their values.

Product Availability

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

Specified by:
setPropertySet in interface ISchematicAlgorithm
Parameters:
propertySet - A reference to a com.esri.arcgis.system.IPropertySet (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getAlgorithmCLSID

public String getAlgorithmCLSID()
                         throws IOException,
                                AutomationException
The CLSID of the algorithm.

Product Availability

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

Specified by:
getAlgorithmCLSID in interface ISchematicAlgorithm
Returns:
The bstrCLSID
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

execute

public void execute(ISchematicLayer schematicLayer,
                    ITrackCancel cancelTracker)
             throws IOException,
                    AutomationException
Execute the schematic algorithm.

Product Availability

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

Specified by:
execute in interface ISchematicAlgorithm
Parameters:
schematicLayer - A reference to a com.esri.arcgis.schematic.ISchematicLayer (in, optional, pass 0 if not required)
cancelTracker - A reference to a com.esri.arcgis.system.ITrackCancel (in, optional, pass 0 if not required)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.