com.esri.arcgis.geodatabase
Class IGraphProxy

java.lang.Object
  extended by com.esri.arcgis.interop.Dispatch
      extended by com.esri.arcgis.geodatabase.IGraphProxy
All Implemented Interfaces:
IGraph, Externalizable, Serializable
Direct Known Subclasses:
IGeometricNetworkProxy

public class IGraphProxy
extends com.esri.arcgis.interop.Dispatch
implements IGraph, Serializable

Provides access to members that manage graphs.

Remarks

The IGraph interface contains methods and properties which are used in conjunction with geometric networks. Many of the methods, such as Add, Init, Split and Merge are called internally from within other methods. For these methods, there may be an analogous method or series of methods available, consult the specific help file for that method.

The NetworkLoader object should be used for creating or building of geometric networks, in place of the Graph or GeometricNetwork objects.

Since IGeometricNetwork inherits from IGraph, all the methods on IGraph are available to IGeometricNetwork

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

See Also:
IGeometricNetworkName, IGraph, IGraph.transformSet(com.esri.arcgis.system.ISet, int, com.esri.arcgis.geometry.IAffineTransformation2D), IGeometricNetwork.addJunctionWithSubsumption(com.esri.arcgis.geodatabase.ISimpleJunctionFeature, int, com.esri.arcgis.geodatabase.ISimpleJunctionFeature), IGraph.split(com.esri.arcgis.geodatabase.IEdgeFeature, com.esri.arcgis.geometry.IGeometry), IGeometricNetwork, Serialized Form

Field Summary
 
Fields inherited from class com.esri.arcgis.interop.Dispatch
DISPATCH_METHOD, DISPATCH_PROPERTYGET, DISPATCH_PROPERTYPUT, DISPATCH_PROPERTYPUTREF, E
 
Constructor Summary
  IGraphProxy()
           
  IGraphProxy(Object obj)
           
protected IGraphProxy(Object obj, String iid)
           
 
Method Summary
 void add(IFeature newFeature)
          Adds the preexisting Feature to the graph.
 void addFeatureClass(IFeatureClass featureClass, String enabledFieldName, int role, String ancillaryRoleFieldName)
          Add the FeatureClass to this graph.
 void addListener(String iidStr, Object theListener, Object theSource)
           
 void deleteSet(ISet featuresToDelete)
          Removes the set of Feature from the graph.
 IDisplayFeedback getDisplayFeedback(IFeature feature, ISet features, IPoint point)
          The DisplayFeedback.
 IFeatureDataset getFeatureDataset()
          The FeatureDataset associated with the graph.
 void init(IFeatureDataset dataset, int graphID, String graphName, boolean buildNormalizedTables, boolean createGraph)
          Initializes the graph.
 boolean isVertexBasedStretching()
          The stretching model to nearest vertex (true) or junction (false) based stretching.
 IEnumFeature merge(IEnumFeature mergingFeatures)
          Merges the Features together, returning the newly created Feature.
 void readExternal(ObjectInput in)
           
 void removeListener(String iidStr, Object theListener)
           
 void setVertexBasedStretching(boolean vertexBased)
          The stretching model to nearest vertex (true) or junction (false) based stretching.
 ISet split(IEdgeFeature splittingEdge, IGeometry point)
          Split the feature.
 void transformSet(ISet features, int type, IAffineTransformation2D tranformation)
          Repositions all specified NetworkFeatures and any topologically connected NetworkFeatures.
 void writeExternal(ObjectOutput out)
           
 
Methods inherited from class com.esri.arcgis.interop.Dispatch
bindUsingMoniker, constructVtblPosTable, convertToNative, cookieForListener, createDispatch, createObjrefMonikerDisplayName, equals, getActiveObject, getActiveObject, getDefaultProperty, getDispatchIdOfName, getLastErrorCode, getMtsObjectContext, getObjRef, getPropertyByName, getPropertyByName, getVtblPos, hashCode, initDispatch, invoke, invokeMethodByName, invokeMethodByName, invokeMethodByName, invokePropertyGetByName, invokePropertyPutByName, invokePropertyPutByRefByName, isNativeMode, isObjRef, queryInterface, release, setNativeMode, setPropertyByName, toString, vtblInvoke
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

