|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.esri.arcgis.geodatabase.ComplexJunctionFeature
public class ComplexJunctionFeature
ESRI Complex junction geometric network feature.
It is recommended that developers do not use Complex Junctions in their data modeling solutions. Developers can leverage existing Geodatabase components in order to implement partial functionality, such as IFeatureClassExtension.
Constructor Summary | |
---|---|
ComplexJunctionFeature()
Constructs a ComplexJunctionFeature using ArcGIS Engine. |
|
ComplexJunctionFeature(Object obj)
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts. ComplexJunctionFeature theComplexJunctionFeature = (ComplexJunctionFeature) obj; |
Method Summary | |
---|---|
IDisplayFeedback |
beginMoveSet(ISet features,
IPoint start)
Prepares the set of features for a move operation. |
void |
connect()
Connect the Feature to the geometrically coincident NetworkFeature. |
IEnumNetEID |
createNetworkElements()
Create the necessary NetworkElements in the associated Logical Network. |
void |
delete()
Deletes the row. |
void |
deleteSet(ISet rows)
Deletes the set of rows. |
void |
disconnect()
Disconnect the Feature from all connected NetworkFeatures. |
void |
draw(int drawPhase,
IDisplay display,
ISymbol symbol,
boolean symbolInstalled,
IGeometry geometry,
int drawStyle)
Draws the feature on the display. |
boolean |
equals(Object o)
Compare this object with another |
IObjectClass |
esri_getClass()
The Object Class for the row. |
int |
findEdgeEID(IPoint point)
The EID associated with the EdgeElement at the specified point. |
int |
findJunctionEID(IPoint point)
The EID associated with the JunctionElement at the specified point. |
static String |
getClsid()
getClsid. |
IFeatureElement |
getConnectionPoint(int connectionPointIndex)
The specified connection point. |
IFeatureElement |
getConnectionPointByName(String connectionPointName)
The specified named connection point. |
int |
getConnectionPointCount()
The number of connection points associated with the Feature. |
String |
getConnectionPointName(int connectionPointIndex)
The name of the specified connection point. |
int |
getEdgeElementCount()
The number of edge elements associated with this Feature. |
IEdgeFeature |
getEdgeFeature(int connectionPointIndex,
int index)
The EdgeFeature associated with the specified index value and the indexed connection point. |
int |
getEdgeFeatureCount(int connectionPointIndex)
The number of EdgeFeatures associated with the indexed connection point. |
IEnvelope |
getExtent()
The extent of the feature. |
int |
getFeatureType()
The type of the feature. |
IFields |
getFields()
The fields Collection for this row buffer. |
int |
getFieldToEIDMapping(int fieldIndex)
The EID associated with the specified field index. |
IGeometricNetwork |
getGeometricNetwork()
The containing GeometricNetwork. |
IGeometry |
getGeometryForEdgeElement(int subID)
The geometry corresponding to the element with the given subID. |
IGeometry |
getGeometryForJunctionElement(int subID)
The geometry (point) corresponding to the junction with the given subID. |
IInvalidArea |
getInvalidArea()
The area to be drawn. |
IFields |
getInvalidFields()
Returns all invalid fields. |
IEnumRule |
getInvalidRules()
The set of all invalid rules. |
IEnumRule |
getInvalidRulesByField(String fieldName)
The set of all invalid rules for the specified field. |
int |
getJunctionElementCount()
The number of junctions associated with this Feature. |
int |
getNetworkAncillaryRole()
Programmatic update of the NetworkFeature. |
int |
getOID()
The OID for the row. |
IGeometry |
getOriginalGeometryForJunctionElement(int subID)
The geometry (point) corresponding to the junction with the given subID. |
IGeometry |
getOriginalShape()
The original shape for the feature. |
Object |
getOriginalValue(int index)
The value of the field at the specified index immediately after the last call to Store on the Row object. |
IGeometry |
getShape()
A reference to the default shape for the feature. |
IGeometry |
getShapeCopy()
A cloned copy of the default shape for the feature. |
int |
getSubtypeCode()
The subtype for the row. |
ITable |
getTable()
The Table for the row. |
int |
getTopologicalConfiguration()
The configuration of this Feature. |
Object |
getValue(int index)
The value of the field with the specified index. |
int |
hashCode()
the hashcode for this object |
void |
initDefaultValues()
The default values of the row. |
void |
initShape()
Initialize the shape. |
void |
interfaceSupportsErrorInfo(GUID riid)
interfaceSupportsErrorInfo |
boolean |
isEnabled()
Indicates whether the NetworkFeature is open or not (i.e., closed). |
boolean |
isEnabledByIndex(int edgeIndex)
Indicates whether the NetworkFeature is open or not (i.e., closed). |
boolean |
isEqual(IRow otherRow)
Indicates if the rows (which may be from two different versions) are the same (oid + values). |
boolean |
isHasOID()
Indicates if the row has an OID. |
boolean |
isShapeChanged()
Indicates if the shape has changed. |
boolean |
isSimpleGeometry(IGeometry geometry,
int[] reason)
Returns true if the input geometry is simple according to the rules appropriate for this feature. |
boolean |
isValueChanged(int index)
Indicates whether the value of the field at the specified index has changed since the last call to Store on the Row object. |
void |
moveSet(ISet features,
ILine moveVector)
Moves the set of features through a distance and direction specified by moveVector. |
void |
onChanged()
An after event that is fired when a custom object is changed. |
void |
onConnect()
Preparation for connecting a NetworkFeature to another. |
void |
onDelete()
An after event that is fired when a custom object is deleted. |
void |
onDisconnect()
Preparation for disconnecting the NetworkFeature. |
void |
onInitialize()
An after event that is fired when a custom object is initialized. |
void |
onMerge()
An after event that is fired when Features have been merged, on each deleted input Feature. |
void |
onNew()
An after event that is fired when a custom object is Stored for the first time. |
void |
onSplit()
An after event that is fired when a Feature is split, on the deleted input Feature. |
void |
onValidate()
An after event that is fired when a custom object is validated. |
void |
project(ISpatialReference outputSR)
Project the feature geometry to the provided spatial reference. |
void |
relatedObjectChanged(IRelationshipClass relationshipClass,
IObject objectThatChanged)
Notifies this object that a related object changed. |
void |
relatedObjectMoved(IRelationshipClass relationshipClass,
IObject objectThatChanged,
ILine moveVector)
Notifies this object that a related object moved. |
void |
relatedObjectRotated(IRelationshipClass relationshipClass,
IObject objectThatChanged,
IPoint origin,
double angle)
Notifies this object that a related object rotated. |
void |
relatedObjectSetMoved(IRelationshipClass relationshipClass,
ISet objectsThatNeedToChange,
ISet objectsThatChanged,
ILine moveVector)
Notifies this object that a set of objects with relationships to the input set of objects moved. |
void |
relatedObjectSetRotated(IRelationshipClass relationshipClass,
ISet objectsThatNeedToChange,
ISet objectsThatChanged,
IPoint origin,
double angle)
Notifies this object that a set of objects with relationships to the input set of objects rotated. |
void |
rotateSet(ISet features,
IPoint origin,
double angle)
Rotates the set of features according to the specified origin and angle. |
void |
setEnabled(boolean isEnabled)
Indicates whether the NetworkFeature is open or not (i.e., closed). |
void |
setEnabledByIndex(int edgeIndex,
boolean isEnabled)
Indicates whether the NetworkFeature is open or not (i.e., closed). |
void |
setInvalidAreaByRef(IInvalidArea invalidArea)
The area to be drawn. |
void |
setJunctionElementCount(int numJunctions)
The number of junctions associated with this Feature. |
void |
setNetworkAncillaryRole(int role)
Programmatic update of the NetworkFeature. |
void |
setRotationAngle(double rhs1)
The rotation angle of this Feature. |
void |
setShapeByRef(IGeometry shape)
A reference to the default shape for the feature. |
void |
setSubtypeCode(int subtypeCode)
The subtype for the row. |
void |
setTopologicalConfiguration(int configuration)
The configuration of this Feature. |
void |
setValue(int index,
Object value)
The value of the field with the specified index. |
void |
simplifyGeometry(IGeometry geometry)
Simplifies the input geometry using the rules appropriate for this feature. |
boolean |
snap(IPoint point,
double tolerance)
Snap the feature based on the arguments. |
ISet |
split(IGeometry point)
Split the feature. |
void |
splitAttributes(IFeature baseFeature)
Split the feature attributes. |
ISet |
splitWithUpdate(IGeometry geometry)
Split the feature by updating the split feature and creating new feature(s) for the smaller portion. |
void |
store()
Stores the row. |
void |
update(INetworkFeature callingFeature,
IAffineTransformation2D transformation,
ISet rigidEdges,
ITransformGroup group)
Programmatic update of the NetworkFeature. |
boolean |
validate(String[] errorMessage)
Validates the row. |
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 |
---|
public ComplexJunctionFeature() throws IOException, UnknownHostException
IOException
- if there are interop problems
UnknownHostException
- if there are interop problemspublic ComplexJunctionFeature(Object obj) throws IOException
ComplexJunctionFeature theComplexJunctionFeature = (ComplexJunctionFeature) obj;
obj
to ComplexJunctionFeature
.
obj
- an object returned from ArcGIS Engine or Server
IOException
- if there are interop problemsMethod Detail |
---|
public static String getClsid()
public boolean equals(Object o)
equals
in class Object
public int hashCode()
hashCode
in class Object
public boolean isHasOID() throws IOException, AutomationException
If the table has been registered with the geodatabase it will have unique Object ID, automatically created by the register tool, and the HasOID property will be set to True. Tables not registered with the geodatabase will not have an OID column and the HasOID property will be set to False. See the IClassSchemaEdit::RegisterAsObjectClass method for more information.
isHasOID
in interface IRow
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getOID() throws IOException, AutomationException
Gets the OID for a row in a table that has a unique Object ID, such as tables registered with the geodatabase.
if (pRow.isHasOID()) {
System.out.print(pRow.getOID());
}
getOID
in interface IRow
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ITable getTable() throws IOException, AutomationException
Returns a pointer to the table the row belongs to.
ITable pTable; pTable = pRow.getTable();
getTable
in interface IRow
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void store() throws IOException, AutomationException
The Store method is called by an application once it has modified the values of a Row. Once Store is called on a Row object, all subsequent queries within the same edit session, using the Geodatabase API, will reflect the modified state of the Row object.
All edits to features that participate in a Topology or Geometric Network must be performed within an edit session and bracketed within an edit operation.
Calling the Store method triggers the following actions:
- The IRowEvents::OnChanged is called for the row being stored. The OnNew is called if this is a newly created row being stored for the first time. A custom row object can implement the OnChanged method and take some special action when it is called - for example; update a special column in the row
- The IRelatedObjectEvents::RelatedObjectChanged method is called for related objects in a related object class if the table for this row is an object class that participates in relationship classes with notification
Store should not be used for batch operations, such as updates or inserts. For performing a number of inserts or updates using cursors, refer to the ITable::Insert, ITable::Update, ITable::UpdateSearchedRows , IFeatureClass::Update andIFeatureClass::Insert. If an insert or update cursor is used on non-simple features (such as network features), the cursor will revert to using Store.
It is not necessary to explicitly call Connect on network features, this is handled polymorphically when Store is called on the feature. This is also the case with features in a Topology, Dirty Area creation is handled internally when Store is called.
Store should not be called inside of edit events, such as OnCreateFeature, OnChangeFeature or OnDeleteFeature. Even if you are modifying the geometry or other field values, Store will be called once the event is complete.
store
in interface IRow
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void delete() throws IOException, AutomationException
All edits to features that participate in a Topology or Geometric Network must be performed within an edit session and bracketed within an edit operation.
delete
in interface IRow
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public Object getValue(int index) throws IOException, AutomationException
getValue
in interface IRowBuffer
index
- The index (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setValue(int index, Object value) throws IOException, AutomationException
setValue
in interface IRowBuffer
index
- The index (in)value
- A Variant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IFields getFields() throws IOException, AutomationException
getFields
in interface IRowBuffer
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void onChanged() throws IOException, AutomationException
The OnChanged method is called by the geodatabase when an application program calls Store on an existing Row object.
onChanged
in interface IRowEvents
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void onDelete() throws IOException, AutomationException
The OnDelete method is called by the geodatabase when an application program calls Delete on a Row object.
onDelete
in interface IRowEvents
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void onInitialize() throws IOException, AutomationException
The OnInitialize method is called by the geodatabase after hydrating a cocreated Row object with its state (its set of field values) but before handing the Row to an application program. This is an opportunity for the Row object to initialize further state and derived member variables.
onInitialize
in interface IRowEvents
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void onNew() throws IOException, AutomationException
The OnNew method is called by the geodatabase when an application program calls Store on a newly created Row object.
onNew
in interface IRowEvents
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void onValidate() throws IOException, AutomationException
onValidate
in interface IRowEvents
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getSubtypeCode() throws IOException, AutomationException
When creating new objects within ArcMap, the default subtype and any default values are automatically set. When objects are created programmatically, the default subtype and default values are not automatically set. The subtype code of the feature can be specified with the SubtypeCode property.
All edits to features that participate in a Topology or Geometric Network must be performed within an edit session and bracketed within an edit operation.
getSubtypeCode
in interface IRowSubtypes
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setSubtypeCode(int subtypeCode) throws IOException, AutomationException
setSubtypeCode
in interface IRowSubtypes
subtypeCode
- The subtypeCode (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void initDefaultValues() throws IOException, AutomationException
When creating new objects within ArcMap, the default subtype and any default values are automatically set. When objects are created programmatically, the default subtype and default values are not automatically set. InitDefaultValues will populate fields with the specified default values.
All edits to features that participate in a Topology or Geometric Network must be performed within an edit session and bracketed within an edit operation
initDefaultValues
in interface IRowSubtypes
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isValueChanged(int index) throws IOException, AutomationException
isValueChanged
in interface IRowChanges
index
- The index (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public Object getOriginalValue(int index) throws IOException, AutomationException
getOriginalValue
in interface IRowChanges
index
- The index (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isEqual(IRow otherRow) throws IOException, AutomationException
isEqual
in interface IRowCompare
otherRow
- A reference to a com.esri.arcgis.geodatabase.IRow (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IGeometry getShapeCopy() throws IOException, AutomationException
The ShapeCopy property is a cloned copy of the feature’s Shape. When modifying the geometry of a feature or a set of features, use the ShapeCopy property to obtain a copy of the feature's geometry, perform the modification on the geometries, then apply the modifications by setting the geometry to the Shape property.
getShapeCopy
in interface IFeature
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IGeometry getShape() throws IOException, AutomationException
The basic process to change the shape of a feature is:
1) Get the feature's existing geometry through IFeature.ShapeCopy or create a new geometry
2) Modify the geometry
3) Set the feature's geometry using IFeature.Shape
4) Store the feature
All edits to features that participate in a Topology or Geometric Network must be performed within an edit session and bracketed within an edit operation.
getShape
in interface IFeature
getShape
in interface IFeatureBuffer
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setShapeByRef(IGeometry shape) throws IOException, AutomationException
setShapeByRef
in interface IFeature
setShapeByRef
in interface IFeatureBuffer
shape
- A reference to a com.esri.arcgis.geometry.IGeometry (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnvelope getExtent() throws IOException, AutomationException
getExtent
in interface IFeature
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getFeatureType() throws IOException, AutomationException
getFeatureType
in interface IFeature
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IObjectClass esri_getClass() throws IOException, AutomationException
esri_getClass
in interface IObject
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void initShape() throws IOException, AutomationException
initShape
in interface IFeatureEvents
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void onSplit() throws IOException, AutomationException
onSplit
in interface IFeatureEvents
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void onMerge() throws IOException, AutomationException
onMerge
in interface IFeatureEvents
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void draw(int drawPhase, IDisplay display, ISymbol symbol, boolean symbolInstalled, IGeometry geometry, int drawStyle) throws IOException, AutomationException
draw
in interface IFeatureDraw
drawPhase
- A com.esri.arcgis.system.esriDrawPhase constant (in)display
- A reference to a com.esri.arcgis.display.IDisplay (in)symbol
- A reference to a com.esri.arcgis.display.ISymbol (in)symbolInstalled
- The symbolInstalled (in)geometry
- A reference to a com.esri.arcgis.geometry.IGeometry (in)drawStyle
- A com.esri.arcgis.geodatabase.esriDrawStyle constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setInvalidAreaByRef(IInvalidArea invalidArea) throws IOException, AutomationException
setInvalidAreaByRef
in interface IFeatureDraw
invalidArea
- A reference to a com.esri.arcgis.geodatabase.IInvalidArea (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IInvalidArea getInvalidArea() throws IOException, AutomationException
getInvalidArea
in interface IFeatureDraw
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isShapeChanged() throws IOException, AutomationException
IFeatureChanges::ShapeChanged can be used to determine if a feature's geometry has changed. If the feature's geometry has been changed, but IRow::Store has not yet been called, ShapeChanged will return True. Once Store is called, ShapeChanged will return False. ShapeChanged can also be used in an event triggered by Store, such as IRowEvents::OnChanged. When used in this manner, ShapeChanged will return True if the feature's shape has changed. Once Store is complete, ShapeChanged will return false.
isShapeChanged
in interface IFeatureChanges
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IGeometry getOriginalShape() throws IOException, AutomationException
getOriginalShape
in interface IFeatureChanges
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void simplifyGeometry(IGeometry geometry) throws IOException, AutomationException
simplifyGeometry
in interface IFeatureSimplify
geometry
- A reference to a com.esri.arcgis.geometry.IGeometry (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isSimpleGeometry(IGeometry geometry, int[] reason) throws IOException, AutomationException
isSimpleGeometry
in interface IFeatureSimplify2
geometry
- A reference to a com.esri.arcgis.geometry.IGeometry (in)reason
- A com.esri.arcgis.geometry.esriNonSimpleReasonEnum constant (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IGeometricNetwork getGeometricNetwork() throws IOException, AutomationException
getGeometricNetwork
in interface INetworkFeature
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isEnabled() throws IOException, AutomationException
The Enabled property provides access the enabled state of network features. The enabled state of network feature governs whether the feature is enabled or disabled for tracing. By default, all network features are enabled when the network is built or when first created.
All edits to features that participate in a Geometric Network must be performed within an edit session and bracketed within an edit operation.
isEnabled
in interface INetworkFeature
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setEnabled(boolean isEnabled) throws IOException, AutomationException
//Assume you already have a reference to IFeature called pFeature
INetworkFeature pNetworkFeature = pFeature;if(pNetworkFeature != null){
if(pNetworkFeature.isEnabled )
pNetworkFeature.setEnabled (false);
else
pNetworkFeature.setEnabled (true);
}
pFeature.store();
setEnabled
in interface INetworkFeature
isEnabled
- The isEnabled (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void connect() throws IOException, AutomationException
All edits to features that participate in a Geometric Network must be performed within an edit session and bracketed within an edit operation.
Looping through a collection or enumeration of junctions and calling Connect on each one to establish connectivity with a complex edge feature is an expensive operation. Calling IComplexEdgeFeature::ConnectatIntermediateVertices once on the complex edge feature will result in increased performance with the same resultant connectivity.
connect
in interface INetworkFeature
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IComplexEdgeFeature.connectAtIntermediateVertices()
public void disconnect() throws IOException, AutomationException
All edits to features that participate in a Geometric Network must be performed within an edit session and bracketed within an edit operation.
disconnect
in interface INetworkFeature
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void onDisconnect() throws IOException, AutomationException
OnDisconnect is not currently implemented.
onDisconnect
in interface INetworkFeature
onDisconnect
in interface INetworkFeatureEvents
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnumNetEID createNetworkElements() throws IOException, AutomationException
createNetworkElements
in interface INetworkFeature
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void onConnect() throws IOException, AutomationException
OnConnect is not currently implemented.
onConnect
in interface INetworkFeatureEvents
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IGeometry getGeometryForJunctionElement(int subID) throws IOException, AutomationException
getGeometryForJunctionElement
in interface IJunctionFeature
subID
- The subID (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IGeometry getOriginalGeometryForJunctionElement(int subID) throws IOException, AutomationException
getOriginalGeometryForJunctionElement
in interface IJunctionFeature
subID
- The subID (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void update(INetworkFeature callingFeature, IAffineTransformation2D transformation, ISet rigidEdges, ITransformGroup group) throws IOException, AutomationException
The Update method is reserved for internal use during the process of updating the shape and storing the result. There is no need for clients to directly call this method.
update
in interface IJunctionFeature
callingFeature
- A reference to a com.esri.arcgis.geodatabase.INetworkFeature (in)transformation
- A reference to a com.esri.arcgis.geometry.IAffineTransformation2D (in)rigidEdges
- A reference to a com.esri.arcgis.system.ISet (in)group
- A reference to a com.esri.arcgis.geodatabase.ITransformGroup (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getNetworkAncillaryRole() throws IOException, AutomationException
getNetworkAncillaryRole
in interface IJunctionFeature
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setNetworkAncillaryRole(int role) throws IOException, AutomationException
setNetworkAncillaryRole
in interface IJunctionFeature
role
- A com.esri.arcgis.geodatabase.esriNetworkFeatureAncillaryRole constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IGeometry getGeometryForEdgeElement(int subID) throws IOException, AutomationException
getGeometryForEdgeElement
in interface IComplexJunctionFeature
subID
- The subID (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getEdgeFeatureCount(int connectionPointIndex) throws IOException, AutomationException
getEdgeFeatureCount
in interface IComplexJunctionFeature
connectionPointIndex
- The connectionPointIndex (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEdgeFeature getEdgeFeature(int connectionPointIndex, int index) throws IOException, AutomationException
getEdgeFeature
in interface IComplexJunctionFeature
connectionPointIndex
- The connectionPointIndex (in)index
- The index (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getTopologicalConfiguration() throws IOException, AutomationException
It is recommended that developers do not use Complex Junctions in their data modeling solutions. Developers can leverage existing Geodatabase components in order to implement partial functionality, such as class extensions.
getTopologicalConfiguration
in interface IComplexJunctionFeature
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setTopologicalConfiguration(int configuration) throws IOException, AutomationException
setTopologicalConfiguration
in interface IComplexJunctionFeature
configuration
- A com.esri.arcgis.geodatabase.esriTopoConfiguration constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setRotationAngle(double rhs1) throws IOException, AutomationException
It is recommended that developers do not use Complex Junctions in their data modeling solutions. Developers can leverage existing Geodatabase components in order to implement partial functionality, such as class extensions.
setRotationAngle
in interface IComplexJunctionFeature
rhs1
- The rhs1 (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getFieldToEIDMapping(int fieldIndex) throws IOException, AutomationException
getFieldToEIDMapping
in interface IComplexJunctionFeature
fieldIndex
- The fieldIndex (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getJunctionElementCount() throws IOException, AutomationException
It is recommended that developers do not use Complex Junctions in their data modeling solutions. Developers can leverage existing Geodatabase components in order to implement partial functionality, such as class extensions.
getJunctionElementCount
in interface IComplexJunctionFeature
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setJunctionElementCount(int numJunctions) throws IOException, AutomationException
setJunctionElementCount
in interface IComplexJunctionFeature
numJunctions
- The numJunctions (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int findJunctionEID(IPoint point) throws IOException, AutomationException
It is recommended that developers do not use Complex Junctions in their data modeling solutions. Developers can leverage existing Geodatabase components in order to implement partial functionality, such as class extensions.
findJunctionEID
in interface IComplexJunctionFeature
point
- A reference to a com.esri.arcgis.geometry.IPoint (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getEdgeElementCount() throws IOException, AutomationException
It is recommended that developers do not use Complex Junctions in their data modeling solutions. Developers can leverage existing Geodatabase components in order to implement partial functionality, such as class extensions.
getEdgeElementCount
in interface IComplexNetworkFeature
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int findEdgeEID(IPoint point) throws IOException, AutomationException
It is recommended that developers do not use Complex Junctions in their data modeling solutions. Developers can leverage existing Geodatabase components in order to implement partial functionality, such as class extensions.
findEdgeEID
in interface IComplexNetworkFeature
point
- A reference to a com.esri.arcgis.geometry.IPoint (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isEnabledByIndex(int edgeIndex) throws IOException, AutomationException
isEnabledByIndex
in interface IComplexNetworkFeature
edgeIndex
- The edgeIndex (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setEnabledByIndex(int edgeIndex, boolean isEnabled) throws IOException, AutomationException
setEnabledByIndex
in interface IComplexNetworkFeature
edgeIndex
- The edgeIndex (in)isEnabled
- The isEnabled (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void deleteSet(ISet rows) throws IOException, AutomationException
All edits to features that participate in a Topology or Geometric Network must be performed within an edit session and bracketed within an edit operation.
deleteSet
in interface IRowEdit
rows
- A reference to a com.esri.arcgis.system.ISet (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IDisplayFeedback beginMoveSet(ISet features, IPoint start) throws IOException, AutomationException
beginMoveSet
in interface IFeatureEdit
features
- A reference to a com.esri.arcgis.system.ISet (in)start
- A reference to a com.esri.arcgis.geometry.IPoint (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void moveSet(ISet features, ILine moveVector) throws IOException, AutomationException
All edits to features that participate in a Topology or Geometric Network must be performed within an edit session and bracketed within an edit operation.
moveSet
in interface IFeatureEdit
features
- A reference to a com.esri.arcgis.system.ISet (in)moveVector
- A reference to a com.esri.arcgis.geometry.ILine (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void rotateSet(ISet features, IPoint origin, double angle) throws IOException, AutomationException
All edits to features that participate in a Topology or Geometric Network must be performed within an edit session and bracketed within an edit operation.
rotateSet
in interface IFeatureEdit
features
- A reference to a com.esri.arcgis.system.ISet (in)origin
- A reference to a com.esri.arcgis.geometry.IPoint (in)angle
- The angle (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ISet split(IGeometry point) throws IOException, AutomationException
Split divides polylines by points or polygons by polylines, other kinds of split geometries are not supported (see IGeometry::GeometryType property for an enumeration of geometry types). The new features are automatically stored and the old features deleted. When a feature is split, the feature is deleted and two new features are created. The ObjectID of the deleted feature is not reused, the two new features will have new ObjectID values. You can define a policy on how the other attribute values of the new features are populated; this can be done with ArcCatalog or by using the Domain and Attribute Rule objects.
It is not necessary to call SplitAttributes after calling Split, this is done automatically.
All edits to features that participate in a Topology or Geometric Network must be performed within an edit session and bracketed within an edit operation.
split
in interface IFeatureEdit
point
- A reference to a com.esri.arcgis.geometry.IGeometry (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void splitAttributes(IFeature baseFeature) throws IOException, AutomationException
This method is intended for internal use only.
splitAttributes
in interface IFeatureEdit
baseFeature
- A reference to a com.esri.arcgis.geodatabase.IFeature (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ISet splitWithUpdate(IGeometry geometry) throws IOException, AutomationException
SplitWithUpdate divides polylines by points or polygons by polylines, other kinds of split geometries are not supported (see IGeometry::GeometryType property for an enumeration of geometry types). Unlike the IFeatureEdit::Split method, SplitWithUpdate does not delete the original feature and insert two new features. When a feature is split, its geometry is modified and a new feature, with a new ObjectID, is inserted comprised of the remaining geometry. The geometry of the original feature will be modified to represent the largest section of the split geometry. For example, if a polyline is split at 60% along its length, the original feature's geometry will be modified to represent the 60% section and a new feature will be created with a geometry representing the remaining 40%.
You can define a policy on how the other attribute values of the new features are populated; this can be done with ArcCatalog or by using the Domain and Attribute Rule objects.
It is not necessary to call SplitAttributes after calling Split, this is done automatically.
All edits to features that participate in a Topology or Geometric Network must be performed within an edit session and bracketed within an edit operation.
splitWithUpdate
in interface IFeatureEdit2
geometry
- A reference to a com.esri.arcgis.geometry.IGeometry (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean snap(IPoint point, double tolerance) throws IOException, AutomationException
The Snap method in the IFeatureSnap interface is not implemented by the ComplexJunctionFeature class that the custom feature must aggregate. ArcMap will call this method on all complex junctions within snapping distance of the cursor if custom feature snapping is selected in the Snapping dialog box.
The custom feature is responsible for returning a Boolean value indicating whether or not the cursor can snap to one of the connection points. If the cursor can snap (the IPoint is within the tolerance distance of a connection point), then the inbound IPoint is modified to match the location of the connection point.
It is recommended that developers do not use Complex Junctions in their data modeling solutions. Developers can leverage existing Geodatabase components in order to implement partial functionality, such as IFeatureClassExtension.
snap
in interface IFeatureSnap
point
- A reference to a com.esri.arcgis.geometry.IPoint (in)tolerance
- The tolerance (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.ISnapEnvironment
public int getConnectionPointCount() throws IOException, AutomationException
It is recommended that developers do not use Complex Junctions in their data modeling solutions. Developers can leverage existing Geodatabase components in order to implement partial functionality, such as IFeatureClassExtension.
getConnectionPointCount
in interface IFeatureConnect
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IFeatureElement getConnectionPoint(int connectionPointIndex) throws IOException, AutomationException
getConnectionPoint
in interface IFeatureConnect
connectionPointIndex
- The connectionPointIndex (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getConnectionPointName(int connectionPointIndex) throws IOException, AutomationException
getConnectionPointName
in interface IFeatureConnect
connectionPointIndex
- The connectionPointIndex (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IFeatureElement getConnectionPointByName(String connectionPointName) throws IOException, AutomationException
getConnectionPointByName
in interface IFeatureConnect
connectionPointName
- The connectionPointName (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void relatedObjectChanged(IRelationshipClass relationshipClass, IObject objectThatChanged) throws IOException, AutomationException
The RelatedObjectChanged method is called when a related object has changed.
relatedObjectChanged
in interface IRelatedObjectEvents
relationshipClass
- A reference to a com.esri.arcgis.geodatabase.IRelationshipClass (in)objectThatChanged
- A reference to a com.esri.arcgis.geodatabase.IObject (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void relatedObjectMoved(IRelationshipClass relationshipClass, IObject objectThatChanged, ILine moveVector) throws IOException, AutomationException
This method is currently reserved and implementations should not define any behavior.
relatedObjectMoved
in interface IRelatedObjectEvents
relationshipClass
- A reference to a com.esri.arcgis.geodatabase.IRelationshipClass (in)objectThatChanged
- A reference to a com.esri.arcgis.geodatabase.IObject (in)moveVector
- A reference to a com.esri.arcgis.geometry.ILine (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void relatedObjectSetMoved(IRelationshipClass relationshipClass, ISet objectsThatNeedToChange, ISet objectsThatChanged, ILine moveVector) throws IOException, AutomationException
The RelatedObjectSetMoved method is called when a set of objects in the related object class has moved. The objectsThatChanged argument represents the set of objects in the related object classes that have moved.
The objectsThatNeedToChange argument is a set of objects in this object's class that are related to the objects that moved. The object executing this method will itself be a member of the objectsThatNeedToChange set.
relatedObjectSetMoved
in interface IRelatedObjectEvents
relationshipClass
- A reference to a com.esri.arcgis.geodatabase.IRelationshipClass (in)objectsThatNeedToChange
- A reference to a com.esri.arcgis.system.ISet (in)objectsThatChanged
- A reference to a com.esri.arcgis.system.ISet (in)moveVector
- A reference to a com.esri.arcgis.geometry.ILine (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void relatedObjectRotated(IRelationshipClass relationshipClass, IObject objectThatChanged, IPoint origin, double angle) throws IOException, AutomationException
This method is currently reserved and implementations should not define any behavior.
relatedObjectRotated
in interface IRelatedObjectEvents
relationshipClass
- A reference to a com.esri.arcgis.geodatabase.IRelationshipClass (in)objectThatChanged
- A reference to a com.esri.arcgis.geodatabase.IObject (in)origin
- A reference to a com.esri.arcgis.geometry.IPoint (in)angle
- The angle (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void relatedObjectSetRotated(IRelationshipClass relationshipClass, ISet objectsThatNeedToChange, ISet objectsThatChanged, IPoint origin, double angle) throws IOException, AutomationException
The RelatedObjectSetRotated method is called when a set of objects in the related object class has moved. Its arguments are similar to the arguments for RelatedObjectSetMoved.
relatedObjectSetRotated
in interface IRelatedObjectEvents
relationshipClass
- A reference to a com.esri.arcgis.geodatabase.IRelationshipClass (in)objectsThatNeedToChange
- A reference to a com.esri.arcgis.system.ISet (in)objectsThatChanged
- A reference to a com.esri.arcgis.system.ISet (in)origin
- A reference to a com.esri.arcgis.geometry.IPoint (in)angle
- The angle (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IFields getInvalidFields() throws IOException, AutomationException
getInvalidFields
in interface IValidate
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnumRule getInvalidRules() throws IOException, AutomationException
The GetInvalidRules method returns an enumerator of rules that are currently violated by the row.
getInvalidRules
in interface IValidate
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnumRule getInvalidRulesByField(String fieldName) throws IOException, AutomationException
The GetInvalidRulesByField method returns an enumerator of rules violated by the specified field of the row.
getInvalidRulesByField
in interface IValidate
fieldName
- The fieldName (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean validate(String[] errorMessage) throws IOException, AutomationException
The Validate method indicates whether the row is violating any of its class's rules. A return value of true indicates the row is valid, while a return value of false indicates the row is violating one or more rules.
Validate on a row occurs in five steps:
The validate process stops once a row is found invalid. For example, if a network feature violates an attribute rule, the validation process stops and the feature's network connectivity rules are not evaluated until the attribute rule violation is corrected.
validate
in interface IValidate
errorMessage
- The errorMessage (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void interfaceSupportsErrorInfo(GUID riid) throws IOException, AutomationException
Indicates whether the interface supports IErrorInfo.
interfaceSupportsErrorInfo
in interface ISupportErrorInfo
riid
- A Structure: com.esri.arcgis.support.ms.stdole.GUID (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void project(ISpatialReference outputSR) throws IOException, AutomationException
Projects the feature from the current spatial reference to the output spatial reference.
project
in interface IFeatureProject
outputSR
- A reference to a com.esri.arcgis.geometry.ISpatialReference (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |