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, ISchematicAlgorithmParameters, ISupportErrorInfo, Serializable

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

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)
          Construct a SchematicAlgoOrthogonal using a reference to such an object returned from ArcGIS Engine or Server.
 
Method Summary
 boolean equals(Object o)
          Compare this object with another
 void execute(INgView view, INgCancelTracker tracker)
          Executes the schematic algorithm.
 String getAlgorithmCLSID()
          CLSID of the schematic 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()
          Label for the schematic algorithm that displays in the Layout Task dropdown list.
 INgNames getParameterNames()
          List of the names for the schematic algorithm parameters.
 Object getParameterValue(String name)
          List of the values for the schematic algorithm parameters.
 INgProject getProject()
          Project the schematic algorithm is related to.
 double getVerticalStep()
          Spacing between the nodes aligned on the same vertical axis.
 int hashCode()
          the hashcode for this object
 void initialize(INgProject wrk)
          Initializes the schematic algorithm for the specified project.
 void interfaceSupportsErrorInfo(GUID riid)
          interfaceSupportsErrorInfo
 boolean isAbsoluteParameters()
          Indicates if the values set for the spacing and step parameters must be interpreted as absolute units.
 boolean isAvailable()
          Indicates if the schematic algorithm is available from the Layout Task dropdown list.
 boolean isEnabled(INgView view)
          Indicates if the schematic algorithm is enabled.
 boolean isWorkOnUnvisibleObjects()
          Indicates if the Orthogonal algorithm must work both with the visible and invisible graphic elements.
 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 pVal)
          Indicates if the schematic algorithm is available from the Layout Task dropdown list.
 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 pVal)
          Label for the schematic algorithm that displays in the Layout Task dropdown list.
 void setParameterValue(String name, Object value)
          List of the values for the schematic algorithm parameters.
 void setVerticalStep(double pVal)
          Spacing between the nodes aligned on the same vertical axis.
 void setWorkOnUnvisibleObjects(boolean pVal)
          Indicates if the Orthogonal algorithm must work both with the visible and invisible graphic elements.
 
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
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 SchematicAlgoOrthogonal theSchematicAlgoOrthogonal = (SchematicAlgoOrthogonal) obj;
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.

isWorkOnUnvisibleObjects

public boolean isWorkOnUnvisibleObjects()
                                 throws IOException,
                                        AutomationException
Indicates if the Orthogonal algorithm must work both with the visible and invisible graphic elements.

Product Availability

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

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

setWorkOnUnvisibleObjects

public void setWorkOnUnvisibleObjects(boolean pVal)
                               throws IOException,
                                      AutomationException
Indicates if the Orthogonal algorithm must work both with the visible and invisible graphic elements.

Product Availability

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

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

execute

public void execute(INgView view,
                    INgCancelTracker tracker)
             throws IOException,
                    AutomationException
Executes the schematic algorithm.

Product Availability

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

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

isEnabled

public boolean isEnabled(INgView view)
                  throws IOException,
                         AutomationException
Indicates if the schematic algorithm is enabled. That is, if the Apply button is available.

Product Availability

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

Specified by:
isEnabled in interface ISchematicAlgorithm
Parameters:
view - A reference to a com.esri.arcgis.schematic.INgView (in, optional, pass 0 if not required)
Returns:
The pVal
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 schematic algorithm is available from the Layout Task dropdown list.

Product Availability

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

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

setAvailable

public void setAvailable(boolean pVal)
                  throws IOException,
                         AutomationException
Indicates if the schematic algorithm is available from the Layout Task dropdown list.

Product Availability

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

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

getLabel

public String getLabel()
                throws IOException,
                       AutomationException
Label for the schematic algorithm that displays in the Layout Task dropdown list.

Product Availability

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

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

setLabel

public void setLabel(String pVal)
              throws IOException,
                     AutomationException
Label for the schematic algorithm that displays in the Layout Task dropdown list.

Product Availability

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

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

initialize

public void initialize(INgProject wrk)
                throws IOException,
                       AutomationException
Initializes the schematic algorithm for the specified project.

Product Availability

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

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

getAlgorithmCLSID

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

Product Availability

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

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

getProject

public INgProject getProject()
                      throws IOException,
                             AutomationException
Project the schematic algorithm is related to.

Product Availability

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

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

getParameterNames

public INgNames getParameterNames()
                           throws IOException,
                                  AutomationException
List of the names for the schematic algorithm parameters.

Product Availability

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

Specified by:
getParameterNames in interface ISchematicAlgorithmParameters
Returns:
A reference to a com.esri.arcgis.schematic.INgNames
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ISchematicAlgorithmParameters.setParameterValue(String, java.lang.Object)

setParameterValue

public void setParameterValue(String name,
                              Object value)
                       throws IOException,
                              AutomationException
List of the values for the schematic algorithm parameters.

Product Availability

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

Specified by:
setParameterValue in interface ISchematicAlgorithmParameters
Parameters:
name - The name (in)
value - A Variant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getParameterValue

public Object getParameterValue(String name)
                         throws IOException,
                                AutomationException
List of the values for the schematic algorithm parameters.

Product Availability

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

Specified by:
getParameterValue in interface ISchematicAlgorithmParameters
Parameters:
name - The name (in)
Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

interfaceSupportsErrorInfo

public void interfaceSupportsErrorInfo(GUID riid)
                                throws IOException,
                                       AutomationException
interfaceSupportsErrorInfo

Description

Indicates whether the interface supports IErrorInfo.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
interfaceSupportsErrorInfo in interface ISupportErrorInfo
Parameters:
riid - A Structure: com.esri.arcgis.support.ms.stdole.GUID (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.