IGraphProxy

public IGraphProxy()

IGraphProxy

public IGraphProxy(Object obj)
            throws IOException
Throws:
IOException

IGraphProxy

protected IGraphProxy(Object obj,
                      String iid)
               throws IOException
Throws:
IOException
Method Detail

addListener

public void addListener(String iidStr,
                        Object theListener,
                        Object theSource)
                 throws IOException
Overrides:
addListener in class com.esri.arcgis.interop.Dispatch
Throws:
IOException

removeListener

public void removeListener(String iidStr,
                           Object theListener)
                    throws IOException
Overrides:
removeListener in class com.esri.arcgis.interop.Dispatch
Throws:
IOException

add

public void add(IFeature newFeature)
         throws IOException,
                AutomationException
Adds the preexisting Feature to the graph.

Remarks

The IGraph:Add method is meant for internal use only.

There is no need to call INetworkFeature::CreateNetworkElements or INetworkFeature::Connect as these are handled internally by IFeature::Store

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
add in interface IGraph
Parameters:
newFeature - A reference to a com.esri.arcgis.geodatabase.IFeature (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addFeatureClass

public void addFeatureClass(IFeatureClass featureClass,
                            String enabledFieldName,
                            int role,
                            String ancillaryRoleFieldName)
                     throws IOException,
                            AutomationException
Add the FeatureClass to this graph.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
addFeatureClass in interface IGraph
Parameters:
featureClass - A reference to a com.esri.arcgis.geodatabase.IFeatureClass (in)
enabledFieldName - The enabledFieldName (in)
role - A com.esri.arcgis.geodatabase.esriNetworkClassAncillaryRole constant (in)
ancillaryRoleFieldName - The ancillaryRoleFieldName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

deleteSet

public void deleteSet(ISet featuresToDelete)
               throws IOException,
                      AutomationException
Removes the set of Feature from the graph.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
deleteSet in interface IGraph
Parameters:
featuresToDelete - A reference to a com.esri.arcgis.system.ISet (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IWorkspaceEdit, ISpatialCacheManager, IWorkspaceEditEvents, com.esri.arcgis.editor.Editor, IFeatureClass.createFeature()

getFeatureDataset

public IFeatureDataset getFeatureDataset()
                                  throws IOException,
                                         AutomationException
The FeatureDataset associated with the graph.

Remarks

Returns a reference to the feature dataset in which the graph exists.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getFeatureDataset in interface IGraph
Returns:
A reference to a com.esri.arcgis.geodatabase.IFeatureDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDisplayFeedback

public IDisplayFeedback getDisplayFeedback(IFeature feature,
                                           ISet features,
                                           IPoint point)
                                    throws IOException,
                                           AutomationException
The DisplayFeedback.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getDisplayFeedback in interface IGraph
Parameters:
feature - A reference to a com.esri.arcgis.geodatabase.IFeature (in)
features - A reference to a com.esri.arcgis.system.ISet (in)
point - A reference to a com.esri.arcgis.geometry.IPoint (in)
Returns:
A reference to a com.esri.arcgis.display.IDisplayFeedback
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

init

public void init(IFeatureDataset dataset,
                 int graphID,
                 String graphName,
                 boolean buildNormalizedTables,
                 boolean createGraph)
          throws IOException,
                 AutomationException
Initializes the graph.

Remarks

The IGraph::Init method is called internally during the process of creating a Geometric Network and should be called independently.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
init in interface IGraph
Parameters:
dataset - A reference to a com.esri.arcgis.geodatabase.IFeatureDataset (in)
graphID - The graphID (in)
graphName - The graphName (in)
buildNormalizedTables - The buildNormalizedTables (in)
createGraph - The createGraph (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

merge

public IEnumFeature merge(IEnumFeature mergingFeatures)
                   throws IOException,
                          AutomationException
Merges the Features together, returning the newly created Feature.

Remarks

The Merge method is not currently implemented.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
merge in interface IGraph
Parameters:
mergingFeatures - A reference to a com.esri.arcgis.geodatabase.IEnumFeature (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IEnumFeature
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

split

public ISet split(IEdgeFeature splittingEdge,
                  IGeometry point)
           throws IOException,
                  AutomationException
Split the feature.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
split in interface IGraph
Parameters:
splittingEdge - A reference to a com.esri.arcgis.geodatabase.IEdgeFeature (in)
point - A reference to a com.esri.arcgis.geometry.IGeometry (in)
Returns:
A reference to a com.esri.arcgis.system.ISet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IGeometricNetworkName, IWorkspaceEdit, IGraph, ISpatialCacheManager, IGraph.transformSet(com.esri.arcgis.system.ISet, int, com.esri.arcgis.geometry.IAffineTransformation2D), IGeometricNetwork.addJunctionWithSubsumption(com.esri.arcgis.geodatabase.ISimpleJunctionFeature, int, com.esri.arcgis.geodatabase.ISimpleJunctionFeature), IWorkspaceEditEvents, IGraph.split(com.esri.arcgis.geodatabase.IEdgeFeature, com.esri.arcgis.geometry.IGeometry), IGeometricNetwork, com.esri.arcgis.editor.Editor, IFeatureClass.createFeature()

transformSet

public void transformSet(ISet features,
                         int type,
                         IAffineTransformation2D tranformation)
                  throws IOException,
                         AutomationException
Repositions all specified NetworkFeatures and any topologically connected NetworkFeatures.

Remarks

TransformSet will maintain connectivity between network features, there is no need to call Connect or RebuildConnectivity after TransformSet to establish connectivity. The type of stretching that is employed during TransformSet can be changed using the VertexBasedStretching property.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
transformSet in interface IGraph
Parameters:
features - A reference to a com.esri.arcgis.system.ISet (in)
type - A com.esri.arcgis.geodatabase.esriTransformType constant (in)
tranformation - A reference to a com.esri.arcgis.geometry.IAffineTransformation2D (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IWorkspaceEdit, ISpatialCacheManager, IWorkspaceEditEvents, com.esri.arcgis.editor.Editor, IFeatureClass.createFeature()

isVertexBasedStretching

public boolean isVertexBasedStretching()
                                throws IOException,
                                       AutomationException
The stretching model to nearest vertex (true) or junction (false) based stretching.

Description

VertexBasedStretching controls the stretching model for the specified graph: vertex (true) or junction (false) based stretching. Vertex based stretching modifies features to the nearest vertex(es), while junction based stretching will proportionally modify the feature to the nearest junction(s).

The VertexBasedStretching property should be used to set or get the stretching model when edits are being made to the workspace using the IWorkspaceEdit interface. During an edit session in the Editor, VertexBasedStretching can be used to get the stretching model but cannot be used to set the stretching model. In this case IEditProperties::StretchGeometry overwrites VertexBasedStretching and should be used to set the desired stretching model.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isVertexBasedStretching in interface IGraph
Returns:
The vertexBased
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INetworkUpdate, IForwardStar, IGraph, INetworkClass.getNetworkAncillaryRole(), INetworkWorkspace, INetworkClass.getGeometricNetwork(), INetworkClass.getFieldToWeightMapping(int), IUtilityNetwork, INetwork

setVertexBasedStretching

public void setVertexBasedStretching(boolean vertexBased)
                              throws IOException,
                                     AutomationException
The stretching model to nearest vertex (true) or junction (false) based stretching.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setVertexBasedStretching in interface IGraph
Parameters:
vertexBased - The vertexBased (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INetworkUpdate, IWorkspaceEdit, IForwardStar, ISpatialCacheManager, IGraph, INetworkClass.getNetworkAncillaryRole(), INetworkWorkspace, IWorkspaceEditEvents, INetworkClass.getGeometricNetwork(), com.esri.arcgis.editor.Editor, INetworkClass.getFieldToWeightMapping(int), IFeatureClass.createFeature(), IUtilityNetwork, INetwork

writeExternal

public void writeExternal(ObjectOutput out)
                   throws IOException
Specified by:
writeExternal in interface Externalizable
Overrides:
writeExternal in class com.esri.arcgis.interop.Dispatch
Throws:
IOException

readExternal

public void readExternal(ObjectInput in)
                  throws IOException,
                         ClassNotFoundException
Specified by:
readExternal in interface Externalizable
Overrides:
readExternal in class com.esri.arcgis.interop.Dispatch
Throws:
IOException
ClassNotFoundException