0% found this document useful (0 votes)
160 views

Geo Database Object Model

Geo Database Object Model

Uploaded by

Jon Clement
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
160 views

Geo Database Object Model

Geo Database Object Model

Uploaded by

Jon Clement
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

WorkspaceFactory

IWorkspaceFactory

Workspace

IWorkspaceFactory : IUnknown

IWorkspace

WorkspaceDescription (in plural: Boolean):


String
WorkspaceType: esriWorkspaceType

IDataset
IDatasetContainer

ContainsWorkspace (in parentDirectory: String,


in fileNames: IFileNames): Boolean
Copy (in WorkspaceName: IWorkspaceName,
in destinationFolder: String, out
workspaceNameCopy: IWorkspaceName):
Boolean
Create (in parentDirectory: String, in Name:
String, in ConnectionProperties:
IPropertySet, in hWnd: OLE_HANDLE):
IWorkspaceName
GetClassID: IUID
GetWorkspaceName (in parentDirectory:
String, in fileNames: IFileNames):
IWorkspaceName
IsWorkspace (in fileName: String): Boolean
Move (in WorkspaceName: IWorkspaceName,
in destinationFolder: String): Boolean
Open (in ConnectionProperties: IPropertySet,
in hWnd: OLE_HANDLE): IWorkspace
OpenFromFile (in fileName: String, in hWnd:
OLE_HANDLE): IWorkspace
ReadConnectionPropertiesFromFile (in
fileName: String): IPropertySet

IWorkspace2

IWorkspaceEdit

IWorkspaceEditEvents
IWorkspaceEditEvents2

Compact (in Name: IWorkspaceName)

IWorkspaceEdit2

IRemoteDatabaseWorkspaceFactory : IUnknown

IMultiuserWorkspaceEdit
(optional)

ISetDefaultConnectionInfo2 :
ISetDefaultConnectionInfo

IFeatureWorkspace

ClearParameters (in server: String, in instance:


String)

ClearParameters3 (in server: String, in


instance: String, in authenticationMode:
String)
SetParameters3 (in server: String, in
instance: String, in authenticationMode:
String, in UserName: String, in password:
String, in VersionName: String, in
historicalInfo: Variant)
IWorkspaceFactoryStatus : IUnknown
WorkspaceStatus: IEnumWorkspaceStatus
OpenAvailableWorkspace (in wstatus:
IWorkspaceStatus): IWorkspace
PingWorkspaceStatus (in Workspace:
IWorkspace): IWorkspaceStatus

IWorkspaceStatus

IWorkspaceStatus : IUnknown
ConnectionStatus:
esriWorkspaceConnectionStatus
Workspace: IWorkspace

WorkspaceFactories in
GISClient, DataSourcesFile, DataSourcesGDB,
DataSourcesOleDB, DataSourcesRaster,
TrackingAnalyst,Geoprocessing

IFeatureWorkspaceManage

IWorkspaceExtension : IUnknown
DataDictionaryTableNames: IEnumBSTR
GUID: IUID
Name: String
PrivateDatasetNames (in dtype:
esriDatasetType): IEnumBSTR

IFeatureWorkspaceManage2

IWorkspaceExtension2 : IWorkspaceExtension

OwnsDatasetType (in DatasetType:


esriDatasetType): Boolean

IFeatureWorkspaceSchemaEdit

IWorkspaceExtensionControl : IUnknown

IDatasetAnalyze
(optional)

IWorkspaceDomains

ISchemaLock
(optional)

IWorkspaceHelper : IUnknown
Workspace: IWorkspace

ConfigurationKeyword
IGeodatabaseRelease

Comments: String
ConfigurationParameters:
IEnumConfigurationParameter
Description: String
KeywordType:
esriConfigurationKeywordType
Name: String

IConfigurationParameter : IUnknown

IGeodatabaseRelease3

IWorkspaceProperties
(optional)

Enumerations
ISQLSyntax

esriDatasetType
1 - esriDTAny
2 - esriDTContainer
3 - esriDTGeo
4 - esriDTFeatureDataset
5 - esriDTFeatureClass
6 - esriDTPlanarGraph
7 - esriDTGeometricNetwork
8 - esriDTTopology
9 - esriDTText
10 - esriDTTable
11 - esriDTRelationshipClass
12 - esriDTRasterDataset
13 - esriDTRasterBand
14 - esriDTTin
15 - esriDTCadDrawing
16 - esriDTRasterCatalog
17 - esriDTToolbox
18 - esriDTTool
19 - esriDTNetworkDataset
20 - esriDTTerrain
21 - esriDTRepresentationClass
22 - esriDTCadastralFabric
23 - esriDTSchematicDataset
24 - esriDTLocator
26 - esriDTMap
27 - esriDTLayer
28 - esriDTStyle
29 - esriDTMosaicDataset
esriDomainType
1 - esriDTRange
2 - esriDTCodedValue
3 - esriDTString
esriDrawStyle
1 - esriDSNormal
2 - esriDSValid
4 - esriDSInvalid
8 - esriDSUnknown
esriEditSearchOption
1 - esriEditSearchBoth
2 - esriEditSearchBasicOnly
3 - esriEditSearchDeltaOnly
4 - esriEditSearchNewDeltaOnly
5 - esriEditSearchDeletedBasicOnly
esriFeatureElementType
1 - esriFETWholeFeature
2 - esriFETVertex
4 - esriFETEdge
8 - esriFETPart
16 - esriFETAnnotation
32 - esriFETConnectionPoint
64 - esriFETConnectorPoint
esriTopoConfiguration
0 - esriTCChain
1 - esriTCLoop
2 - esriTCStar
3 - esriTCMesh
esriFeatureType
1 - esriFTSimple
7 - esriFTSimpleJunction
8 - esriFTSimpleEdge
9 - esriFTComplexJunction
10 - esriFTComplexEdge
11 - esriFTAnnotation
12 - esriFTCoverageAnnotation
13 - esriFTDimension
14 - esriFTRasterCatalogItem
esriFieldType
0 - esriFieldTypeSmallInteger
1 - esriFieldTypeInteger
2 - esriFieldTypeSingle
3 - esriFieldTypeDouble
4 - esriFieldTypeString
5 - esriFieldTypeDate
6 - esriFieldTypeOID
7 - esriFieldTypeGeometry
8 - esriFieldTypeBlob
9 - esriFieldTypeRaster
10 - esriFieldTypeGUID
11 - esriFieldTypeGlobalID
12 - esriFieldTypeXML
esriLockType
1 - esriLockTypeShared
2 - esriLockTypeExclusive

esriMergePolicyType
1 - esriMPTSumValues
2 - esriMPTAreaWeighted
3 - esriMPTDefaultValue
esriRelCardinality
1 - esriRelCardinalityOneToOne
2 - esriRelCardinalityOneToMany
3 - esriRelCardinalityManyToMany
esriRelationshipSplitPolicy
1 - esriRSPUseDefault
2 - esriRSPPreserveOnLargest
3 - esriRSPPreserveOnSmallest
4 - esriRSPPreserveOnAll
5 - esriRSPDeleteRelationship
6 - esriRSPDeleteParts

esriRelNotification
1 - esriRelNotificationNone
2 - esriRelNotificationForward
3 - esriRelNotificationBackward
4 - esriRelNotificationBoth
esriRelRole
1 - esriRelRoleAny
2 - esriRelRoleOrigin
3 - esriRelRoleDestination
esriRuleType
1 - esriRTAttribute
2 - esriRTEdgeConnectivity
3 - esriRTJunctionConnectivity
4 - esriRTSpatial
5 - esriRTRelationship
6 - esriRTTopology
esriSchemaLock
1 - esriSharedSchemaLock
2 - esriExclusiveSchemaLock
esriSearchOrder
0 - esriSearchOrderSpatial
1 - esriSearchOrderAttribute

esriSelectionType
1 - esriSelectionTypeIDSet
2 - esriSelectionTypeSnapshot
3 - esriSelectionTypeHybrid
esriSetOperation
1 - esriSetUnion
2 - esriSetIntersection
3 - esriSetDifference
4 - esriSetSymDifference
esriSpatialRelEnum
0 - esriSpatialRelUndefined
1 - esriSpatialRelIntersects
2 - esriSpatialRelEnvelopeIntersects
3 - esriSpatialRelIndexIntersects
4 - esriSpatialRelTouches
5 - esriSpatialRelOverlaps
6 - esriSpatialRelCrosses
7 - esriSpatialRelWithin
8 - esriSpatialRelContains
9 - esriSpatialRelRelation
esriSplitPolicyType
1 - esriSPTGeometryRatio
2 - esriSPTDuplicate
3 - esriSPTDefaultValue
esriSQLClauses
1 - esriSQL_DISTINCT
2 - esriSQL_ALL
4 - esriSQL_AS
8 - esriSQL_ORDER_BY
16 - esriSQL_GROUP_BY
esriSQLFunctionName
1 - esriSQL_MIN
2 - esriSQL_MAX
3 - esriSQL_COUNT
4 - esriSQL_SUM
5 - esriSQL_AVG
6 - esriSQL_VAR
7 - esriSQL_STDDEV
8 - esriSQL_CONCAT
9 - esriSQL_LEADING
10 - esriSQL_LOWER
11 - esriSQL_TRAILING
12 - esriSQL_SUBSTRING
13 - esriSQL_SUBSTRINGBYTES
14 - esriSQL_UPPER
15 - esriSQL_ASCII
16 - esriSQL_CHAR
17 - esriSQL_SOUNDEX
18 - esriSQL_TRANSLATE
19 - esriSQL_TRIM
20 - esriSQL_ABS
21 - esriSQL_ACOS
22 - esriSQL_ASIN
23 - esriSQL_ATAN
24 - esriSQL_CEILING
25 - esriSQL_COS
26 - esriSQL_FLOOR
27 - esriSQL_LOG
28 - esriSQL_LN
29 - esriSQL_MOD
30 - esriSQL_SIGN
31 - esriSQL_SIN
32 - esriSQL_TAN
33 - esriSQL_LOG10
34 - esriSQL_POWER
35 - esriSQL_ROUND
36 - esriSQL_TRUNCATE
37 - esriSQL_SINH
38 - esriSQL_COSH
39 - esriSQL_TANH
40 - esriSQL_HEX
41 - esriSQL_EXTRACT
42 - esriSQL_BITLENGTH
43 - esriSQL_CHARLENGTH
44 - esriSQL_OCTETLENGTH
45 - esriSQL_POSITION
46 - esriSQL_CURRENTDATE
47 - esriSQL_CURRENTTIME
48 - esriSQL_CURRENTUSER
49 - esriSQL_COALESCE
50 - esriSQL_CONVERT
51 - esriSQL_CAST
esriSQLPredicates
1 - esriSQL_EQ
2 - esriSQL_NOT_EQ
4 - esriSQL_LT
8 - esriSQL_GT
16 - esriSQL_LE
32 - esriSQL_GE
64 - esriSQL_BETWEEN
128 - esriSQL_NOT_BETWEEN
256 - esriSQL_IN
512 - esriSQL_NOT_IN
1024 - esriSQL_LIKE
2048 - esriSQL_NOT_LIKE
4096 - esriSQL_IS_NULL
8192 - esriSQL_IS_NOT_NULL
16384 - esriSQL_EXISTS
32768 - esriSQL_NOT_EXISTS
esriSQLPrivilege
1 - esriSelectPrivilege
2 - esriUpdatePrivilege
4 - esriInsertPrivilege
8 - esriDeletePrivilege
esriSQLSpecialCharacters
1 - esriSQL_WildcardManyMatch
2 - esriSQL_WildcardSingleMatch
3 - esriSQL_DelimitedIdentifierPrefix
4 - esriSQL_DelimitedIdentifierSuffix
5 - esriSQL_EscapeKeyPrefix
6 - esriSQL_EscapeKeySuffix
esriTableComponents
1 - esriBusinessTable
2 - esriFeatureTable
4 - esriAddsTable
8 - esriDeletesTable
16 - esriRasterTable
32 - esriArchive
esriTableNameErrorType
1 - esriIsSQLReservedWord
2 - esriHasInvalidCharacter
4 - esriHasInvalidStartingCharacter
esriMetadataSyncAction
0 - esriMSAAccessed
1 - esriMSAAlways
2 - esriMSACreated
3 - esriMSANotCreated
4 - esriMSAOverwrite

InterfaceG
InterfaceM
(<classname>)InterfaceO

Copyright 1999-2010 ESRI. All rights reserved. ESRI, ArcGIS, ArcObjects, and ArcMap are trademarks, registered trademarks, or service
marks of ESRI in the United States, the European Community, or certain other jurisdictions.

esriMultiuserEditSessionMode
0 - esriMESMVersioned
1 - esriMESMNonVersioned

IGeoDataset

(Optional) represents interfaces that are


inherited by some subclasses but not all .
The subclasses list the optional
interfaces they implement.

IDatasetAnalyze : IUnknown
AllowableComponents: Long

ISchemaLock : IUnknown

esriWorkspacePropertyGroupType
1 - esriWorkspacePropertyGroup
2 - esriWorkspaceTablePropertyGroup
esriWorkspacePropertyType
0 - esriWorkspacePropCanExecuteSQL
1 - esriWorkspacePropCanEdit
2 - esriWorkspacePropIsReadonly
3 - esriWorkspacePropSupportsQualifiedNames
4 - esriWorkspacePropSupportsMetadata
5 - esriWorkspacePropCanAnalyze
6 - esriWorkspacePropCanGetConfigurationKeywords
7 - esriWorkspacePropIsGeoDatabase
8 - esriWorkspacePropMaxWhereClauseLength
9 - esriWorkspacePropHasPrivateEditSession
10 - esriWorkspacePropSupportsHighPrecisionStorage
11 - esriWorkspacePropSupportsExtensionDatasets
12 - esriWorkspacePropLastCompressDate
13 - esriWorkspacePropLastCompressStatus
14 - esriWorkspacePropSupportsArchiving
15 - esriWorkspacePropSupportsMoveEditsToBase

ITransactions

IGeoDataset : IUnknown

IGeoDataset2
(optional)

IGeoDataset2 : IGeoDataset

IRowBuffer

Fields: IFields
Value (in Index: Long): Variant

Interface key
Property Get
Property Put
Property Get/Put
Property Put by Reference

AlterSpatialReference (in SpatialReference:


ISpatialReference)

IRow

IGeoDatasetSchemaEdit2 :
IGeoDatasetSchemaEdit

CreateRowBuffer: IRowBuffer
CreateTable (in Fields: IFields)
Insert: ICursor
SetSourceQueryDef (in pQueryDef:
IQueryDef)
SetSourceTable (in pTable: ITable, in
pFilter: IQueryFilter)

IRow : IRowBuffer

ISelectionSet2

ISelectionSet2 : ISelectionSet
Update (in pQueryFilter: IQueryFilter, in
Recycling: Boolean, out ppCursor: ICursor)

Delete
Store

IRowChanges

IDatabaseCompact
(optional)

esriDatasetFileStatTimeMode
0 - esriDatasetFileStatTimeLastAccess
1 - esriDatasetFileStatTimeCreation
2 - esriDatasetFileStatTimeLastModification

IRowCompare

IQueryDef

IRowCompare : IUnknown

IRowEdit : IUnknown

IQueryFilter
IPersistStream
esriClone.IClone
IXMLSerialize
(esriSystem)
IQueryFilter2

IQueryFilterDefinition2

IFeatureClassContainer

AddField (in subField: String)


IQueryFilter2 : IQueryFilter

IQueryFilterDefinition : IUnknown

Evaluate2 (in Recycling: Boolean): ICursor

AddRelationshipClass (in pRelClass:


IRelationshipClass)
CreateRelationshipClass (in relClassName:
String, in OriginClass: IObjectClass, in
DestinationClass: IObjectClass, in
forwardLabel: String, in backwardLabel:
String, in Cardinality: esriRelCardinality, in
Notification: esriRelNotification, in
IsComposite: Boolean, in IsAttributed:
Boolean, in relAttrFields: IFields, in
OriginPrimaryKey: String, in
destPrimaryKey: String, in
OriginForeignKey: String, in
destForeignKey: String) :
IRelationshipClass

IGeodatabaseRelease : IUnknown

IRowSubtypes

IDatasetContainer

IGeodatabaseRelease3 :
IGeodatabaseRelease2

*
IRelationship

IDataStatistics

IRelationship : IUnknown
DestinationObject: IObject
OriginObject: IObject
RelationshipClass: IRelationshipClass

ITableSort

IDataStatistics : IUnknown

ITableSort : IUnknown
Ascending (in Field: String): Boolean
CaseSensitive (in Field: String): Boolean
Compare: ITableSortCallBack
Cursor: ICursor
Fields: String
IDs: IEnumIDs
QueryFilter: IQueryFilter
Rows: ICursor
SelectionSet: ISelectionSet
SortCharacters (in Field: String): Long
Table: ITable

OriginalShape: IGeometry
ShapeChanged: Boolean

Sort (in pTrackCancel: ITrackCancel)

Draw (in drawPhase: esriDrawPhase, in


Display: IDisplay, in symbol: ISymbol, in
symbolInstalled: Boolean, in Geometry:
IGeometry, in drawStyle: esriDrawStyle)

FeatureCursor

IFeatureEdit : IRowEdit

IFeatureCursor

BeginMoveSet (in features: ISet, in start:


IPoint): IDisplayFeedback
MoveSet (in features: ISet, in moveVector:
ILine)
RotateSet (in features: ISet, in Origin:
IPoint, in Angle: Double)
Split (in point: IGeometry): ISet
SplitAttributes (baseFeature: IFeature)

WorkspaceProperty
IWorkspaceProperty

IFeatureEdit2

IFeatureSimplify

IEnumGeometryBind
IEnumGeometry
IClone
ISupportErrorInfo

IFeatureSimplify : IUnknown

ITransactions : IUnknown
SimplifyGeometry (in Geometry:
IGeometry)

IFeatureSimplify2

IFeatureCursor : IUnknown

IClassSchemaEdit
(optional)

IClassSchemaEdit2
(optional)

AlterClassExtensionProperties (in
classExtensionProperties: IPropertySet)

IClassSchemaEdit3
(optional)

IDatabaseConnectionInfo2
(optional)

IClassSchemaEditEx
(optional)

IClassSchemaEditEx : IUnknown

IModelInfo
(optional)

IModelInfo : IUnknown

ISubtypes
(optional)

ISubtypes : IUnknown

ModelName: String

DefaultSubtypeCode: Long
DefaultValue (in SubtypeCode: Long, in
FieldName: String) : Variant
Domain (in SubtypeCode: Long, in
FieldName: String) : IDomain
HasSubtype: Boolean
SubtypeFieldIndex: Long
SubtypeFieldName: String
SubtypeName (in SubtypeCode: Long) : String

IEnumGeometryBind : IUnknown
GeometrySource: IUnknown
OutputFilter: IQueryFilter

IValidation
(optional)

BindGeometrySource (OutputFilter:
IQueryFilter, in collectionSource:
IUnknown)

IValidation2 : IValidation

IObjectClassInfo
(optional)

InitShape
OnMerge
OnSplit

IObjectClassInfo : IUnknown

CanBypassEditSession: Boolean
CanBypassStoreMethod: Boolean

CoverageAnnotationFeature

NetworkFeature in
Geodatabase Network

RasterCatalogFeature in
Geodatabase Raster

ICoverageAnnotationFeature

ICoverageAnnotationFeature : IUnknown
AnnotationBlob: IMemoryBlobStream

FeatureClass

DimensionFeature in
Carto

AnnotationFeature in
Carto

IFeatureClass

IFeatureClass : IObjectClass

IRelatedObjectClassEvents : IUnknown
RelatedObjectCreated (in RelationshipClass:
IRelationshipClass, in
objectThatWasCreated: IObject)

IRelatedObjectClassEvents2
(optional)

IRelationshipClass3 : IRelationshipClass2

IConfirmSendRelatedObjectEvents
(optional)

IRelatedObjectClassEvents2 : IUnknown
RelatedObjectChanged (in RelationshipClass:
IRelationshipClass, in objectThatChanged:
IObject, in RelatedObject: IObject)
RelatedObjectMoved (in RelationshipClass:
IRelationshipClass, in objectThatChanged:
IObject, in moveVector: ILine, in
RelatedObject: IObject)
RelatedObjectRotated (in RelationshipClass:
IRelationshipClass, in objectThatChanged:
IObject, in Origin: IPoint, in Angle: Double,
in RelatedObject: IObject)
RelatedObjectSetMoved (in
RelationshipClass: IRelationshipClass, in
objectsThatNeedToChange: ISet, in
objectsThatChanged: ISet, in moveVector:
ILine)
RelatedObjectSetRotated (in
RelationshipClass: IRelationshipClass, in
objectsThatNeedToChange: ISet, in
objectsThatChanged: ISet, in Origin: IPoint,
in Angle: Double)
IConfirmSendRelatedObjectEvents : IUnknown
ConfirmSendRelatedObjectChanged (in
RelationshipClass: IRelationshipClass, in
objectThatChanged: IObject): Boolean
ConfirmSendRelatedObjectMoved (in
RelationshipClass: IRelationshipClass, in
objectThatChanged: IObject, in
moveVector: ILine): Boolean
ConfirmSendRelatedObjectRotated (in
RelationshipClass: IRelationshipClass, in
objectThatChanged: IObject, Origin: IPoint,
Angle: Double): Boolean
ConfirmSendRelatedObjectSetMoved (in
RelationshipClass: IRelationshipClass, in
objectsThatChanged: ISet, moveVector:
ILine): Boolean
ConfirmSendRelatedObjectSetRotated (in
RelationshipClass: IRelationshipClass, in
objectsThatChanged: ISet, Origin: IPoint,
Angle: Double): Boolean

AttributedRelationshipClass
IObjectClassInfo
(optional)

IObjectClassInfo : IUnknown
CanBypassStoreMethod: Boolean

IObjectClassInfo2
(optional)

IObjectClassInfo2 : IUnknown
CanBypassEditSession: Boolean
CanBypassStoreMethod: Boolean

RelationshipClassEvents
IRelationshipClassEvents

IRelationshipClassEvents : IUnknown
OnChange (in rel: IRelationship)
OnCreate (in rel: IRelationship)
OnDelete (in rel: IRelationship)

IValidation

Domain
IDomain

IWorkspaceSpatialReferenceInfo : IUnknown

IPersistStream

Rule

Rules: IEnumRule
RulesByField (in FieldName: String):
IEnumRule
RulesBySubtypeCode (in SubtypeCode:
Long): IEnumRule

IDomain : IUnknown

ISchemaLock

IValidation : IUnknown

Description: String
FieldType: esriFieldType
MergePolicy: esriMergePolicyType
Name: String
SplitPolicy: esriSplitPolicyType
Type: esriDomainType

IRule

IValidation2

IWorkspaceExtensionManager : IUnknown

IValidation2 : IValidation

IGeoDataset

AlterRule (in Rule: IRule)

IDatabaseConnectionInfo : IUnknown

ICodedValueDomain : IUnknown

IRangeDomain

IAttributeRule

IRangeDomain : IUnknown

DestinationClassID: Long
DestinationMaximumCardinality: Long
DestinationMinimumCardinality: Long
DestinationSubtypeCode: Long
OriginClassID: Long
OriginMaximumCardinality: Long
OriginMinimumCardinality: Long
OriginSubtypeCode: Long

IAttributeRule : IRule
DomainName: String
FieldName: String
SubtypeCode: Long

MaxValue: Variant
MinValue: Variant

CodeCount: Long
Name (in Index: Long): String
Value (in Index: Long): Variant

ConnectedDatabase: String
ConnectedUser: String

IRelationshipRule : IRule

AttributeRule

RangeDomain

IFeatureClassWrite
(optional)

ConnectivityRule in
Geodatabase Network

FeatureConstruction

AddCode (in Value: Variant, in Name: String)


DeleteCode (in Value: Variant)

IFeatureConstruction

IDatabaseConnectionInfo2 :
IDatabaseConnectionInfo

ConstructedFeaturesSubtype: Long
DefaultZ: Double
FeaturesChanged: Boolean

ITransformGroup : IUnknown
Add (in ClassID: Long, in OID: Long, in
Feature: IFeature)
Delete (in ClassID: Long, in OID: Long)
DeleteAllInClass (in ClassID: Long)
Next (out ClassID: Long, out OID: Long, out
Count: Long)
NextSet (out ClassID: Long, out featureSet:
ISet)
Reset

RecordNumberSet
IRecordNumberSet
esriSystem.IClone
IFIDSet

IDataChangesEx : IUnknown

DddServerEnvironment

FIDSet

WorkspaceEditEvents
IWorkspaceEditEvents

IWorkspaceEditEvents : IUnknown
OnAbortEditOperation
OnRedoEditOperation
OnStartEditing (in withUndoRedo: Boolean)
OnStartEditOperation
OnStopEditing (in saveEdits: Boolean)
OnStopEditOperation
OnUndoEditOperation

IFIDSet
IXMLSerialize

IFIDSet2

IWorkspaceEditEvents2 :
IWorkspaceEditEvents
OnBeginStopEditing (in saveEdits:
Boolean)

IFIDSet : IUnknown
Add (in fID: Long)
Count: Long
Delete (in fID: Long)
Find (in fID: Long, out doesExist: Boolean)
Next (out fID: Long)
Reset
SetEmpty
IFIDSet2 : IFIDSet
IDs: IEnumIDs

WorkspaceEditEvents2
IWorkspaceEditEvents2

IDs: IEnumIDs
MaximumRecordNumber: Long
MinimumRecordNumber: Long
Add (recordNumber: Long)
AddRange (in minRecord: Long, in
maxRecord: Long)
And (in otherRecordNumberSet:
IRecordNumberSet): IRecordNumberSet
ClearAll
Delete (recordNumber: Long)
Difference (in otherRecordNumberSet:
IRecordNumberSet): IRecordNumberSet
Negate: IRecordNumberSet
Or (in otherRecordNumberSet:
IRecordNumberSet): IRecordNumberSet
SetAll
SetBounds (in startRecordNumber: Long, in
maxRecordNumber: Long)
XOr (in otherRecordNumberSet:
IRecordNumberSet): IRecordNumberSet

EditSessionDataChanges
esriSystem.IExtension
esriSystem.IExtensionConfig
ISupportErrorInfo

IRecordNumberSet : IUnknown

IFIDSetOperator

IFIDSetOperator : IUnknown
Difference (in otherFIDSet: IFIDSet):
IFIDSet
Intersect (in otherFIDSet: IFIDSet): IFIDSet
SymmetricDifference (in otherFIDSet:
IFIDSet): IFIDSet
Union (in otherFIDSet: IFIDSet): IFIDSet

OnChange (in obj: IObject)


OnCreate (in obj: IObject)
OnDelete (in obj: IObject)

IFeatureClassDraw
(optional)

IFeatureClassLoad
(optional)

ITableAttachments

CustomRenderer: Variant
CustomRendererPropPageCLSID: IUID
ExclusiveCustomRenderer: Boolean
RequiredFieldsForDraw: IFields

IFeatureClassEdit
(optional)

IFeatureClassEdit : IUnknown
CanEditWithProjection: Boolean
CustomSplitPolicyForRelationship (in Row:
IRow, in relClass: IRelationshipClass):
esriRelationshipSplitPolicy
HasCustomSplitPolicyForRelationship:
Boolean

FeatureLayer in Carto

IGeoDataset : IUnknown

IFeatureClassWrite : IUnknown

AttachmentManager

IFeatureClassLoad : IUnknown
LoadOnlyMode: Boolean

IAttachmentManager

IAttachmentManager : IUnknown

ObjectClassDescription
IObjectClassDescription

AddAttachment (in OID: Long, in att:


IAttachment): Long
DeleteAttachment (in attID: Long)
DeleteAttachmentsForParent (in OID: Long)
GetAttachmentsByAttachmentIDs (in attIDs:
ILongArray, infosOnly: Boolean):
IEnumAttachment
GetAttachmentsByParentIDs (in oids:
ILongArray, infosOnly: Boolean):
IEnumAttachment
UpdateAttachment (in att: IAttachment)

ITableAttachments : IUnknown

AddAttachments
DeleteAttachments

GeoDatabaseHelper

IObjectClassDescription : IUnknown
AliasName: String
ClassExtensionCLSID: IUID
InstanceCLSID: IUID
ModelName: String
ModelNameUnique: Boolean
Name: String
RequiredFields: IFields

HasGlobalID: Boolean

IFeatureClassManage : IUnknown

AttachmentManager: IAttachmentManager
HasAttachments: Boolean

FeatureClassDescription

IGeoDatabaseBridge : IUnknown

IFeatureClassDescription

IFeatureClassDescription : IUnknown
FeatureType: esriFeatureType
ShapeFieldName: String

GetFeatures (in pFeatureClass:


IFeatureClass, in fids: Long[], in
Recycling: Boolean): IFeatureCursor

IGeoDatabaseBridge2

IFeatureClassDraw : IUnknown

DoesCustomDrawing: Boolean
HasCustomRenderer: Boolean

IObjectClassSchemaEvents : IUnknown
OnAddField (in FieldName: String)
OnBehaviorChanged
OnDeleteField (in FieldName: String)

IFeatureClassCreation : IUnknown
CanCreateFromPoint: Boolean

ObjectClassSchemaEvents
IObjectClassSchemaEvents

UpdateExtent

IGeoDatabaseBridge

IFeatureClassCreation
(optional)

RemoveFeature (in Feature: IFeature)


RemoveFeatures (in features: ISet)
WriteFeature (in Feature: IFeature)
WriteFeatures (in features: ISet)

IFeatureClassManage

IFeatureConstruction : IUnknown

AutoCompleteFromFeatures (FeatureClass:
IFeatureClass, processingBounds:
IEnvelope, lineSrc: IEnumFeature,
InvalidArea: IInvalidArea,
ClusterTolerance: Double,
selectionWorkspace: IWorkspace, out
SelectionSet: ISelectionSet)
AutoCompleteFromFeaturesFromCursor
(FeatureClass: IFeatureClass,
processingBounds: IEnvelope, lineSrc:
IFeatureCursor, InvalidArea:
IInvalidArea, ClusterTolerance: Double,
selectionWorkspace: IWorkspace, out
SelectionSet: ISelectionSet)
AutoCompleteFromGeometries
(FeatureClass: IFeatureClass,
processingBounds: IEnvelope, lineSrc:
IEnumGeometry, InvalidArea:
IInvalidArea, ClusterTolerance: Double,
selectionWorkspace: IWorkspace, out
SelectionSet: ISelectionSet)
ConstructLines (cancel: ICancelOperation,
targetFC: IFeatureClass, sel:
IEnumFeature, replaceExistingInTarget:
Boolean, InvalidArea: IInvalidArea,
ClusterTolerance: Double)
ConstructLinesFromCursor (cancel:
ICancelOperation, targetFC:
IFeatureClass, sel: IFeatureCursor,
replaceExistingInTarget: Boolean,
InvalidArea: IInvalidArea,
ClusterTolerance: Double)
ConstructPolygonsFromFeatures (cancel:
ICancelOperation, FeatureClass:
IFeatureClass, processingBounds:
IEnvelope, modifyExisting: Boolean,
replaceTargetSelection: Boolean,
lineSrc: IEnumFeature, InvalidArea:
IInvalidArea, ClusterTolerance: Double,
labels: IFeatureClass)
ConstructPolygonsFromFeaturesFromCurs
or (cancel: ICancelOperation, targetFC:
IFeatureClass, processingBounds:
IEnvelope, modifyExisting: Boolean,
replaceTargetSelection: Boolean,
pLineSrc: IFeatureCursor, InvalidArea:
IInvalidArea, ClusterTolerance: Double,
pLabels: IFeatureClass)
ConstructPolygonsFromGeometries
(cancel: ICancelOperation,
FeatureClass: IFeatureClass,
processingBounds: IEnvelope,
modifyExisting: Boolean, pLineSrc:
IEnumGeometry, InvalidArea:
IInvalidArea, ClusterTolerance: Double)
PlanarizeLines (cancel: ICancelOperation,
enumFeature: IEnumFeature,
ClusterTolerance: Double)
PlanarizeLinesFromCursor (cancel:
ICancelOperation, FeatureClass:
IFeatureClass, FeatureCursor:
IFeatureCursor, ClusterTolerance:
Double)
SplitPolygonsWithLines (cancel:
ICancelOperation, FeatureClass:
IFeatureClass, processingBounds:
IEnvelope, lineSrc: IEnumFeature,
InvalidArea: IInvalidArea,
ClusterTolerance: Double)
SplitPolygonsWithLinesFromCursor
(cancel: ICancelOperation,
FeatureClass: IFeatureClass,
processingBounds: IEnvelope, pLineSrc:
IFeatureCursor, InvalidArea:
IInvalidArea, ClusterTolerance: Double)

CreateFeature: IFeature
CreateFeatureBuffer: IFeatureBuffer
FeatureCount (in QueryFilter: IQueryFilter):
Long
GetFeature (in ID: Long): IFeature
GetFeatures (in fids: Variant, in Recycling:
Boolean): IFeatureCursor
Insert (in useBuffering: Boolean):
IFeatureCursor
Search (in filter: IQueryFilter, in Recycling:
Boolean): IFeatureCursor
Select (in QueryFilter: IQueryFilter, in selType:
esriSelectionType, in selOption:
esriSelectionOption, in selectionContainer:
IWorkspace): ISelectionSet
Update (in filter: IQueryFilter, in Recycling:
Boolean): IFeatureCursor

IObjectClassEvents : IUnknown

IFeatureClassExtension : IUnknown

Extent: IEnvelope
SpatialReference: ISpatialReference

RelationshipRule
IRelationshipRule

CodedValueDomain

Category: Long
Helpstring: String
Type: esriRuleType

AddRule (in Rule: IRule)


DeleteRule (in Rule: IRule)
Validate (in Selection: IQueryFilter, in
Workspace: IWorkspace): ISelectionSet
ValidateSelection (in Selection: ISelectionSet,
in Workspace: IWorkspace): ISelectionSet
ValidateSet (in Selection: ISet): ISet

MemberOf (in Value: Variant): Boolean

ICodedValueDomain

IRule : IUnknown

esriSystem.IXMLSerialize

ObjectClassEvents
IObjectClassEvents

AreaField: IField
FeatureClassID: Long
FeatureDataset: IFeatureDataset
FeatureType: esriFeatureType
LengthField: IField
ShapeFieldName: String
ShapeType: esriGeometryType

ObjectClassValidator

IWorkspaceConfiguration : IUnknown

Extract (in ClassName: String, in DiffType:


esriDifferenceType): IDifferenceCursor
ExtractEx (in ClassName: String, in
DiffType: esriDifferenceType):
IDifferenceCursorEx

IRelatedObjectClassEvents
(optional)

FeatureClassExtension

esriLocatorQuery
0 - esriLocatorStyle
1 - esriLocator
2 - esriAllTypes

esriXYEventError
-2147201023 - XYEVENT_E_INVALID_X_NAME
-2147201022 - XYEVENT_E_INVALID_X_TYPE
-2147201021 - XYEVENT_E_INVALID_Y_NAME
-2147201020 - XYEVENT_E_INVALID_Y_TYPE
-2147201019 - XYEVENT_E_INVALID_Z_NAME
-2147201018 - XYEVENT_E_INVALID_Z_TYPE
-2147201017 - XYEVENT_E_CANT_SELECT
-2147201016 - XYEVENT_E_SOURCENAME_NOT_SETUP
-2147201015 - XYEVENT_E_CANT_DELETE_FIELD

IClass
IDatasetEdit
IDatasetEditInfo
IRelClassSchemaEdit
ITable
ITableCapabilities

IObjectClassEvents : IUnknown
OnChange (in obj: IObject)
OnCreate (in obj: IObject)
OnDelete (in obj: IObject)

IFeatureClassExtension

TransformGroup

esriLocatingError
0 - LOCATING_OK
1 - LOCATING_E_INVALIDRID
2 - LOCATING_E_INVALIDMEASURE
3 - LOCATING_E_CANT_FIND_ROUTE
4 - LOCATING_E_ROUTE_SHAPE_EMPTY
5 - LOCATING_E_CANT_FIND_LOCATION
6 - LOCATING_E_CANT_FIND_EXTENT
7 - LOCATING_E_FROM_PARTIAL_MATCH
8 - LOCATING_E_TO_PARTIAL_MATCH
9 - LOCATING_E_ROUTE_MS_NULL
10 - LOCATING_E_ROUTE_NOT_MAWARE
11 - LOCATING_E_FROM_TO_PARTIAL_MATCH
12 - LOCATING_E_MULTIPLE_LOCATION
13 - LOCATING_E_NULL_EXTENT

IObjectClassEvents
(optional)

IRelationshipClass2 : IRelationshipClass

IRelClassSchemaEdit : IUnknown

IObjectClassValidation : IUnknown
ValidateField (in Row: IRow, in FieldName:
String): String
ValidateRow (in Row: IRow): String

AlterBackwardPathLabel (in backwardLabel:


String)
AlterForwardPathLabel (in forwardLabel:
String)
AlterIsComposite (in IsComposite: Boolean)

IObjectClassInfo2 : IUnknown

IDatabaseCompact : IUnknown

ChangedIDs (in ClassName: String, in


DiffType: esriDifferenceType): IFIDSet
ModifiedClasses: IEnumBSTR

IObjectClassValidation
(optional)

IsAttachmentRelationship: Boolean

IRelClassSchemaEdit
(optional)

IObjectInspector : IUnknown

Clear
Copy (in srcRow: IRow)
Inspect (in Objects: IEnumRow, in Editor:
IEditor)

CanBypassStoreMethod: Boolean

IObjectClassInfo2
(optional)

ITransformGroup

IDataChangesEx

IRelationshipClass3

IObjectClassExtension : IUnknown

hWnd: OLE_HANDLE

Rules: IEnumRule
RulesByField (in FieldName: String):
IEnumRule
RulesBySubtypeCode (in SubtypeCode:
Long): IEnumRule

AlterRule (in Rule: IRule)


IFeatureEvents : IUnknown

esriEditor.IObjectInspector
(optional)

IValidation : IUnknown

IValidation2
(optional)

Project (in outputSR: ISpatialReference)

AddRelationshipRule (in Rule: IRule)


CreateRelationship (in OriginObject: IObject,
in DestinationObject: IObject): IRelationship
DeleteRelationship (in OriginObject: IObject,
in DestinationObject: IObject)
DeleteRelationshipRule (in Rule: IRule)
DeleteRelationshipsForObject (in anObject:
IObject)
DeleteRelationshipsForObjectSet (in
anObjectSet: ISet)
GetObjectsMatchingObjectSet (in
pSrcObjectSet: ISet):
IRelClassEnumRowPairs
GetObjectsRelatedToObject (in anObject:
IObject): ISet
GetObjectsRelatedToObjectSet (in
anObjectSet: ISet): ISet
GetRelationship (in OriginObject: IObject, in
DestinationObject: IObject): IRelationship
GetRelationshipsForObject (in anObject:
IObject): IEnumRelationship
GetRelationshipsForObjectSet (in
anObjectSet: ISet): IEnumRelationship

ObjectClassExtension
IObjectClassExtension

GetObjectsMatchingObjectArray (in
pSrcObjectArray: IArray, in
pQueryFilterAppliedToMatchingObjects:
IQueryFilter, in returnAllObjectMatches:
Boolean): IRelClassEnumRowPairs
GetObjectsMatchingObjectSetEx (in
pSrcObjectSet: ISet, in
pQueryFilterAppliedToMatchingObjects:
IQueryFilter, in returnAllObjectMatches:
Boolean): IRelClassEnumRowPairs

IFeatureWorkspaceAnno : IUnknown

esriEditDataChangesType
0 - esriEditDataChangesWithinSession
1 - esriEditDataChangesWithinOperation

esriLocatorWorkspaceType
0 - esriLocalSystemLocatorWorkspace
1 - esriFileSystemLocatorWorkspace
2 - esriRemoteDatabaseLocatorWorkspace
3 - esriExtensionLocatorWorkspace
4 - esriArcGISServerLocatorWorkspace
5 - esriLocalDatabaseLocatorWorkspace

IRelationshipClass2

AddSubtype (in SubtypeCode: Long, in


SubtypeName: String)
DeleteSubtype (in SubtypeCode: Long)

IFeatureProject : IUnknown

ConnectionCurrentDateTime: Variant
ConnectionDBMS: esriConnectionDBMS
ConnectionServer: String
GeodatabaseServerClass:
esriGeodatabaseServerClassType

esriWorkspaceConnectionStatus
0 - esriWCSUp
1 - esriWCSDown
2 - esriWCSAvailable

AddGlobalID (in FieldName: String)


DeleteGlobalID

AddRule (in Rule: IRule)


DeleteRule (in Rule: IRule)
Validate (in Selection: IQueryFilter, in
Workspace: IWorkspace): ISelectionSet
ValidateSelection (in Selection: ISelectionSet,
in Workspace: IWorkspace): ISelectionSet
ValidateSet (in Selection: ISet): ISet

Extension (in Index: Long):


IWorkspaceExtension
ExtensionCount: Long

IDatabaseConnectionInfo
(optional)

Subtypes: IEnumSubtype

ISpatialCacheManager2 :
ISpatialCacheManager

FindExtension (in pGUID: IUID):


IWorkspaceExtension
RegisterExtension (in Name: String, in pGUID:
IUID)
UnRegisterExtension (in pGUID: IUID)

IClassExtension : IUnknown
Init (in pClassHelper: IClassHelper, in
pExtensionProperties: IPropertySet)
Shutdown

BackwardPathLabel: String
Cardinality: esriRelCardinality
DestinationClass: IObjectClass
DestinationForeignKey: String
DestinationPrimaryKey: String
FeatureDataset: IFeatureDataset
ForwardPathLabel: String
IsAttributed: Boolean
IsComposite: Boolean
Notification: esriRelNotification
OriginClass: IObjectClass
OriginForeignKey: String
OriginPrimaryKey: String
RelationshipClassID: Long
RelationshipRules: IEnumRule

IRelationshipClassEvents

IClassSchemaEdit3 : IClassSchemaEdit2

AutoCommitInterval: Long

IFeatureEvents

ClassExtension
IClassExtension

IRelationshipClass : IUnknown

IClassSchemaEdit2 : IClassSchemaEdit

IsSimpleGeometry (in Geometry:


IGeometry, out reason:
esriNonSimpleReasonEnum): Boolean

ISpatialCacheManager : IUnknown

IIndexEdit : IIndex

IClassHelper : IUnknown

AlterAliasName (in Name: String)


AlterClassExtensionCLSID (in
ClassExtensionCLSID: IUID, in
classExtensionProperties: IPropertySet)
AlterDefaultValue (in FieldName: String, in
Value: Variant)
AlterDomain (in FieldName: String, in Domain:
IDomain)
AlterFieldAliasName (in FieldName: String, in
AliasName: String)
AlterFieldModelName (in FieldName: String, in
ModelName: String)
AlterInstanceCLSID (in InstanceCLSID: IUID)
AlterModelName (in Name: String)
RegisterAsObjectClass (in
suggestedOIDFieldName: String, in
ConfigKeyword: String): Long

IFeatureSimplify2 : IFeatureSimplify

ITransactionsOptions : IUnknown

IIndexEdit

Fields: IFields
IsAscending: Boolean
IsUnique: Boolean
Name: String

IRelationshipClass

IClassSchemaEdit : IUnknown

DeleteFeature
FindField (in Name: String): Long
Flush
InsertFeature (in buffer: IFeatureBuffer):
Variant
NextFeature: IFeature
UpdateFeature (in Object: IFeature)

EnumFeatureGeometry

SplitWithUpdate (in Geometry: IGeometry):


ISet

IsReadOnly: Boolean
IsSupported: Boolean
PropertyValue: Variant

1..*

RelationshipClass

AliasName: String
ObjectClassID: Long
RelationshipClasses (in role: esriRelRole) :
IEnumRelationshipClass

Fields: IFields

IFeatureEdit2 : IFeatureEdit

IWorkspaceProperty : IUnknown

AddIndex (in Index: IIndex)


DeleteAllIndexes()
DeleteIndex(in Index: IIndex)

Fields: IFields
IsAscending: Boolean
IsUnique: Boolean
Name: String

ITableCapabilities : IUnknown

RegisterGlobalIDColumn (in columnName:


String)
UnregisterGlobalIDColumn (in
columnName: String)

InvalidArea: IInvalidArea

IFeatureEdit

Index (in pos: Long): IIndex


IndexCount: Long

IIndex : IUnknown

IObjectClass : IClass

IFeatureDraw : IUnknown

ISQLSyntax : IUnknown

IIndexesEdit : IIndexes

Index
IIndex
esriSystem.IClone
IXMLSerialize
(esriSystem)

ObjectClass

TableSort

IFeatureChanges : IUnknown

Property (in propertyGroup:


esriWorkspacePropertyGroupType, in
PropertyType: Long): IWorkspaceProperty

FindIndex (in Name: String, out pos: Long)


FindIndexesByFieldName (in FieldName:
String): IEnumIndex

ClassHelper

Cancelled: Boolean
Continue: Boolean
Cursor: ICursor
Field: String
SampleRate: Long
SimpleStats: Boolean
Statistics: IStatisticsResults
UniqueValueCount: Long
UniqueValues: IEnumVARIANT

Shape: IGeometry

IWorkspaceProperties : IUnknown

Index (in pos: Long): IIndex


IndexCount: Long

Class: IClass

DataStatistics
Relationship

IFeatureBuffer : IRowBuffer

IFeatureChanges

IIndexes : IUnknown

0..1

DeleteRow
FindField (in Name: String): Long
Flush
InsertRow (in buffer: IRowBuffer): Variant
NextRow: IRow
UpdateRow (in Row: IRow)

Extent: IEnvelope
FeatureType: esriFeatureType
Shape: IGeometry
ShapeCopy: IGeometry

IFeatureBuffer

IIndexesEdit

IClassHelper

IFeature : IObject

Indexes
IIndexes
esriSystem.IClone
IXMLSerialize
(esriSystem)

FilterOwnsGeometry: Boolean
Geometry: IGeometry
GeometryEx (in Geometry: IGeometry):
Boolean
GeometryField: String
SearchOrder: esriSearchOrder
SpatialRel: esriSpatialRelEnum
SpatialRelDescription: String

Feature
IFeature

IModelInfo : IUnknown
ModelName: String

IDataset

InitDefaultValues

AddDataset (in pDatasetToAdd: IDataset)

AddField (in Field: IField)


DeleteAllFields()
DeleteField(in Field: IField)

ISpatialFilter : IQueryFilter

IObjectClass
IObjectClassEvents
IObjectClassSchemaEvents

SubtypeCode: Long

IDatasetContainer : IUnknown

Field (in Index: Long): IField


FieldCount: Long

ICursor : IUnknown

AttributedRelationship

IRowSubtypes : IUnknown

IFieldsEdit : IFields

SpatialFilter
ISpatialFilter

IRelationship

GetInvalidFields: IFields
GetInvalidRules: IEnumRule
GetInvalidRulesByField (in FieldName:
String): IEnumRule
Validate (out errorMessage: String):
Boolean

1..*

IQueryDef2 : IQueryDef

IValidate : IUnknown

RelationshipClasses: IEnumRelationshipClass

IWorkspaceDomains2 : IWorkspaceDomains

ITableCapabilities

AliasName: String
DefaultValue: Variant
Domain: IDomain
DomainFixed: Boolean
Editable: Boolean
GeometryDef: IGeometryDef
IsNullable: Boolean
Length: Long
Name: String
Precision: Long
Required: Boolean
Scale: Long
Type: esriFieldType

IFields2 : IFields

IQueryFilterDefinition2 : IQueryFilterDefinition

Class: IObjectClass

IRelationshipClassContainer : IUnknown

IRelationshipClassContainer

IFieldsEdit

IFieldEdit : IField

PostfixClause: String
PrefixClause: String

Object

IValidate

IFieldEdit

CanSelect: Boolean

IQueryDef2

IRowEvents : IUnknown

IObject : IRow

CheckValue (in Value: Variant): Boolean

FindFieldIgnoreQualification (sqlSyntax:
ISQLSyntax, in Name: String, out Index:
Long)

CreateRow: IRow
CreateRowBuffer: IRowBuffer
DeleteSearchedRows (in QueryFilter:
IQueryFilter)
GetRow (in OID: Long): IRow
GetRows (in oids: Variant, in Recycling:
Boolean): ICursor
Insert (in useBuffering: Boolean): ICursor
RowCount (in QueryFilter: IQueryFilter): Long
Search (in QueryFilter: IQueryFilter, in
Recycling: Boolean): ICursor
Select (in QueryFilter: IQueryFilter, in selType:
esriSelectionType, in selOption:
esriSelectionOption, in selectionContainer:
IWorkspace): ISelectionSet
Update (in QueryFilter: IQueryFilter, in
Recycling: Boolean): ICursor
UpdateSearchedRows (in QueryFilter:
IQueryFilter, in buffer: IRowBuffer)

Fields: IFields

IObject

FindField (in Name: String): Long


FindFieldByAliasName (in Name: String):
Long

ITable : IClass

OutputSpatialReference (in FieldName:


String): ISpatialReference
SubFields: String
WhereClause: String

Cursor

Class (in ClassIndex: Long): IFeatureClass


ClassByID (in ID: Long): IFeatureClass
ClassByName (in Name: String):
IFeatureClass
ClassCount: Long
Classes: IEnumFeatureClass

IWorkspaceDomains : IUnknown

ITable

PrefixClause: String

ICursor

IFeatureClassContainer : IUnknown

IFields2

Field (in Index: Long): IField


FieldCount: Long

IModelInfo

IQueryFilter : IUnknown

FilterDefs: IFilterDefs
PostfixClause: String

CreateFeatureClass (in Name: String, in


Fields: IFields, in CLSID: IUID, in
EXTCLSID: IUID, in FeatureType:
esriFeatureType, in ShapeFieldName:
String, in ConfigKeyword: String):
IFeatureClass

SpatialReferenceInfo:
IEnumSpatialReferenceInfo

IWorkspaceExtensionManager
(optional)

AliasName: String
DefaultValue: Variant
Domain: IDomain
DomainFixed: Boolean
Editable: Boolean
GeometryDef: IGeometryDef
IsNullable: Boolean
Length: Long
Name: String
Precision: Long
Required: Boolean
Scale: Long
Type: esriFieldType
VarType: Long

IFields : IUnknown

AddField (in Field: IField)


AddIndex (in Index: IIndex)
DeleteField (in Field: IField)
DeleteIndex (in Index: IIndex)
FindField (in Name: String): Long

QueryFilter

IFeatureDataset : IDataset

esriSystem.IClone

esriGeodatabaseServerClassType
0 - esriServerClassUnknown
1 - esriServerClassPersonal
2 - esriServerClassWorkgroup
3 - esriServerClassEnterprise

IFields
esriSystem.IClone
IXMLSerialize
(esriSystem)

CLSID: IUID
EXTCLSID: IUID
Extension: IUnknown
ExtensionProperties: IPropertySet
Fields: IFields
HasOID: Boolean
Indexes: IIndexes
OIDFieldName: String

Evaluate: ICursor

OnChanged
OnDelete
OnInitialize
OnNew
OnValidate

RasterDataset in Raster

IEnumIDs : IUnknown

IQueryDef : IUnknown
SubFields: String
Tables: String
WhereClause: String

DeleteSet (in Rows: ISet)

ConfigurationKeywords:
IEnumConfigurationKeyword

IWorkspaceSpatialReferenceInfo

IField : IUnknown

esriSystem.IClone
esriSystem.IXMLSerialize
IGPValue

IClass : IUnknown

Next: Long
Reset

IQueryFilterDefinition

QueryDef

IsEqual (in otherRow: IRow): Boolean

IRowEvents

IClass

IRowChanges : IUnknown

CanCompact: Boolean
Compact

IWorkspaceConfiguration
(optional)

Field
IField

firstMember: Type
secondMember: Type

SpatialResolution: Double

OriginalValue (in Index: Long): Variant


ValueChanged (in Index: Long): Boolean

IRowEdit

IFeatureDataset

IEnumIDs

Add (in OID: Long)


AddList (in Count: Long, in OIDList: Long)
Combine (in otherSet: ISelectionSet, in setOp:
esriSetOperation, out resultSet:
ISelectionSet)
MakePermanent
Refresh
RemoveList (in Count: Long, in OIDList: Long)
Search (in pQueryFilter: IQueryFilter, in
Recycling: Boolean, out ppCursor: ICursor)
Select (in QueryFilter: IQueryFilter, in selType:
esriSelectionType, in selOption:
esriSelectionOption, in selectionContainer:
IWorkspace): ISelectionSet

HasOID: Boolean
OID: Long
Table: ITable

AlterGeodataXform (in xform:


IGeodataXform)
AlterResolution (in xyResolution: Double, in
zResolution: Double, in mResolution:
Double)
ConstructResolutions (SpatialReference:
ISpatialReference, numberRequested:
Long, out defaultXYResolutionIndex:
Long, out xyResolutions: IDoubleArray,
out zResolutions: IDoubleArray, out
mResolutions: IDoubleArray)

FeatureDataset

Count: Long
FullName: IName
IDs: IEnumIDs
Target: ITable

IRecordSetInit : IUnknown

Row

CanAlterGeodataXform: Boolean

IFeatureWorkspaceSchemaEdit : IUnknown

AddSymbolCollection (in Name: String, in


symbolCollection: IUnknown)
CreateAnnotationClass (in Name: String, in
Fields: IFields, in CLSID: IUID, in
EXTCLSID: IUID, in ShapeFieldName:
String, in ConfigKeyword: String, in
dstFeatureDataset: IFeatureDataset, in
srcFeatureClass: IFeatureClass, in
annoProperties: IUnknown, in
referenceScale: IUnknown, in
symbolCollection: IUnknown, in autoCreate:
Boolean): IFeatureClass
ReplaceSymbolCollection (in Name: String, in
symbolCollection: IUnknown)

esriDatasetFileStatAccessMode
0 - esriDatasetFileStatAccessUnknown
2 - esriDatasetFileStatAccessWrite
4 - esriDatasetFileStatAccessReadOnly
6 - esriDatasetFileStatAccessReadWrite

* or 0..* - From zero to any positive integer

<<Struct>>

Structure key

Method

FillCacheEx (pExtent: IEnvelope,


expansionFactor: Double)

IFeatureWorkspaceAnno

M..N - From M to N (positive integers)


1..* - From one to any positive integer

EnumIDs

CacheExpansionFactor: Double

esriTransformType
1 - esriTTMove
2 - esriTTStretch
3 - esriTTRotate
4 - esriTTProgrammatic

0..1 - Zero or one

Table

ISelectionSet : IUnknown

MaxRecordCount: Long

EmptyCache
FillCache (pExtent: IEnvelope)

esriJoinType
0 - esriLeftOuterJoin
1 - esriLeftInnerJoin

esriConnectionDBMS
0 - esriDBMS_Unknown
1 - esriDBMS_Oracle
2 - esriDBMS_Informix
3 - esriDBMS_SQLServer
4 - esriDBMS_DB2
5 - esriDBMS_PostgreSQL

IRecordSetInit

CanAlterSpatialReference: Boolean

IGeoDatasetSchemaEdit2
(optional)

ISelectionSet

DetachTable
SaveAsTable (in Workspace: IWorkspace,
in TableName: String): ITable

IGeoDatasetSchemaEdit : IUnknown

CacheExtent: IEnvelope
CacheIsFull: Boolean

ISpatialCacheManager2

AvgNumPoints: Long
GeometryType: esriGeometryType
GridCount: Long
GridSize (in Index: Long): Double
HasM: Boolean
HasZ: Boolean
SpatialReference: ISpatialReference

1 - One and only one (if none shown, '1' is implied)

SelectionSet

IRecordSet2 : IRecordSet

IRowBuffer : IUnknown

GeodataXform: IGeodataXform
NativeExtent: IEnvelope
NativeSpatialReference: ISpatialReference

IGeoDataSetSchemaEdit

Cursor (in Recycling: Boolean): ICursor


Fields: IFields
IsFeatureCollection: Boolean
Table: ITable

RowBuffer

IFeatureProject

esriWorkspaceType
0 - esriFileSystemWorkspace
1 - esriLocalDatabaseWorkspace
2 - esriRemoteDatabaseWorkspace

IGeometryDefEdit : IGeometryDef

A Multiplicity is a constraint on the number of objects that can be associated


with another object. Association and composition relationships have
multiplicities on both sides. This is the notation for multiplicities:

IRecordSet : IUnknown

IRecordSet2

AbortTransaction
CommitTransaction
StartTransaction

ISpatialCacheManager

Multiplicity

enumeration
firstValue - firstEnumeration
secondValue - secondEnumeration

Outbound Interface

(<classname>) indicates the name of the


helper class required to support this
event interface in Visual Basic.

IXMLSerialize
IPersist
IPersistStream

InTransaction: Boolean

ITransactionsOptions
(optional)

esriWorkspaceTablePropertyType
1 - esriTablePropRowCountIsCalculated
2 - esriTablePropCanAddField
3 - esriTablePropCanDeleteField
4 - esriTablePropCanAddIndex
5 - esriTablePropCanDeleteIndex
6 - esriTablePropOIDIsRecordNumber
7 - esriTablePropMaxFieldNameLength
8 - esriTablePropBindCursor
9 - esriTablePropSupportsMultiColumnIndexes

1..*

Inbound Interface

(Instance) represents interfaces that are


only on specific instances of the class .

Extent: IEnvelope
SpatialReference: ISpatialReference

IFeatureWorkspaceManage2 :
IFeatureWorkspaceManage

GetDelimitedIdentifierCase: Boolean
GetFunctionName (in sqlFunc:
esriSQLFunctionName): String
GetIdentifierCase: Boolean
GetInvalidCharacters: String
GetInvalidStartingCharacters: String
GetKeywords: IEnumBSTR
GetSpecialCharacter (in sqlSC:
esriSQLSpecialCharacters): String
GetStringComparisonCase: Boolean
GetSupportedClauses: Long
GetSupportedPredicates: Long
ParseColumnName (in FullName: String, out
dbName: String, out ownerName: String,
out TableName: String, out columnName:
String)
ParseTableName (in FullName: String, out
dbName: String, out ownerName: String,
out TableName: String)
QualifyColumnName (in TableName: String, in
columnName: String): String
QualifyTableName (in dbName: String, in
ownerName: String, in TableName: String):
String

IGeometryDefEdit

Composition is a relationship in which objects from the 'whole' class control


the lifetime of objects from the 'part' class.

Association

Special Interfaces

GeoDataset

IFeatureWorkspaceManage : IUnknown

IGeodatabaseRelease2 : IGeodatabaseRelease

AvgNumPoints: Long
GeometryType: esriGeometryType
GridCount: Long
GridSize (in Index: Long): Double
HasM: Boolean
HasZ: Boolean
SpatialReference: ISpatialReference

Type inheritance defines specialized classes of objects which share


properties and methods with the superclass and have additional properties
and methods. Note that interfaces in superclasses are not duplicated in
subclasses.
Instantiation specifies that one object from one class has a method with
which it creates an object from another class .

Interface of interest

IGeometryDef : IUnknown

An N-ary association specifies that more than two classes are associated . A
diamond is placed at the intersection of the association branches .

IFeatureDraw
esriSelectionOption
1 - esriSelectionOptionNormal
2 - esriSelectionOptionOnlyOne
3 - esriSelectionOptionEmpty

Class

IDatasetEditInfo : IUnknown

Upgrade2 (in doPrerequisiteCheck:


Boolean, in doUpgrade: Boolean, in
cancelTrack: ITrackCancel, in Messages:
IGPMessages)

ConfigurationString: String
Name: String

esriConfigurationKeywordType
1 - esriConfigurationKeywordGeneral
2 - esriConfigurationKeywordNetwork
3 - esriConfigurationKeywordTopology
4 - esriConfigurationKeywordNetworkDataset
5 - esriConfigurationKeywordTerrain

Composition

Interface of interest

IDatasetEditEx : IUnknown

IRecordSet

DatasetSupported (in Type:


esriDatasetType): Boolean

IConfigurationParameter

Instantiation

Upgrade

IGeodatabaseRelease2

Types of Relationships

GeometryDef
IGeometryDef
esriSystem.IClone
esriSystem.IPersistStream

Fields

BugfixVersion: Long
CanUpgrade: Boolean
CurrentRelease: Boolean
MajorVersion: Long
MinorVersion: Long

A Class cannot directly create objects, but objects of this class can be
created as a property of another class or instantiated by objects from
another class.

RecordSet

AlterDomain (in Domain: IDomain)

IConfigurationKeyword : IUnknown

ConfigurationParameter

ESRI ArcGIS 10

ChangeSchemaLock (in schemaLock:


esriSchemaLock)
GetCurrentSchemaLocks (out
schemaLockInfo: IEnumSchemaLockInfo)

AddDomain (in Domain: IDomain) : Long


DeleteDomain (in DomainName: String)

IWorkspaceDomains2

A CoClass can directly create objects by declaring a new object .

IFeatureWorkspace : IUnknown

CanDeleteDomain (in DomainName: String) :


Boolean
DomainByName (in DomainName: String) :
IDomain
Domains: IEnumDomain
DomainsByFieldType (in Type: esriFieldType)
: IEnumDomain

WorkspaceHelper

IConfigurationKeyword

Analyze (in tableComponents: Long)

IMultiuserWorkspaceEdit : IUnknown

AlterClassExtensionCLSID (in Name: String,


in ClassExtensionCLSID: IUID, in
classExtensionProperties: IPropertySet)
AlterInstanceCLSID (in Name: String, in
InstanceCLSID: IUID)

Init (in pWorkspaceHelper:


IWorkspaceHelper)
Shutdown

IWorkspaceHelper

CanEdit: Boolean
CanRedo: Boolean
CanUndo: Boolean

IWorkspaceEdit2 : IWorkspaceEdit

GetObjectClassNameByID (in ObjectClassID:


Long): String
GetRelationshipClassNameByID (in
relClassId: Long): String

Workspace: IWorkspace

IWorkspaceExtensionControl

InterfaceD
InterfaceB

IDatasetEdit : IUnknown

IsBeingEdited (out pIsBeingEdited: Boolean,


out hrReason: HRESULT)

IDatasetEditInfo

Interface of interest

CoClass

AnalyzeIndex (in TableName: String, in Index:


String)
AnalyzeTable (in TableName: String, in
tableComponents: Long)
CanDelete (in aName: IName): Boolean
CanRename (in aName: IName): Boolean
DeleteByName (in aName: IDatasetName)
IsRegisteredAsObjectClass (in Name: String):
Boolean
IsRegisteredAsVersioned (in aName: IName):
Boolean
ValidateField (in pInField: IField): IField

WorkspaceExtension

IWorkspaceExtension2
(optional)

IDatasetEditEx

CreateTable (in Name: String, in Fields:


IFields, in CLSID: IUID, in EXTCLSID: IUID,
in ConfigKeyword: String): ITable
OpenFeatureClass (in Name: String):
IFeatureClass
OpenFeatureDataset (in Name: String):
IFeatureDataset
OpenFeatureQuery (in QueryName: String, in
pQueryDef: IQueryDef): IFeatureDataset
OpenRelationshipClass (in Name: String):
IRelationshipClass
OpenRelationshipQuery (in pRelClass:
IRelationshipClass, in joinForward:
Boolean, in pSrcQueryFilter: IQueryFilter, in
pSrcSelectionSet: ISelectionSet, in
TargetColumns: String, in
DoNotPushJoinToDB: Boolean): ITable
OpenTable (in Name: String): ITable

WorkspaceStatus

IWorkspaceExtension

AbortEditOperation
DisableUndoRedo
EnableUndoRedo
HasEdits (pHasEdits: Boolean)
HasRedos (pHasRedos: Boolean)
HasUndos (pHasUndos: Boolean)
IsBeingEdited: Boolean
RedoEditOperation
StartEditing (withUndoRedo: Boolean)
StartEditOperation
StopEditing (in saveEdits: Boolean)
StopEditOperation
UndoEditOperation

An abstract class cannot be used to create new objects but is a specification


for instances of subclasses (through type inheritance.)

Associations represent relationships between classes . They have defined


multiplicities at both ends.

IWorkspaceEdit : IUnknown

CreateFeatureClass (in Name: String, in


Fields: IFields, in CLSID: IUID, in
EXTCLSID: IUID, in FeatureType:
esriFeatureType, in ShapeFieldName:
String, in ConfigKeyword: String):
IFeatureClass
CreateFeatureDataset (in Name: String, in
SpatialReference: ISpatialReference):
IFeatureDataset
CreateQueryDef: IQueryDef
CreateRelationshipClass (in relClassName:
String, in OriginClass: IObjectClass, in
DestinationClass: IObjectClass, in
forwardLabel: String, in backwardLabel:
String, in Cardinality: esriRelCardinality, in
Notification: esriRelNotification, in
IsComposite: Boolean, in IsAttributed:
Boolean, in relAttrFields: IFields, in
OriginPrimaryKey: String, in
destPrimaryKey: String, in
OriginForeignKey: String, in
destForeignKey: String): IRelationshipClass

ISetDefaultConnectionInfo3 :
ISetDefaultConnectionInfo2

IWorkspaceFactoryStatus
(optional)

IDatasetEdit

AbstractClass

Type inheritance

StartMultiuserEditing (in esMode:


esriMultiuserEditSessionMode)
SupportsMultiuserEditSessionMode (in
esMode: esriMultiuserEditSessionMode):
Boolean

SetParameters (in server: String, in instance:


String, in user: String, in password: String, in
versName: String)

ISetDefaultConnectionInfo3
(optional)

IWorkspace2 : IUnknown

MultiuserEditSessionMode:
esriMultiuserEditSessionMode

ISetDefaultConnectionInfo : IUnknown

ISetDefaultConnectionInfo2
(optional)

CanCopy: Boolean
CanDelete: Boolean
CanRename: Boolean
Copy (in copyName: String, in
copyWorkspace: IWorkspace): IDataset
Delete
Rename (in Name: String)

EditDataChanges (in editChangeType:


esriEditDataChangesType):
IDataChangesEx
InEditOperation: Boolean

DeleteConnectionFile (in PathName: String)


EditConnectionFile (in PathName: String, in
hWnd: OLE_HANDLE): IWorkspaceName
RenameConnectionFile (in oldPathName:
String, in newName: String):
IWorkspaceName

ISetDefaultConnectionInfo
(optional)

BrowseName: String
Category: String
FullName: IName
Name: String
PropertySet: IPropertySet
Subsets: IEnumDataset
Type: esriDatasetType
Workspace: IWorkspace

IsBeingEdited: Boolean

ILocalDatabaseCompact : IUnknown

IRemoteDatabaseWorkspaceFactory
(optional)

NameExists (in Type: esriDatasetType, in


Name: String): Boolean

OpenFromString (in connectStr: String, in


hWnd: OLE_HANDLE): IWorkspace

ILocalDatabaseCompact
(optional)

ConnectionProperties: IPropertySet
DatasetNames (in DatasetType:
esriDatasetType): IEnumDatasetName
Datasets (in DatasetType: esriDatasetType):
IEnumDataset
PathName: String
Type: esriWorkspaceType
WorkspaceFactory: IWorkspaceFactory

Types of Classes

Class Diagram
InterfaceA
Key (Optional)InterfaceB

IDataset : IUnknown

IDataset

IWorkspace : IUnknown

ExecuteSQL (in sqlStmt: String)


Exists: Boolean
IsDirectory: Boolean

IWorkspaceFactory2 : IWorkspaceFactory

IWorkspaceFactory2

Dataset

IGeoDatabaseBridge2 : IGeoDatabaseBridge
AddList (in SelectionSet: ISelectionSet, in
OIDList: Long[])
GetLineOfSight (in pSurface: ISurface, in
pObserver: IPoint, in pTarget: IPoint, out
ppObstruction: IPoint, out ppVisibleLines:
IPolyline, out ppInvisibleLines: IPolyline,
out pbIsVisible: Boolean, in
bApplyCurvature: Boolean, in
bApplyRefraction: Boolean, in
pRefractionFactor: Variant)
QueryElevationBand (in pTinTriangle:
ITinTriangle, in zLowerBound: Double, in
zUpperBound: Double, out pCount:
Long, in pRegion: WKSPointZ[])
QueryPixelBlock (in pSurface: ISurface, in
xOrigin: Double, in yOrigin: Double, in
xPixelSize: Double, in yPixelSize:
Double, in Type: esriRasterizationType,
in valueForNoData: Variant, in block:
Variant)
RemoveList (in SelectionSet: ISelectionSet,
in OIDList: Long[])

EnumAttachment
XYEventSource

XYEvent2FieldsProperties
IXYEvent2FieldsProperties
esriSystem.IClone
IPersistStream
IXYEventProperties

IXYEvent2FieldsProperties :
IXYEventProperties
XFieldName: String
YFieldName: String
ZFieldName: String
IXYEventProperties : IUnknown

IXYEventSource
IClass

IEnumAttachment

IXYEventSource : IUnknown

IEnumAttachment : IUnknown
Next: IAttachment
Reset

EventProperties: IXYEventProperties
EventTable: ITable

IVirtualTable

IVirtualTable : IUnknown

IDatasetEdit

IDatasetEdit : IUnknown

NetworkClassDescription
INetworkClassDescription

RefreshExtent

INetworkClassDescription : IUnknown
EnabledFieldName: String
NetworkAncillaryRoleFieldName: String

IsBeingEdited: Boolean

IDatasetEditInfo
IEventSource

IDatasetEditInfo : IUnknown

Attachment

IEventSource : IUnknown

IAttachment

IAttachment : IUnknown
AttachmentID: Long
ContentType: String
Data: IMemoryBlobStream
GlobalID: String
Name: String
ParentID: Long
Size: Long

RasterCatalogClassDescription

Types of Classes

Class Diagram
InterfaceA
Key (Optional)InterfaceB

AbstractClass
Interface of interest

Dataset in
Geodatabase
Core

Type inheritance

INetworkWorkspace

INetworkWorkspace : IUnknown

ISupportErrorInfo

CreateNetwork (in networkName: String, in


NetworkType: esriNetworkType, in
buildNormalizedTables: Boolean):
INetwork
GetNetworkNames: IEnumBSTR
OpenNetwork (in networkName: String, in
NetworkType: esriNetworkType, in
networkAccess: esriNetworkAccess):
INetwork

INetworkWorkspace2

CoClass
InterfaceD
InterfaceB

Instantiation
Composition

Interface of interest

Class

INetwork
IVersionedObject2

Enumerations

INetworkUpdate

esriElementType
0 - esriETNone
1 - esriETJunction
2 - esriETEdge
3 - esriETTurn

esriFlowDirection
0 - esriFDUninitialized
1 - esriFDWithFlow
2 - esriFDAgainstFlow
3 - esriFDIndeterminate

esriNetworkAccess
0 - esriNAReadOnly
1 - esriNAReadWrite
2 - esriNACreate

esriNetworkType
0 - esriNTStreetNetwork
1 - esriNTUtilityNetwork

esriNetworkClassAncillaryRole
0 - esriNCARNone
1 - esriNCARSourceSink

esriNetworkErrorType
0 - esriNETAll
1 - esriNETConnectivity
2 - esriNETAssociatedElements
3 - esriNETMissingAllElements
4 - esriNETMissingAnyElements
5 - esriNETDuplicateElements
6 - esriNETAssociatedWithInvalidElements
7 - esriNETAssociatedFeatures
8 - esriNETAssociatedWithMissingFeatures
9 - esriNETGeometry
10 - esriNETEmptyGeometry
11 - esriNETMultipartGeometry
12 - esriNETIdenticalStartStopVertex
13 - esriNETZeroLengthGeometry
14 - esriNETAssociatedWithSameFromToJunction
15 - esriNETMismatchedZValue
16 - esriNETStandaloneJunction

INetAttributesEdit

INetSchema
esriWeightType
0 - esriWTNull
1 - esriWTBitGate
2 - esriWTInteger
3 - esriWTSingle
4 - esriWTDouble
5 - esriWTBoolean

INetTopologyEdit

GeometricNetwork (in Index: Long):


IGeometricNetwork
GeometricNetworkByName (in Name:
String): IGeometricNetwork
GeometricNetworkCount: Long

INetworkCollection2

ElementType: esriElementType
UserClassID: Long
UserID: Long
UserSubID: Long

IEnumNetEIDBuilderGEN

IEnumNetEID : IUnknown

1..* - From one to any positive integer


<<Struct>>

Structure key
firstMember: Type
secondMember: Type

Method

ObjectClass in
Geodatabase Core

IEnumNetEIDBuilderGEN : IUnknown

EIDs: Long[]
ElementType: esriElementType
Network: INetwork

GeometricNetwork

Add (in EID: Long)

IGeometricNetwork

INetElementClass

INetElementClass : IUnknown
UserClassID: Long

INetSchema : IUnknown

ClassesByNetworkAncillaryRole (in Role:


esriNetworkClassAncillaryRole):
IEnumFeatureClass
ClassesByType (in Type: esriFeatureType):
IEnumFeatureClass
EdgeElement (in location: IPoint): Long
GeometryForEdgeEID (in edgeEID: Long):
IGeometry
GeometryForJunctionEID (in junctionEID:
Long): IGeometry
InvalidArea: IInvalidArea
JunctionElement (in location: IPoint): Long
Network: INetwork
NetworkFeature (in networkElement:
INetElementDescription):
INetworkFeature
NetworkType: esriNetworkType
OrphanJunctionFeatureClass:
IFeatureClass
Rules: IEnumRule
RulesByClassAndSubtype (in ClassID:
Long, in SubtypeCode: Long):
IEnumRule
ValidFlowDirection: Boolean

NetWeight
INetWeight
IXMLSerialize

INetWeightEdit

INetWeight : IUnknown
BitGateSize: Long
WeightID: Long
WeightName: String
WeightType: esriWeightType

IFeatureClassContainer

ICursor
IFeatureCursor

FieldToWeightMapping (in FieldIndex:


Long): Long
GeometricNetwork: IGeometricNetwork
NetworkAncillaryRole:
esriNetworkClassAncillaryRole

Feature in
Geodatabase Core

FeatureCursor

NetworkFeature
INetworkFeature

Enabled: Boolean
GeometricNetwork: IGeometricNetwork

Class (in ClassIndex: Long): IFeatureClass


ClassByID (in ID: Long): IFeatureClass
ClassByName (in Name: String):
IFeatureClass
ClassCount: Long
Classes: IEnumFeatureClass

IEnumNetWeightAssociation : IUnknown
Count: Long
Next: INetWeightAssociation
Reset

IGraph

INetworkFeature : IUnknown

IFeatureClassContainer : IUnknown

EnumNetWeightAssociation

INetSchemaEdit : INetSchema

0..1

INetworkClass : IFeatureClass

CreateOrphanFeature (in location: IPoint,


out orphanEID: Long):
ISimpleJunctionFeature
EstablishFlowDirection
SearchForNetworkFeature (in location:
IPoint, in Type: esriFeatureType):
IEnumFeature

INetWeightEdit : INetWeight
BitGateSize: Long
WeightName: String
WeightType: esriWeightType

IEnumNetWeightAssociation

FeatureClass
INetworkClass

IGeometricNetwork : IGraph

IDataset
IDatasetEdit
IGeoDataset
IMetadata
IMetadataEdit
INativeTypeInfo
ISchemaLock

NetElementClass

INetAttributesEdit : INetAttributes

Connect
CreateNetworkElements: IEnumNetEID
Disconnect
OnDisconnect

IGraph : IUnknown
FeatureDataset: IFeatureDataset
AddFeatureClass (in FeatureClass:
IFeatureClass, in EnabledFieldName:
String, in Role:
esriNetworkClassAncillaryRole, in
AncillaryRoleFieldName: String)
DeleteSet (in featuresToDelete: ISet)
Init (in Dataset: IFeatureDataset, in
graphID: Long, in graphName: String, in
buildNormalizedTables: Boolean, in
createGraph: Boolean)
Merge (in mergingFeatures:
IEnumFeature): IEnumFeature
Split (in splittingEdge: IEdgeFeature, in
point: IGeometry): ISet
TransformSet (in features: ISet, in Type:
esriTransformType, in tranformation:
IAffineTransformation2D)

NetWeightAssociation
INetWeightAssociation
IXMLSerialize

INetTopology : IUnknown

INetWeightAssociationEdit

INetWeightAssociation : IUnknown
FieldName: String
TableName: String
WeightID: Long
INetWeightAssociationEdit :
INetWeightAssociation
FieldName: String
TableName: String
WeightID: Long

IGeometricNetworkConnectivity

RebuildConnectivity (in
pIncrementalRebuildArea: IEnvelope)

IGeometricNetworkConnectivity2

EdgeFeature
IEdgeFeature

ISimpleJunctionFeature : IUnknown
EdgeFeature (in Index: Long):
IEdgeFeature
EdgeFeatureCount: Long
EID: Long

IJunctionFeature

IEdgeFeature : IUnknown
FromJunctionEID: Long
FromJunctionFeature: IJunctionFeature
FromToJunctionEIDs: IEnumNetEID
GeometryForEdgeElement (in subID:
Long): IGeometry
ToJunctionEID: Long
ToJunctionFeature: IJunctionFeature

IJunctionFeature : IUnknown
GeometryForJunctionElement (in subID:
Long): IGeometry
NetworkAncillaryRole:
esriNetworkFeatureAncillaryRole
OriginalGeometryForJunctionElement (in
subID: Long): IGeometry

IGeometricNetworkConnectivity2 :
IGeometricNetworkConnectivity
CheckAndRepairConnectivity (in
checkOnly: Boolean, in logFilePath:
String, out errorSelectionSets: ISet, out
hasInternalInconsistencies: Boolean, in
pRepairConnectivityProgress:
IRepairConnectivityProgress)
RebuildConnectivity2 (in
pIncrementalRebuildArea: IEnvelope)

UtilityNetwork

SimpleJunctionFeature
ISimpleJunctionFeature

IGeometricNetworkConnectivity : IUnknown

INetTopologyEdit : INetTopology

IUtilityNetworkGEN

* or 0..* - From zero to any positive integer

INetworkCollection2 : INetworkCollection

ISimpleNetworkFeature

ISimpleNetworkFeature : IUnknown

IGeometricNetworkErrorDetection : IUnknown
ErrorTable: ITable

Rule in
Geodatabase Core

IStreetNetwork : INetwork

Property Get
Property Put
Property Get/Put
Property Put by Reference

M..N - From M to N (positive integers)

Last: Long
Next: Long
Prev: Long
Reset

INetAttributes : IUnknown

StreetNetwork

Interface key

CreateGeometricNetworkEx (in Name:


String, in NetworkType:
esriNetworkType, in
buildNormalizedTables: Boolean, in
ConfigKeyword: String, in formatNum:
Long): IGeometricNetwork
GetMaxStorableClassID (in formatNum:
Long): Long

IGeometricNetworkErrorDetection

IStreetNetwork

0..1 - Zero or one

FormatNumber (in Index: Long): Long


FormatNumberCount: Long

AddEdgeByEndEIDs (in edgeDescription:


INetElementDescription, in
FromJunctionEID: Long, in
ToJunctionEID: Long): Long
AddJunction (in junctionDescription:
INetElementDescription): Long
DeleteByEID (in EID: Long, in
ElementType: esriElementType)
DeleteByID (in UserClassID: Long, in
UserID: Long, in UserSubID: Long, in
ElementType: esriElementType)

INetElementDescriptionEdit :
INetElementDescription

1 - One and only one (if none shown, '1' is implied)


enumeration
firstValue - firstEnumeration
secondValue - secondEnumeration

Outbound Interface

(<classname>) indicates the name of the


helper class required to support this
event interface in Visual Basic.

CreateGeometricNetwork (in Name: String,


in NetworkType: esriNetworkType, in
buildNormalizedTables: Boolean):
IGeometricNetwork

A Multiplicity is a constraint on the number of objects that can be associated


with another object. Association and composition relationships have
multiplicities on both sides. This is the notation for multiplicities:

Inbound Interface

(Instance) represents interfaces that are


only on specific instances of the class .

Count: Long
ElementType: esriElementType
Network: INetwork

GetAdjacentEdge (in AtJunctionEID: Long,


in Index: Long, out adjacentEdge: Long,
out reverseOrientation: Boolean)
GetAdjacentEdgeCount (in AtJunctionEID:
Long): Long
GetFromToJunctionEIDs (in edgeEID:
Long, out FromJunctionEID: Long, out
ToJunctionEID: Long)

ElementType: esriElementType
UserClassID: Long
UserID: Long
UserSubID: Long

INetworkCollection : IUnknown

Multiplicity

EnumNetEIDArray
IEnumNetEID

AddElementClass (in UserClassID: Long):


INetElementClass
AddWeight (in networkWeight: INetWeight)
AddWeightAssociation (in weightSource:
INetWeightAssociation)
PutAncillaryRole (in UserClassID: Long, in
ancillaryRole:
esriNetworkClassAncillaryRole,
AncillaryRoleFieldName: String)
PutEnabledDisabledFieldName (in
UserClassID: Long, in
enabledDisabledRoleFieldName: String)

INetElementDescription : IUnknown

INetworkCollection

INetElements : IUnknown

GetAncillaryRole (in UserClassID: Long, out


ancillaryRole:
esriNetworkClassAncillaryRole, out
AncillaryRoleFieldName: String)
GetEnabledDisabledFieldName (in
UserClassID: Long): String

NetElementDescription

INetElementDescriptionEdit

INetworkUpdate : IUnknown

ElementClass (in Index: Long):


INetElementClass
ElementClassByUserID (in
elementclassUserID: Long):
INetElementClass
ElementClassCount: Long
Weight (in weightInternalID: Long):
INetWeight
WeightAssociations (in weightInternalID:
Long): IEnumNetWeightAssociation
WeightAssociationsByTableName (in
TableName: String):
IEnumNetWeightAssociation
WeightByName (in WeightName: String):
INetWeight
WeightCount: Long

INetSchemaEdit

FeatureDataset

FindAdjacent (in fromEdgeEID: Long, in


AtJunctionEID: Long, out
adjacentEdgesCount: Long)
QueryAdjacentEdge (in Index: Long, out
adjacentEdgeEID: Long, out
reverseOrientation: Boolean, out
adjacentEdgeWeightValue: Variant)
QueryAdjacentEdges (in
adjacentEdgeEIDs: Long[], in
reverseOrientation: Boolean[], in
adjacentEdgesWeightValue: Variant[])
QueryAdjacentJunction (in Index: Long, out
adjacentJunctionEID: Long, out
adjacentJunctionWeightValue: Variant)
QueryAdjacentJunctions (in
adjacentJunctionEIDs: Long[], in
adjacentJunctionsWeightValue: Variant[])
QueryAtTurn (in Index: Long, out
adjacentTurnEID: Long, out
adjacentTurnWeightValue: Variant)

SetDisabledState (in EID: Long, in


ElementType: esriElementType, in
disableState: Boolean)
SetWeightValue (in EID: Long, in
ElementType: esriElementType, in
weightInternalID: Long, in weightValue:
Variant)

esriTopoDirection
0 - esriTDTo
1 - esriTDFrom

IForwardStarGEN : IUnknown
Network: INetwork

GetDisabledState (in EID: Long, in


ElementType: esriElementType):
Boolean
GetWeightValue (in EID: Long, in
ElementType: esriElementType, in
weightInternalID: Long): Variant

INetTopology

INetElementDescription

IForwardStarGEN

GetEID (in UserClassID: Long, in UserID:


Long, in UserSubID: Long, in
ElementType: esriElementType): Long
GetEIDCount (in UserClassID: Long, in
UserID: Long, in ElementType:
esriElementType): Long
GetEIDs (in UserClassID: Long, in UserID:
Long, in ElementType:
esriElementType): IEnumNetEID
IsValidElement (in EID: Long, in
ElementType: esriElementType):
Boolean
QueryIDs (in EID: Long, in ElementType:
esriElementType, out UserClassID:
Long, out UserID: Long, out UserSubID:
Long)

INetAttributes

(Optional) represents interfaces that are


inherited by some subclasses but not all .
The subclasses list the optional
interfaces they implement.

ForwardStar

StartAttributesUpdating
StartSchemaUpdating
StartTopologyUpdating
StopAttributesUpdating
StopSchemaUpdating
StopTopologyUpdating

esriNetworkFeatureAncillaryRole
0 - esriNFARNone
1 - esriNFARSource
2 - esriNFARSink

esriNetworkStatus
0 - esriNSInvalidConnection
1 - esriNSNetworkAlreadyExist
2 - esriNSReadOnlyNetwork
3 - esriNSCannotOpenTables
4 - esriNSCannotCreateTables
5 - esriNSInvalidElementClasses
6 - esriNSInvalidWeights
7 - esriNSUnknownStatus
8 - esriNSValidNetwork
9 - esriNSInvalidName

EdgeCount: Long
JunctionCount: Long
MaxDegree: Long
MaxTurn: Long
Status: esriNetworkStatus
TurnCount: Long

1..*

Association

Special Interfaces

INetwork : IUnknown

IsAttributesBeingUpdated: Boolean
IsSchemaBeingUpdated: Boolean
IsTopologyBeingUpdated: Boolean

INetElements

esriNetworkErrors
-2147205119 - NETWORK_E_INVALID_FEATURE_WORKSPACE
-2147205118 - NETWORK_E_INVALID_NETWORK_NAME
-2147205117 - NETWORK_E_UNKNOWN_NETWORK_TYPE
-2147205116 - NETWORK_E_CANNOT_OPEN_TABLE
-2147205115 - NETWORK_E_CANNOT_CREATE_TABLE
-2147205114 - NETWORK_E_INVALID_ELEMENT_CLASSES
-2147205113 - NETWORK_E_INVALID_WEIGHT_DEFINITIONS
-2147205112 - NETWORK_E_INVALID_WEIGHT_ASSOCIATION
-2147205111 - NETWORK_E_INVALID_NETWORK_ACCESS
-2147205110 - NETWORK_E_INVALID_FORMAT_NUMBER
-2147205109 - NETWORK_E_OLD_WORKSPACE_VERSION
-2147205108 - NETWORK_E_CANNOT_CLOSE_TABLE
-2147205107 - NETWORK_E_CANNOT_DELETE_TABLE
-2147205106 - NETWORK_E_UNKNOWN_ERROR
-2147205105 - NETWORK_E_REACHED_MEMORY_QUOTA
-2147205104 - NETWORK_E_INVALID_ENGINE_CONNECTION
-2147205103 - NETWORK_E_INVALID_ENGINE
-2147205102 - NETWORK_E_INVALID_ENGINE_FSTAR
-2147205101 - NETWORK_E_UNKNOWN_ENGINE_ERROR
-2147205100 - NETWORK_E_INVALID_NETWORK
-2147205099 - NETWORK_E_NETWORK_ALREADY_EXISTS
-2147205098 - NETWORK_E_INVALID_USER_CLASS_ID
-2147205097 - NETWORK_E_INVALID_WEIGHT_NAME
-2147205096 - NETWORK_E_READ_ONLY_NETWORK
-2147205095 - NETWORK_E_EDIT_SESSION_IN_PROGRESS
-2147205094 - NETWORK_E_UPDATE_SESSION_IN_PROGRESS
-2147205093 - NETWORK_E_NO_EDIT_SESSION_IN_PROGRESS
-2147205092 - NETWORK_E_NO_UPDATE_SESSION_IN_PROGRESS
-2147205091 - NETWORK_E_PROPERTY_IS_ALREADY_SET
-2147205090 - NETWORK_E_INVALID_ELEMENT_TYPE
-2147205089 - NETWORK_E_INVALID_WEIGHT_TYPE
-2147205088 - NETWORK_E_INVALID_ELEMENT_ID
-2147205087 - NETWORK_E_INVALID_USER_ID
-2147205086 - NETWORK_E_INVALID_USER_SUB_ID
-2147205085 - NETWORK_E_OVERFLOW_USER_CLASS_ID
-2147205084 - NETWORK_E_OVERFLOW_USER_ID
-2147205083 - NETWORK_E_OVERFLOW_USER_SUB_ID
-2147205082 - NETWORK_E_OVERFLOW_ELEMENT_ID
-2147205081 - NETWORK_E_INVALID_WEIGHT_ID
-2147205080 - NETWORK_E_COPY_OVERFLOW_USER_CLASS_ID
-2147205079 - NETWORK_E_INVALID_WEIGHT_VALUE
-2147205078 - NETWORK_E_NO_EDIT_OPERATION_IN_PROGRESS
-2147205077 - NETWORK_E_EDIT_OPERATION_IN_PROGRESS
-2147205076 - NETWORK_E_LOOP_EDGE_CHAIN
-2147205075 - NETWORK_E_CANNOT_READ_TABLE
-2147205074 - NETWORK_E_CANNOT_WRITE_TABLE
-2147205073 - NETWORK_E_CORRUPT_DATA
-2147205072 - NETWORK_E_INVALID_WEIGHT_ELEMENT_TYPES
-2147205071 - NETWORK_E_INVALID_BITGATE_SIZE
-2147205070 - NETWORK_E_ELEMENT_TYPE_MISMATCH
-2147205069 - NETWORK_E_INVALID_TABLE_NAME
-2147205068 - NETWORK_E_INVALID_FIELD_NAME
-2147205067 - NETWORK_E_OLD_NETWORK_VERSION
-2147205066 - NETWORK_E_DUPLICATE_TURN
-2147205065 - NETWORK_E_BAD_TURN_INTERIOR_EXTERIOR_CONFLICT
-2147205064 - NETWORK_E_BAD_TURN_DUPLICATED_FIRST_LAST_EDGES
-2147205063 - NETWORK_E_BAD_TURN_SELF_LOOP
-2147205062 - NETWORK_E_BAD_TURN_UNCONNECTED_ANCHOR
-2147205061 - NETWORK_E_BAD_TURN_UNCONNECTED_EDGES
-2147205060 - NETWORK_E_ADD_WEIGHT_HAS_ELEMENTS
-2147205059 - NETWORK_E_DELETE_WEIGHT_HAS_ASSOCIATIONS
-2147205058 - NETWORK_E_DUPLICATE_PROPERTY
-2147205057 - NETWORK_E_UNDEFINED_PROPERTY
-2147205056 - NETWORK_E_MISSING_PROPERTY
-2147205055 - NETWORK_E_CANNOT_OPEN_LOGICAL_NETWORK

Composition is a relationship in which objects from the 'whole' class control


the lifetime of objects from the 'part' class.
An N-ary association specifies that more than two classes are associated . A
diamond is placed at the intersection of the association branches .

CreateForwardStar (in honorState:


Boolean, in JunctionWeight: INetWeight,
in FromToEdgeWeight: INetWeight, in
ToFromEdgeWeight: INetWeight, in
turnWeight: INetWeight): IForwardStar
CreateNetBrowser (in ElementType:
esriElementType): IEnumNetEID

FormatNumber (in Index: Long): Long


FormatNumberCount: Long

Type inheritance defines specialized classes of objects which share


properties and methods with the superclass and have additional properties
and methods. Note that interfaces in superclasses are not duplicated in
subclasses.
Instantiation specifies that one object from one class has a method with
which it creates an object from another class .

Interface of interest

InterfaceG
InterfaceM
(<classname>)InterfaceO

Network

INetworkWorkspace2 : INetworkWorkspace

CreateNetworkEx (in networkName: String,


in NetworkType: esriNetworkType, in
buildNormalizedTables: Boolean, in
ConfigKeyword: String, in formatNum:
Long): INetwork
GetMaxStorableClassID (in formatNum:
Long): Long

Types of Relationships
Associations represent relationships between classes . They have defined
multiplicities at both ends.

Copyright 1999-2010 ESRI. All rights reserved. ESRI, ArcGIS, ArcObjects, and ArcMap are trademarks, registered trademarks, or service
marks of ESRI in the United States, the European Community, or certain other jurisdictions.

GeoDataset in
Geodatabase Core
NetworkWorkspace

A CoClass can directly create objects by declaring a new object .


A Class cannot directly create objects, but objects of this class can be
created as a property of another class or instantiated by objects from
another class.

ESRI ArcGIS 10
Workspace in
Geodatabase
Core

An abstract class cannot be used to create new objects but is a specification


for instances of subclasses (through type inheritance.)

CreateErrorTable (in Name: String, out


ErrorTable: ITable)
CreateSelectionSetFromErrorTable: ISet
DeleteNetworkElements (in selectionSets:
ISet)
DetectNetworkErrors (in errorType:
esriNetworkErrorType, in areaOfInterest:
IEnvelope, in selectionSets: ISet, out
problemSelectionSets: ISet)

SimpleEdgeFeature
ISimpleEdgeFeature

ISimpleEdgeFeature : IUnknown

ComplexEdgeFeature
IComplexEdgeFeature

EID: Long

ISimpleNetworkFeature

GeometryByPoints (in fromPoint: IPoint, in


toPoint: IPoint): IGeometry
GeometryForEID (in edgeEID: Long):
IGeometry
JunctionFeature (in Index: Long):
IJunctionFeature
JunctionFeatureCount: Long

ISimpleNetworkFeature : IUnknown

ConnectivityRule
IConnectivityRule

IUtilityNetworkGEN : INetwork

ConnectAtIntermediateVertices
SplitEdgeElement (in point: IPoint, in
newJunctionEID: Long)

IConnectivityRule : IRule

ValidFlowDirection: Boolean

IComplexNetworkFeature

EstablishFlowDirection (in sourceEIDs:


Long[], in sinkEIDs: Long[])
GetFlowDirection (in edgeEID: Long):
esriFlowDirection
PartialEstablishFlowDirection (in
sourceEIDs: Long[], in sinkEIDs: Long[])
SetFlowDirection (in edgeEID: Long, in
flowDirection: esriFlowDirection)

FindEdgeEID (in point: IPoint): Long

IJunctionConnectivityRule : IConnectivityRule
EdgeClassID: Long
EdgeMaximumCardinality: Long
EdgeMinimumCardinality: Long
EdgeSubtypeCode: Long
JunctionClassID: Long
JunctionMaximumCardinality: Long
JunctionMinimumCardinality: Long
JunctionSubtypeCode: Long

IJunctionConnectivityRule2

IComplexNetworkFeature : IUnknown
EdgeElementCount: Long
EnabledByIndex (in edgeIndex: Long):
Boolean

JunctionConnectivityRule
IJunctionConnectivityRule

IComplexEdgeFeature : IUnknown

IJunctionConnectivityRule2 :
IJunctionConnectivityRule
DefaultJunction: Boolean

EdgeConnectivityRule
IEdgeConnectivityRule

IEdgeConnectivityRule : IConnectivityRule
DefaultJunctionClassID: Long
DefaultJunctionSubtypeCode: Long
FromEdgeClassID: Long
FromEdgeSubtypeCode: Long
JunctionClassID (in Index: Long): Long
JunctionCount: Long
JunctionSubtypeCode (in Index: Long):
Long
ToEdgeClassID: Long
ToEdgeSubtypeCode: Long
AddJunction (in ClassID: Long, in
SubtypeCode: Long)
ContainsJunction (in ClassID: Long, in
SubtypeCode: Long): Boolean
GetJunctionInfo (in Index: Long, out
ClassID: Long, out SubtypeCode: Long)

Types of Classes

Class Diagram
InterfaceA
Key (Optional)InterfaceB

AbstractClass

An abstract class cannot be used to create new objects but is a specification


for instances of subclasses (through type inheritance.)

Interface of interest

A CoClass can directly create objects by declaring a new object .


A Class cannot directly create objects, but objects of this class can be
created as a property of another class or instantiated by objects from
another class.

Type inheritance

Types of Relationships
Associations represent relationships between classes. They have defined
multiplicities at both ends.

CoClass
InterfaceD
InterfaceB

Instantiation
Composition

Interface of interest

Class

ESRI ArcGIS 10

InterfaceG
InterfaceM
(<classname>)InterfaceO

Copyright 1999-2010 ESRI. All rights reserved. ESRI, ArcGIS, ArcObjects, and ArcMap are trademarks, registered trademarks, or service
marks of ESRI in the United States, the European Community, or certain other jurisdictions.

Type inheritance defines specialized classes of objects which share


properties and methods with the superclass and have additional properties
and methods. Note that interfaces in superclasses are not duplicated in
subclasses.
Instantiation specifies that one object from one class has a method with
which it creates an object from another class .

Interface of interest

Composition is a relationship in which objects from the 'whole' class control


the lifetime of objects from the 'part' class.
An N-ary association specifies that more than two classes are associated . A
diamond is placed at the intersection of the association branches .

Association

Special Interfaces
(Optional) represents interfaces that are
inherited by some subclasses but not all .
The subclasses list the optional
interfaces they implement.

Multiplicity

A Multiplicity is a constraint on the number of objects that can be associated


with another object. Association and composition relationships have
multiplicities on both sides. This is the notation for multiplicities:

Inbound Interface
Outbound Interface
Interface key

(Instance) represents interfaces that are


only on specific instances of the class .

GeoDataset in Geodatabase Core

1..*

Property Get
Property Put
Property Get/Put
Property Put by Reference

(<classname>) indicates the name of the


helper class required to support this
event interface in Visual Basic.

Method

1 - One and only one (if none shown, '1' is implied)


0..1 - Zero or one

enumeration
firstValue - firstEnumeration
secondValue - secondEnumeration

M..N - From M to N (positive integers)


* or 0..* - From zero to any positive integer
1..* - From one to any positive integer

Structure key

<<Struct>>

firstMember: Type
secondMember: Type

Topology
FeatureDataset
ITopologyContainer

ITopology

ITopologyContainer : IUnknown
DefaultClusterTolerance: Double
MaximumClusterTolerance: Double
MinimumClusterTolerance: Double
Topology (in Index: Long): ITopology
TopologyByID (in ID: Long): ITopology
TopologyByName (in Name: String):
ITopology
TopologyCount: Long
CreateTopology (in Name: String, in
ClusterTolerance: Double, in
maxGeneratedErrorCount: Long, in
ConfigurationKeyword: String): ITopology

ITopologyContainer2

*
ITopology2

ITopologyContainer2 : ITopologyContainer

IErrorFeatureContainer

Rule in Geodatabase Core

TopologyRule
ITopologyRule : IUnknown

ITopologyRuleContainer

* FeatureClass
ITopologyClass

ITopology2 : ITopology

ITopologyProperties

Feature in Geodatabase Core

ICursor

TopologyFeature

TopologyGraph

ITopologyRuleContainer : IUnknown

ITopologyProperties : IUnknown

ITopologyElement : IUnknown
Geometry: IGeometry
IsDeleted: Boolean
IsSelected: Boolean
Parents: IEnumTopologyParent
Visited: Boolean

QueryGeometry (in Geometry: IGeometry)

esriTopologyElementType
1 - esriTopologyNode
2 - esriTopologyEdge
4 - esriTopologyFace

esriTopoSide
0 - esriTSLeft
1 - esriTSRight

EnumNodeEdge

TopologyNode
ITopologyNode

ITopologyNode : ITopologyElement
Degree: Long
Edges (clockwise: Boolean):
IEnumNodeEdge
IsDegreeKnown: Boolean

IEnumNodeEdge

IEnumNodeEdge : IUnknown
Count: Long
IsClockwise: Boolean
Next (out nextEdge: ITopologyEdge, out
atFrom: Boolean)
Reset

TopologyEdge
ITopologyEdge

ITopologyFeature : IUnknown

TopoElement
ITopologyElement

esriTopologyState
0 - esriTSUnanalyzed
1 - esriTSAnalyzedWithErrors
2 - esriTSAnalyzedWithoutErrors
3 - esriTSEmpty

Cursor

ITopologyFeature

Classes: IEnumFeatureClass
ClusterTolerance: Double
SpatialReference: ISpatialReference

OpenTopology (in Name: String): ITopology

EventNotificationOnValidate: Boolean
IsInTopology: Boolean
Topology: ITopology
Weight: Double
XYRank: Long
ZRank: Long

IErrorFeatureContainer : IUnknown

AddRule (in Rule: ITopologyRule)


DeleteRule (in Rule: ITopologyRule)
DemoteFromRuleException (in
errorException: ITopologyErrorFeature)
PromoteToRuleException (in
errorException: ITopologyErrorFeature)

ITopologyWorkspace : IUnknown

ITopologyClass : IUnknown

ITopologyClassEvents

CanAddRule (in Rule: ITopologyRule):


Boolean
Rule (in RuleID: Long): IRule
RuleByGUID (in GUID: String): IRule
Rules: IEnumRule
RulesByClass (in ClassID: Long):
IEnumRule
RulesByClassAndSubtype (in ClassID:
Long, in SubType: Long): IEnumRule

Workspace

esriTopologySelectionResultEnum
0 - esriTopologySelectionResultNew
1 - esriTopologySelectionResultAdd
2 - esriTopologySelectionResultSubtract
3 - esriTopologySelectionResultXOR

0..1

IToplogyGraph

ErrorShapeTypes (out multipoints: Boolean,


out polylines: Boolean, out polygons:
Boolean)

ITopologyWorkspace

ObjectClass in Geodatabase Core

ErrorFeature (in SpatialReference:


ISpatialReference, in errorType:
esriTopologyRuleType, in
GeometryType: esriGeometryType, in
OriginClassID: Long, in OriginOID: Long,
in DestinationClassID: Long, in
DestinationOID: Long):
ITopologyErrorFeature
ErrorFeatures (in SpatialReference:
ISpatialReference, in Rule:
ITopologyRule, in Extent: IEnvelope, in
Errors: Boolean, in Exceptions: Boolean):
IEnumTopologyErrorFeature
ErrorFeaturesByGeometryType (in
SpatialReference: ISpatialReference, in
GeometryType: esriGeometryType, in
Exceptions: Boolean):
IEnumTopologyErrorFeature
ErrorFeaturesByRuleType (in
SpatialReference: ISpatialReference, in
TopologyRuleType:
esriTopologyRuleType, in Extent:
IEnvelope, in Errors: Boolean, in
Exceptions: Boolean):
IEnumTopologyErrorFeature

Enumerations

AllDestinationSubtypes: Boolean
AllOriginSubtypes: Boolean
DestinationClassID: Long
DestinationSubtype: Long
DestinationSubtypeSpecified: Boolean
GUID: String
Name: String
OriginClassID: Long
OriginSubtype: Long
OriginSubtypeSpecified: Boolean
TopologyRuleType: esriTopologyRuleType
TriggerErrorEvents: Boolean

AddClass (in classToAdd: IClass, in


Weight: Double, in XYRank: Long, in
ZRank: Long, in
EventNotificationOnValidate: Boolean)
RemoveClass (in classToRemove: IClass)
ValidateTopology (in areaToValidate:
IEnvelope): IEnvelope

ZClusterTolerance: Double

CreateTopologyEx (in Name: String, in


ClusterTolerance: Double, in
ZClusterTolerance: Double, in
maxGeneratedErrorCount: Long, in
ConfigurationKeyword: String): ITopology

ITopologyRule

Cache: ITopologyGraph
ClusterTolerance: Double
DirtyArea (in location: IPolygon): IPolygon
FeatureDataset: IFeatureDataset
MaximumGeneratedErrorCount: Long
State: esriTopologyState
TopologyID: Long

IDatasetEdit
IGeoDataset
ISchemaLock
IFeatureClassContainer
IMetadata
IMetadataEdit

DefaultZClusterTolerance: Double
MaximumZClusterTolerance: Double
MinimumZClusterTolerance: Double

esriTopologyRuleType
-1 - esriTRTAny
0 - esriTRTFeatureLargerThanClusterTolerance
1 - esriTRTAreaNoGaps
3 - esriTRTAreaNoOverlap
4 - esriTRTAreaCoveredByAreaClass
5 - esriTRTAreaAreaCoverEachOther
7 - esriTRTAreaCoveredByArea
8 - esriTRTAreaNoOverlapArea
10 - esriTRTLineCoveredByAreaBoundary
11 - esriTRTLineProperlyInsideArea
13 - esriTRTPointCoveredByAreaBoundary
15 - esriTRTPointProperlyInsideArea
16 - esriTRTAreaContainOnePoint
19 - esriTRTLineNoOverlap
20 - esriTRTLineNoIntersection
21 - esriTRTLineNoDangles
22 - esriTRTLineNoPseudos
26 - esriTRTLineCoveredByLineClass
28 - esriTRTLineNoOverlapLine
29 - esriTRTPointCoveredByLine
31 - esriTRTPointCoveredByLineEndpoint
34 - esriTRTPointDisjoint
35 - esriTRTPointCoincidePoint
37 - esriTRTAreaBoundaryCoveredByLine
38 - esriTRTAreaBoundaryCoveredByAreaBoundary
39 - esriTRTLineNoSelfOverlap
40 - esriTRTLineNoSelfIntersect
41 - esriTRTLineNoIntersectOrInteriorTouch
42 - esriTRTLineEndpointCoveredByPoint
43 - esriTRTAreaContainPoint
44 - esriTRTLineNoMultipart
45 - esriTRTLineNoIntersectLine
46 - esriTRTLineNoIntersectOrInteriorTouchLine

ITopology : IUnknown

IDataset

ITopologyEdge : ITopologyElement
FromNode: ITopologyNode
LeftParents (boundedByEdge: Boolean):
IEnumTopologyParent
LeftVisited: Boolean
RightParents (boundedByEdge: Boolean):
IEnumTopologyParent
RightVisited: Boolean
ToNode: ITopologyNode

ITopologyGraph : IUnknown
BuildExtent: IEnvelope
Edges: IEnumTopologyEdge
EdgeSelection: IEnumTopologyEdge
Extent: IEnvelope
HasElement (Element: ITopologyElement):
Boolean
IsPosting: Boolean
Nodes: IEnumTopologyNode
NodeSelection: IEnumTopologyNode
SelectionCount (whichElements: Long): Long
SelectionExtent (whichElements: Long,
includeAdjacent: Boolean): IEnvelope
SelectionParents: IEnumTopologyParent
Build (Extent: IEnvelope, preserveSelection:
Boolean)
DeleteEdge (Edge: ITopologyEdge)
DeletePseudoNodesFromSelection
EnumHitTest (whichElements: Long,
QueryPoint: IPoint, searchRadius: Double,
out hitInfo: IEnumTGHitInfo): Boolean
GetParentEdges (FeatureClass:
IFeatureClass, FID: Long):
IEnumTopologyEdge
GetParentGeometry (FeatureClass:
IFeatureClass, FID: Long): IGeometry
GetParentNodes (FeatureClass:
IFeatureClass, FID: Long):
IEnumTopologyNode
GetSelectionFeedback (whichElements: Long,
pAnchor: IPoint, proportionalStretch:
Boolean): IDisplayFeedback
GetSplitMoveNodeFeedback (nodeToSplit:
ITopologyNode, proportionalStretch:
Boolean, outputSR: ISpatialReference):
IDisplayFeedback
HitTest (whichElements: Long, QueryPoint:
IPoint, searchRadius: Double, hitPoint:
IPoint, hitDistance: Double, hitElement:
ITopologyElement): Boolean
HitTestSelection (whichElements: Long,
QueryPoint: IPoint, searchRadius: Double,
hitPoint: IPoint, hitDistance: Double,
hitElement: ITopologyElement): Boolean
Post (out InvalidArea: IEnvelope)
ReshapeEdgeGeometry (pEdge:
ITopologyEdge, reshapeGeometry: IPath):
Boolean
Select (selectHow:
esriTopologySelectionResultEnum,
Element: ITopologyElement): Boolean
SelectByGeometry (whichElements: Long,
selectHow:
esriTopologySelectionResultEnum,
pGeometry: IGeometry)
SetEdgeGeometry (pE: ITopologyEdge,
pGeometry: IPath)
SetEmpty
SetParentSelected (FeatureClass:
IFeatureClass, FID: Long, Selected:
Boolean): Boolean
SetSelectionEmpty (whichElements: Long)
SplitEdgeAtDistance (pE: ITopologyEdge,
Distance: Double, bAsRatio: Boolean,
Tolerance: Double, out ppFrom:
ITopologyEdge, out ppMid: ITopologyNode,
out ppTo: ITopologyEdge)
SplitEdgeAtPoint (pE: ITopologyEdge,
pSplitPoint: IPoint, Tolerance: Double, out
ppFrom: ITopologyEdge, out ppMid:
ITopologyNode, out ppTo: ITopologyEdge)
SplitMoveNode (nodeToSplit: ITopologyNode,
pMoveTo: IPoint, proportionalStretch:
Boolean)
TransformSelection (Direction:
esriTransformDirection, Transformation:
ITransformation, bProportionalStretch:
Boolean)

TopologyErrorFeature
ITopologyErrorFeature

ITopologyErrorFeature : IUnknown
DestinationClassID: Long
DestinationOID: Long
ErrorID: Long
IsDeleted: Boolean
IsException: Boolean
OriginClassID: Long
OriginOID: Long
ShapeType: esriGeometryType
TopologyRule: IRule
TopologyRuleType: esriTopologyRuleType

ObjectClassExtension
in Geodatabase Core

FeatureClassExtension
ITopologyClassEvents

ITopologyClassEvents : IUnknown
OnValidate (in validatedArea: IGeometry)

TopologyClassEvents
ITopologyClassEvents

ITopologyClassEvents : IUnknown
OnValidate (in validatedArea: IGeometry)

Types of Classes

Class Diagram
InterfaceA
Key (Optional)InterfaceB

AbstractClass

An abstract class cannot be used to create new objects but is a specification


for instances of subclasses (through type inheritance.)

Interface of interest

A CoClass can directly create objects by declaring a new object .


A Class cannot directly create objects, but objects of this class can be
created as a property of another class or instantiated by objects from
another class.

Type inheritance

Types of Relationships
Associations represent relationships between classes . They have defined
multiplicities at both ends.

CoClass
InterfaceD
InterfaceB

Instantiation
Composition

Interface of interest

Class
InterfaceG
InterfaceM
(<classname>)InterfaceO

Type inheritance defines specialized classes of objects which share


properties and methods with the superclass and have additional properties
and methods. Note that interfaces in superclasses are not duplicated in
subclasses.

ESRI ArcGIS 10

Instantiation specifies that one object from one class has a method with
which it creates an object from another class .

Interface of interest

Composition is a relationship in which objects from the 'whole' class control


the lifetime of objects from the 'part' class.

Copyright 1999-2010 ESRI. All rights reserved. ESRI, ArcGIS, ArcObjects, and ArcMap are trademarks, registered trademarks, or service
marks of ESRI in the United States, the European Community, or certain other jurisdictions.

An N-ary association specifies that more than two classes are associated . A
diamond is placed at the intersection of the association branches .

Association

Special Interfaces
(Optional) represents interfaces that are
inherited by some subclasses but not all .
The subclasses list the optional
interfaces they implement.
(Instance) represents interfaces that are
only on specific instances of the class .
(<classname>) indicates the name of the
helper class required to support this
event interface in Visual Basic.

1..*

Multiplicity

A Multiplicity is a constraint on the number of objects that can be associated


with another object. Association and composition relationships have
multiplicities on both sides. This is the notation for multiplicities:

Inbound Interface
Outbound Interface
Interface key
Property Get
Property Put
Property Get/Put
Property Put by Reference
Method

GPValue

1 - One and only one (if none shown, '1' is implied)


enumeration
firstValue - firstEnumeration
secondValue - secondEnumeration

0..1 - Zero or one

IGpValue
IPersistStream
IClone
IXMLSerialize

M..N - From M to N (positive integers)


* or 0..* - From zero to any positive integer
1..* - From one to any positive integer

Structure key

IGPValue : IUnknown
DataType: IGPDataType
Empty
GetAsText: String
IsEmpty: Boolean
SetAsText (in text: String): IGPMessage

<<Struct>>

GPDataType
IGPDataType
IClone

firstMember: Type
secondMember: Type

IDataElement

Index in
Geodatabase
Core

IGPDataTypeName

IDataElement : IUnknown

IMetadata

ControlCLSID: IUID
DisplayName: String
FullName: IName
HelpContext: Long
HelpFile: String
MetadataFile: String
Name: String
CreateValue (in text: String): IGPValue
ValidateDataType (in Type: IGPDataType):
IGPMessage
ValidateValue (in Value: IGPValue, in
Domain: IGPDomain): IGPMessage

GPDataTypeName

DataElement
Field in
Geodatabase
Core

IGPDataType : IUnknown

IGPDataTypeName : IUnknown

IGPName
IName
IPersist
IPersistStream
IXMLSerialize

CatalogPath: String
Children: IArray
ChildrenExpanded: Boolean
FullPropsRetrieved: Boolean
MetadataRetrieved: Boolean
Name: String
Type: String

IGPName : IUnknown
Category: String
Description: String
DisplayName: String
Factory: IUnknown
Name: String

GetBaseName: String
GetExtension: String
GetFile: String
GetPath: String

DataElementType

FieldType
IFieldType

IDataElementType
IGxFilterInfo

IFieldType : IUnknown

IDataElementType : IUnknown
CreateOutputDataElement (in CatalogPath:
String, in optionalWorkspace: String):
IDataElement

IndexType
IIndexType

DEDataset
IDEDataset

DEWorkspace

IDEDataset : IUnknown

IDEWorkspace

DERepresentationClass
IDERepresentationClass : IUnknown

IMetadata
IXMLSerialize
IPersistStream

Attributes: IGraphicAttributes
FeatureClassName: String
OverrideFieldName: String
RepresentationRules:
IRepresentationRules
RequireShapeOverride: Boolean
RuleIDFieldName: String

DETable
IDETable

IDEGdbTable

IClone
IGPRelationshipClassKey
IPersist
IPersistStream
IXMLSerialize

IDEGeoDataset : IUnknown

Domain in
Geodatabase Core

IDEFeatureDataset

DEFeatureDatasetType
IDEFeatureDatasetType

IDEFeatureDataset : IUnknown

IDEFeatureDatasetType : IUnknown

DERelationshipClassType
IDERelationshipClassType

Subtypes: IArray

IDERelationshipClassType : IUnknown

DEGeometricNetwork
IDEGeometricNetwork

GPRelationshipClassKey

DEFeatureClass
IDEFeatureClass
IDEGeoDataset

DERelationshipClass
IDERelationshipClassEx

IDERelationshipClassEx : IUnknown
BackwardPathLabel: String
Cardinality: esriRelCardinality
ClassKey: esriRelClassKey
DestinationClassKeys: IArray
DestinationClassNames: IStringArray
ForwardPathLabel: String
IsAttributed: Boolean
IsComposite: Boolean
IsReflexive: Boolean
KeyType: esriRelKeyType
Notification: esriRelNotification
OriginClassKeys: IArray
OriginClassNames: IStringArray
RelationshipRules: IArray

DEGdbUtilities

IDEGdbFeatureClass

DEGeometricNetworkType

IDEGeometricNetwork : IUnknown

FeatureType: esriFeatureType
HasM: Boolean
HasSpatialIndex: Boolean
HasZ: Boolean
ShapeFieldName: String
ShapeType: esriGeometryType

DETopology

IDEGdbFeatureClass : IDEFeatureClass

IDETopology

IDERasterCatalogType

ClusterTolerance: Double
FeatureClassNames: IStringArray
MaximumGeneratedErrorCount: Long
Rules: IArray
ZClusterTolerance: Double

DERasterCatalog

IGPMessages

IsAbort: Boolean
IsError: Boolean
IsInformational: Boolean
IsWarning: Boolean

TopologyRule in
Geodatabase Core

esriGPMessageSeverity
0 - esriGPMessageSeverityInformative
1 - esriGPMessageSeverityWarning
2 - esriGPMessageSeverityError
3 - esriGPMessageSeverityAbort

ConnectivityRule in
Geodatabase Core

GPMessage

esriRelClassCodeType
0 - esriRelClassCodeTypeInteger
1 - esriRelClassCodeTypeString

IDEBrowseOptions
IXMLSerialize

IDEBrowseOptions : IUnknown
ExpandType: esriDEExpandType
RetrieveFullProperties: Boolean
RetrieveMetadata: Boolean

GPTopologyMembership
IGPTopologyMembership
IXMLSerialize

esriRelKeyType
0 - esriRelKeyTypeSingle
1 - esriRelKeyTypeDual

Interfaces
DEBrowseOptions

NetWeight in
Geodatabase Core

esriRelKeyRole
0 - esriRelKeyRoleOriginPrimary
1 - esriRelKeyRoleDestinationPrimary
2 - esriRelKeyRoleOriginForeign
3 - esriRelKeyRoleDestinationForeign

esriRelDirection
0 - esriRelDirectionForward
1 - esriRelDirectionBackward
2 - esriRelDirectionBoth

IGPControllerMembership : IUnknown

IGPTopologyMembership : IUnknown
EventNotificationOnValidate: Boolean
TopologyName: String
Weight: Double
XYRank: Long
ZRank: Long

IClone
IPersistStream
IStringArray
IXMLSerialize

Names

IGPDomain : IUnknown
MemberOf (in Value: IGPValue): IGPMessage
IGPVariable : IUnknown
DataType: IGPDataType
Derived: Boolean
Name: String
Value: IGPValue
IDataElementInfo : IUnknown
GetDataElement (in pBrowseOptions:
IDEBrowseOptions): IDataElement
IGPDataTypeFactory : IUnknown
CLSID: IUID

NetWeightAssociation in
Geodatabase Core

GetDataType (in Name: String): IGPDataType


GetDataTypeName (in Name: String):
IGPName
GetDataTypeNames: IEnumGPName

GPGeometricNetworkMembership
IGPGeometricNetworkMembership
IXMLSerialize

IGPGeometricNetworkMembership : IUnknown
AncillaryRoleFieldName: String
EnabledFieldName: String
GeometricNetworkName: String
NetworkAncillaryRole:
esriNetworkClassAncillaryRole

WorkspaceDefinition
IWorkspaceDefinition
IXMLSerialize

IGPMessage : IDispatch
Description: String
ErrorCode: Long
Type: esriGPMessageType
IsAbort: Boolean
IsError: Boolean
IsInformational: Boolean
IsWarning: Boolean

esriRelClassKey
0 - esriRelClassKeyUndefined
1 - esriRelClassKeyClassID
2 - esriRelClassKeyClassCode

GPControllerMembership
IGPControllerMembership

IGPMessages : IUnknown

Add (in msg: IGPMessage)


AddAbort (in Message: String)
AddError (in ErrorCode: Long, in Message:
String)
AddMessage (in Message: String)
AddMessages (in Messages:
IGPMessages)
AddWarning (in Message: String)
Clear
GetMessage (in Index: Long): IGPMessage
InitializeMessages (in nMessages: Long)
Replace (in Index: Long, in msg:
IGPMessage)
ReplaceAbort (in Index: Long, in Message:
String)
ReplaceError (in Index: Long, in ErrorCode:
Long, in Message: String)
ReplaceMessage (in Index: Long, in
Message: String)
ReplaceWarning (in Index: Long, in
Message: String)

IClone
IPersistStream
IXMLSerialize
IPersist

esriGPMessageType
0 - esriGPMessageTypeInformative
1 - esriGPMessageTypeProcessDefinition
2 - esriGPMessageTypeProcessStart
3 - esriGPMessageTypeProcessStop
50 - esriGPMessageTypeWarning
100 - esriGPMessageTypeError
101 - esriGPMessageTypeEmpty
102 - esriGPMessageTypeGDBError
200 - esriGPMessageTypeAbort

esriRelClassCodeType
0 - esriRelClassCodeTypeInteger
1 - esriRelClassCodeTypeString

Callback: IGPMessagesCallback
Count: Long
MaxSeverity: esriGPMessageSeverity
Messages: IArray

IGPMessage

IDERasterCatalogType : IUnknown

esriDEExpandType
0 - esriDEExpandNone
1 - esriDEExpandChildren
2 - esriDEExpandDescendants

IDERasterCatalog : IUnknown
RasterFieldName: String

IDETopologyType : IUnknown

Enumerations

IGPMessage : IDispatch
Description: String
ErrorCode: Long
Type: esriGPMessageType

DETopologyType

DERasterCatalogType

IDETopology : IUnknown

GPMessages
IClone
IPersistStream
IXMLSerialize
IPersist

IDEFeatureClassType : IUnknown

IDETopologyType

IDEGdbUtilities : IUnknown

IGPMessage

IDEGeometricNetworkType : IUnknown

DEFeatureClassType
IDEFeatureClassType
IDEGeoDatasetType

IDEFeatureClass : IUnknown

AreaFieldName: String
LengthFieldName: String

IDERasterCatalog

IDEGeometricNetworkType

FeatureClassNames: IStringArray
NetworkType: esriNetworkType
NetworkWeights: IArray
OrphanJunctionFeatureClassName: String
Rules: IArray
WeightAssociations: IArray

IGPRelationshipClassKey : IUnknown

GetDatasetTypeDescription (in Type:


esriDatasetType): String
GetDatasetTypeFromString (in desc:
String): esriDatasetType
GetExpandTypeDescription (in Type:
esriDEExpandType): String
GetExpandTypeFromString (in desc:
String): esriDEExpandType
GetFeatureTypeDescription (in Type:
esriFeatureType): String
GetFeatureTypeFromString (in desc:
String): esriFeatureType
GetFieldTypeDescription (in Type:
esriFieldType): String
GetFieldTypeFromString (in desc: String):
esriFieldType
GetGeometryTypeDescription (in Type:
esriGeometryType): String
GetGeometryTypeFromString (in desc:
String): esriGeometryType
GetNetworkClassAncillaryRoleDescription
(in Role: esriNetworkClassAncillaryRole):
String
GetNetworkClassAncillaryRoleFromString
(in desc: String):
esriNetworkClassAncillaryRole
GetNetworkTypeDescription (in netType:
esriNetworkType): String
GetNetworkTypeFromString (in desc:
String): esriNetworkType
GetRelationshipCardinalityDescription (in
card: esriRelCardinality): String
GetRelationshipCardinalityFromString (in
desc: String): esriRelCardinality
GetRelationshipClassKeyDescription (in
ClassKey: esriRelClassKey): String
GetRelationshipClassKeyFromString (in
desc: String): esriRelClassKey
GetRelationshipKeyRoleDescription (in
KeyRole: esriRelKeyRole): String
GetRelationshipKeyRoleFromString (in
desc: String): esriRelKeyRole
GetRelationshipKeyTypeDescription (in
KeyType: esriRelKeyType): String
GetRelationshipKeyTypeFromString (in
desc: String): esriRelKeyType
GetRelationshipNotificationDescription (in
Notification: esriRelNotification): String
GetRelationshipNotificationFromString (in
desc: String): esriRelNotification
GetWorkspaceTypeDescription (in Type:
esriWorkspaceType): String
GetWorkspaceTypeFromString (in desc:
String): esriWorkspaceType
IsEqualDEGeoDataset (in
pDEGeoDataset1: IDEGeoDataset, in
pDEGeoDataset2: IDEGeoDataset):
Boolean

IDETableType : IUnknown

DEFeatureDataset

DefaultValue (in FieldName: String): Variant


DomainName (in FieldName: String): String
SubtypeCode: Long
SubtypeName: String

RelationshipRule in
Geodatabase Core

IDEGeoDatasetType : IUnknown

DETableType
IDETableType

SubtypeFieldName: String

ClassKeyName: String
KeyRole: esriRelKeyRole
ObjectKeyName: String

IDEWorkspaceType : IUnknown

DEGeoDatasetType
IDEGeoDatasetType

IDEGdbTable : IDETable
AliasName: String
CLSID: String
ControllerMemberships: IArray
DefaultSubtypeCode: Long
EXTCLSID: String
ExtensionProperties: IPropertySet
GlobalIDFieldName: String
HasGlobalID: Boolean
ModelName: String
RasterFieldName: String
RelationshipClassNames: IStringArray

IGPSubtype : IUnknown

IDEDatasetType : IUnknown

ConnectionProperties: IPropertySet
ConnectionString: String
Domains: IArray
WorkspaceFactoryProgID: String
WorkspaceType: esriWorkspaceType

Extent: IEnvelope
SpatialReference: ISpatialReference

IDEGdbUtilities

IDEDatasetType

IDEWorkspaceType

DEGeoDataset
IDEGeoDataset

Fields: IFields
HasOID: Boolean
Indexes: IIndexes
OIDFieldName: String

GPSubtype
IGPSubtype
IPersist
IPersistStream
IXMLSerialize

IDETable : IUnknown

DEWorkspaceType

DEDatasetType

IDEWorkspace : IUnknown

CanVersion: Boolean
DatasetType: esriDatasetType
DSID: Long
Versioned: Boolean

IDERepresentationClass

IIndexType : IUnknown

GPNetworkDatasetMembership
IGPNetworkDatasetMembership
IXMLSerialize

IGPNetworkDatasetMembership : IUnknown
NetworkDatasetName: String

IWorkspaceDefinition : IUnknown
Children: IArray
Domains: IArray
Version: String
WorkspaceType: esriWorkspaceType

Types of Classes

Class Diagram
InterfaceA
Key (Optional)InterfaceB

AbstractClass

An abstract class cannot be used to create new objects but is a specification


for instances of subclasses (through type inheritance.)

Interface of interest

A CoClass can directly create objects by declaring a new object .


A Class cannot directly create objects, but objects of this class can be
created as a property of another class or instantiated by objects from
another class.

Type inheritance

Types of Relationships
Associations represent relationships between classes . They have defined
multiplicities at both ends.

CoClass
InterfaceD
InterfaceB

Instantiation
Composition

Interface of interest

Class
ITin : IUnknown
DataEdgeCount: Long
DataNodeCount: Long
DataTriangleCount: Long
Extent: IEnvelope
Fields: IFields
HasEdgeTagValues: Boolean
HasNodeTagValues: Boolean
HasTriangleTagValues: Boolean
IsDelaunay: Boolean
IsEmpty: Boolean
ZFactor: Double
SaveAs (in newName: String, in pOverWrite:
Variant)
ITinAdvanced : ITin
EdgeCount: Long
Flag: Long
FullExtent: IEnvelope
NodeCount: Long
ProcessCancelled: Boolean
Surface: ISurface
TrackCancel: ITrackCancel
TriangleCount: Long
UniqueTagValueCount (in Type:
esriTinElementType): Long
ConvertToPolygons (pFeatureClass:
IFeatureClass, in pFilter: ITinDynamicFilter,
in bStopAtEnforcedEdge: Boolean, in
pFieldName: Variant)
ExtractPolygon (in pSeed: ITinElement, in
pFilter: ITinFilter, in bStopAtEnforcedEdge:
Boolean): ITinPolygon
ExtractPolyline (in pSeed: ITinEdge, in pFilter:
ITinFilter): ITinPolyline
FindNaturalNeighbors (in pPoint: IPoint):
ITinNodeArray
FindTriangle (in pPoint: IPoint): ITinTriangle
FindTriangleNeighborhood (in pPoint: IPoint):
ITinTriangleArray
GenerateUniqueTagValue (in Type:
esriTinElementType): Long
GetDataArea: IPolygon
GetEdge (in Index: Long): ITinEdge
GetEdgeTagValue (in Index: Long): Long
GetEdgeType (in edgeIndex: Long, out pType:
esriTinEdgeType)
GetNode (in Index: Long): ITinNode
GetNodeTagValue (in Index: Long): Long
GetNodeZ (in Index: Long): Double
GetTriangle (in Index: Long): ITinTriangle
GetTriangleSeeds (in pFilter:
ITinDynamicFilter, in
bStopAtEnforcedEdge: Boolean):
IEnumTinTriangle
GetTriangleTagValue (in Index: Long): Long
GetUniqueTagValues (in Type:
esriTinElementType): ILongArray
Init (in Name: String)
IsVoidZ (in Value: Double): Boolean
MakeEdgeEnumerator (in pAreaOfInterest:
IEnvelope, in Criteria: Long, in pFilter:
ITinFilter): IEnumTinEdge
MakeNodeEnumerator (in pAreaOfInterest:
IEnvelope, in Criteria: Long, in pFilter:
ITinFilter): IEnumTinNode
MakeTriangleEnumerator (in pAreaOfInterest:
IEnvelope, in Criteria: Long, in pFilter:
ITinFilter): IEnumTinTriangle
QueryEdge (in Index: Long, pEdge: ITinEdge)
QueryEdgeAsLine (in Index: Long, pLine:
ILine)
QueryEdgeAsWKSPointZs (in Index: Long,
out pFrom: WKSPointZ, out pTo:
WKSPointZ)
QueryNearestEdge (in pPoint: IPoint, pEdge:
ITinEdge, pDistance: Double)
QueryNearestNode (in pPoint: IPoint, pNode:
ITinNode, pDistance: Double)
QueryNode (in Index: Long, pNode: ITinNode)
QueryNodeAsPoint (in Index: Long, pPoint:
IPoint)
QueryNodeAsWKSPointZ (in Index: Long, out
pPoint: WKSPointZ)
QueryTriangle (in Index: Long, pTriangle:
ITinTriangle)
QueryTriangleAsRing (in Index: Long, pRing:
IRing)
QueryTriangleAsWKSPointZs (in Index: Long,
out pPi: WKSPointZ, out pPj: WKSPointZ,
out pPk: WKSPointZ)
SetEmpty

ITinAdvanced2 : ITinAdvanced
ConvertToPolylines (pFeatureClass:
IFeatureClass, in pFilter:
ITinDynamicFilter, in pFieldName:
Variant)
FindTriangleIndex (in pPoint: IPoint): Long
GetCountedUniqueTagValues (in Type:
esriTinElementType, out ppValues:
ILongArray, out ppCounts: ILongArray)
GetLeftTriangleIndex (in edgeIndex: Long):
Long
GetNaturalNeighborZ (in X: Double, in Y:
Double): Double
GetNeighborEdgeIndex (in edgeIndex:
Long): Long
GetNodeDegree (in nodeIndex: Long, in
bEnforcedEdgesOnly: Boolean): Long
GetNodeSource (in nodeIndex: Long):
esriTinNodeSourceType
GetNodeSourceCounts (out pcOriginal:
Long, out pcSuper: Long, out
pcDensified: Long, out pcIntersection:
Long, out pcUnknown: Long)
GetRightTriangleIndex (in edgeIndex:
Long): Long
GetSpecialEdgeCounts (out
pcHardDataEdges: Long, out
pcSoftDataEdges: Long, out
pcTagValueDataEdges: Long)
HasEdgeType (in Type: esriTinEdgeType):
Boolean
IsEdgeInsideDataArea (in edgeIndex:
Long): Boolean
IsNodeInsideDataArea (in nodeIndex:
Long): Boolean
IsNodeOnDomainBoundary (in nodeIndex:
Long): Boolean
IsTriangleInsideDataArea (in triangleIndex:
Long): Boolean
QueryAllEdgeIndicesAroundNode (in
nodeIndex: Long, pEdges: ILongArray)
QueryBeginEndNodeIndices (in edgeIndex:
Long, out pBegin: Long, out pEnd: Long)
QueryEdgeIndicesAroundNode (in
nodeIndex: Long, pEdges: ILongArray)
QueryElementAsGeometry (in Type:
esriTinElementType, in Index: Long,
pGeometry: IGeometry)
QueryNaturalNeighborIndices (in pPoint:
IPoint, pNodes: ILongArray)
QueryNeighborsAndWeights (in X: Double,
in Y: Double, pNeighbors: ILongArray,
pWeights: IDoubleArray)
QueryNodeIndicesAroundNode (in
nodeIndex: Long, pNodes: ILongArray)
QueryTriangleEdgeIndices (in
triangleIndex: Long, out pA: Long, out
pB: Long, out pC: Long)
QueryTriangleIndicesAroundNode (in
nodeIndex: Long, pTriangles:
ILongArray)
QueryTriangleNeighborhoodIndices (in
pPoint: IPoint, pTriangles: ILongArray)
QueryTriangleNodeIndices (in
triangleIndex: Long, out pA: Long, out
pB: Long, out pC: Long)
SaveAsVersion (in newName: String, in ver:
esriTinVersion, in pOverWrite: Variant)

ITinAdvanced3 : IUnknown
TinVersion: esriTinVersion
GetNextCCWEdgeIndex (in edgeIndex:
Long): Long
GetNextCWEdgeIndex (in edgeIndex:
Long): Long
GetNextEdgeIndexInTriangle (in
edgeIndex: Long): Long
GetPreviousEdgeIndexInTriangle (in
edgeIndex: Long): Long
QueryElementIndicesAroundNode (in Type:
esriTinElementType, in localNodeIndex:
Long, in triangleIndex: Long, pIndices:
ILongArray)

ITinEdit : IUnknown
IsDirty: Boolean
IsEditable: Boolean
IsInEditMode: Boolean
AddFromFeatureClass (in pFeatureClass:
IFeatureClass, in pFilter: IQueryFilter, in
pHeightField: IField, in pTagValueField:
IField, in Type: esriTinSurfaceType, in
pbUseShapeZ: Variant)
AddFromFeatureCursor (in pCursor:
IFeatureCursor, in pHeightField: IField, in
pTagValueField: IField, in Type:
esriTinSurfaceType, in pbUseShapeZ:
Variant)
AddFromPixelBlock (in xOrigin: Double, in
yOrigin: Double, in xPixelSize: Double, in
yPixelSize: Double, in valueForNoData:
Variant, in block: Variant, in ZTolerance:
Double, in pMaxPoints: Variant, out
pbToleranceAchieved: Variant)
AddPointZ (in pPoint: IPoint, in TagValue:
Long): Long
AddShape (in pShape: IGeometry, in Type:
esriTinSurfaceType, in TagValue: Long,
in pZ: Variant)
AddShapeZ (in pShape: IGeometry, in
Type: esriTinSurfaceType, in TagValue:
Long, in pbUseShapeZ: Variant)
AddWKSPointZ (in pPoint: WKSPointZ, in
vlue: Long): Long
DeleteEdgeTagValues
DeleteNode (in Index: Long)
DeleteNodesOutsideDataArea
DeleteNodeTagValues
DeleteSelectedNodes
DeleteTriangleTagValues
InitNew (in pExtent: IEnvelope)
PropagateTriangleTagValue (in pSeed:
ITinTriangle, in newTagValue: Long, in
bStopAtEnforcedEdge: Boolean)
Refresh
Save
SaveAs (in newName: String, in
pOverWrite: Variant)
SetEdgeTagValue (in Index: Long, in Value:
Long)
SetEdgeType (in Index: Long, in Type:
esriTinEdgeType)
SetNodeTagValue (in Index: Long, in
Value: Long)
SetNodeZ (in Index: Long, in Z: Double)
SetSpatialReference (in pSpatialReference:
ISpatialReference)
SetTriangleInsideDataArea (in Index: Long)
SetTriangleOutsideDataArea (in Index:
Long)
SetTrianglesInsideDataArea
SetTriangleTagValue (in Index: Long, in
Value: Long)
StartEditing: Boolean
StopEditing (in bSaveEdits: Boolean):
Boolean
ITinEdit2 : IUnknown
AddFrom3dMultipointFeatureClass (in
pFeatureClass: IFeatureClass, in
pClippingFilter: ISpatialFilter)
ResetExtent (in pExtent: IEnvelope)
SaveSnapshot (in Name: String, in
bOverWrite: Boolean)
SetToConstrainedDelaunay
SwapEdge (in Index: Long, in Type:
esriTinEdgeType, in Tag: Long): Long
ITinFeatureEdit : IUnknown
ElementsIgnoredInConflictTest: Long
IsInMemoryEditMode: Boolean
StopAtEnforcedEdge: Boolean
StopAtJuncture: Boolean
AddPointZ (in pPoint: IPoint, in TagValue:
Long, pSeed: ITinNode)
AddPolygon (in pShape: IPolygon, in Type:
esriTinEdgeType, in TagValue: Long, in
edgeTagValue: Long, in NodeTagValue:
Long, pSeed: ITinTriangle, in pZ:
Variant)
AddPolygonZ (in pShape: IPolygon, in
Type: esriTinEdgeType, in TagValue:
Long, in edgeTagValue: Long, in
NodeTagValue: Long, pSeed:
ITinTriangle)
AddPolyline (in pShape: IPolyline, in Type:
esriTinEdgeType, in TagValue: Long, in
NodeTagValue: Long, pSeed: ITinEdge,
in pZ: Variant)
AddPolylineZ (in pShape: IPolyline, in Type:
esriTinEdgeType, in TagValue: Long, in
NodeTagValue: Long, pSeed: ITinEdge)
AddPolyObjects (in pFeatureClass:
IFeatureClass, in pFilter: IQueryFilter, in
pHeightField: IField, in pValueField:
IField, in bSetEdgeTagValue: Boolean, in
bSetNodeTagValue: Boolean, in Type:
esriTinEdgeType)
CanAdd (in pShape: IGeometry, in spacing:
Double): Boolean
CanAddVertex (in pPoly: IGeometry, in
pNewPoint: IPoint, in bClose: Boolean, in
spacing: Double): Boolean
CanDeleteVertex (in pNode: ITinNode, in
pSeed: ITinFeatureSeed, in spacing:
Double): Boolean
CanMove (in pSeed: ITinFeatureSeed, in
dx: Double, in dy: Double, spacing:
Double): Boolean
CanMoveVertex (in pNode: ITinNode, in
pSeed: ITinFeatureSeed, in
pNewLocation: WKSPoint, in spacing:
Double): Boolean
CanReplace (in pShape: IGeometry, in
pSeed: ITinFeatureSeed, in spacing:
Double): Boolean
CanRotate (in pSeed: ITinFeatureSeed, in
pOrigin: IPoint, in Angle: Double, in
spacing: Double): Boolean
CanScalePolygon (in pSeed: ITinTriangle,
in pOrigin: IPoint, in Scale: Double, in
spacing: Double): Boolean
ClusterPoints (in pSeed: ITinNode, in
spacing: Double, in pFilter: ITinFilter):
IEnumTinNode
ConvertToPolygons (pFeatureClass:
IFeatureClass, in pFilter:
ITinDynamicFilter, in
bStopAtEnforcedEdge: Boolean, in
bSkipDensifiedNodes: Boolean, in
pFieldName: Variant)
ConvertToPolylines (pFeatureClass:
IFeatureClass, in pFilter:
ITinDynamicFilter, in
bSkipDensifiedNodes: Boolean, in
pFieldName: Variant)
Delete (in pSeed: ITinFeatureSeed)
DeleteVertex (in pNode: ITinNode, in
pSeed: ITinFeatureSeed)
ExtractPolygon (in pSeed:
ITinFeatureSeed, in bGetZ: Boolean, in
bSkipDensifiedNodes: Boolean):
IPolygon
ExtractPolyline (in pSeed: ITinFeatureSeed,
in bGetZ: Boolean, in
bSkipDensifiedNodes: Boolean):
IPolyline
IsNodeShared (in pNode: ITinNode):
Boolean
Merge (in pCommonEdge: ITinEdge, in
newValue: Long, in
bKeepCommonNodes: Boolean)
Move (in pSeed: ITinFeatureSeed, in dx:
Double, in dy: Double, in bGetNewZ:
Boolean)
MoveVertex (in pNode: ITinNode, in pSeed:
ITinFeatureSeed, in pNewLocation:
WKSPoint, in bGetNewZ: Boolean)
RefreshTagValues
RemoveIslands (in pSeed: ITinTriangle, in
Area: Double, bKeepNodes: Boolean,
bZeroTag: Boolean)
Rotate (in pSeed: ITinFeatureSeed, in
pOrigin: IPoint, Angle: Double, in
bGetNewZ: Boolean)
ScalePolygon (in pSeed: ITinTriangle, in
pOrigin: IPoint, Scale: Double, in
bGetNewZ: Boolean)
StartInMemoryEditing: Boolean

ISurface : IFunctionalSurface

InterfaceG
InterfaceM
(<classname>)InterfaceO

ZFactor: Double
AsPolygons (pFeatureClass: IFeatureClass, in
Type: esriSurfaceConversionType, in
pClassBreaks: IDoubleArray, in
pClassCodes: ILongArray, in FieldName:
Variant)
Contour (in rootHeight: Double, in interval:
Double, pFeatureClass: IFeatureClass, in
FieldName: String, in
digitsAfterDecimalPoint: Long)
ContourList (in pBreaks: IDoubleArray,
pFeatureClass: IFeatureClass, in
FieldName: String, in
digitsAfterDecimalPoint: Long)
GetAspectDegrees (in pPoint: IPoint): Double
GetAspectRadians (in pPoint: IPoint): Double
GetContour (in pPoint: IPoint, out ppContour:
IPolyline, out pElevation: Double)
GetElevation (in pPoint: IPoint): Double
GetLineOfSight (in pObserver: IPoint, in
pTarget: IPoint, out ppObstruction: IPoint,
out ppVisibleLines: IPolyline, out
ppInvisibleLines: IPolyline, out pbIsVisible:
Boolean, in bApplyCurvature: Boolean, in
bApplyRefraction: Boolean, in
pRefractionFactor: Variant)
GetProfile (in pShape: IGeometry, out
ppProfile: IGeometry, in pStepSize: Variant)
GetProjectedArea (in referenceHeight:
Double, in Type: esriPlaneReferenceType):
Double
GetSlopeDegrees (in pPoint: IPoint): Double
GetSlopePercent (in pPoint: IPoint): Double
GetSlopeRadians (in pPoint: IPoint): Double
GetSteepestPath (in pPoint: IPoint): IPolyline
GetSurfaceArea (in referenceHeight: Double,
in Type: esriPlaneReferenceType): Double
GetVolume (in reference: Double, in Type:
esriPlaneReferenceType): Double
InterpolateShape (in pShape: IGeometry, out
ppOutShape: IGeometry, in pStepSize:
Variant)
InterpolateShapeVertices (in pShape:
IGeometry, out ppOutShape: IGeometry)
IsVoidZ (in Value: Double): Boolean
Locate (in pRay: IRay, in hint: Long): IPoint
LocateAll (in pRay: IRay, in hint: Long):
IDoubleArray
QueryNormal (in pLocation: IPoint, pNormal:
IVector3D)
QueryPixelBlock (in xOrigin: Double, in
yOrigin: Double, in xPixelSize: Double, in
yPixelSize: Double, in Type:
esriRasterizationType, in valueForNoData:
Variant, in block: Variant)
QuerySurfaceLength (in pShape: IGeometry,
out pLength: Double, in pStepSize: Variant)

RasterInterpolationMethod:
esriSurfaceInterpolationType
SunPosition: WKSPointZ
GetPartialVolumeAndArea (in reference:
Double, in Type:
esriPlaneReferenceType, in pTriangles:
IEnumTinTriangle, in pVolume: Variant,
in pSurfaceArea: Variant, in
pProjectedArea: Variant)
GetSurfaceElement (in pPoint: IPoint):
ITinSurfaceElement

(Optional) represents interfaces that are


inherited by some subclasses but not all .
The subclasses list the optional
interfaces they implement.
(Instance) represents interfaces that are
only on specific instances of the class .

TinElement

IDatasetName
IMetadata
IMetadataEdit
IName
INativeTypeInfo
IPersist
IPersistStream

Composition is a relationship in which objects from the 'whole' class control


the lifetime of objects from the 'part' class.

ITinElement
ISupportErrorInfo

Tin

Multiplicity

A Multiplicity is a constraint on the number of objects that can be associated


with another object. Association and composition relationships have
multiplicities on both sides. This is the notation for multiplicities:

Inbound Interface

1 - One and only one (if none shown, '1' is implied)


enumeration
firstValue - firstEnumeration
secondValue - secondEnumeration

Outbound Interface
Interface key

ITinElement : IUnknown

(<classname>) indicates the name of the


helper class required to support this
event interface in Visual Basic.

Index: Long
IsEmpty: Boolean
IsInsideDataArea: Boolean
TagValue: Long
TheTin: ITin

1..*

Association

Special Interfaces

Copyright 1999-2010 ESRI. All rights reserved. ESRI, ArcGIS, ArcObjects, and ArcMap are trademarks, registered trademarks, or service
marks of ESRI in the United States, the European Community, or certain other jurisdictions.

ITinSurface : ISurface

Instantiation specifies that one object from one class has a method with
which it creates an object from another class .

Interface of interest

An N-ary association specifies that more than two classes are associated . A
diamond is placed at the intersection of the association branches .

ESRI ArcGIS 10

IDataset
IGeoDataset
IMetadata
IMetadataEdit
ITin
INativeTypeInfo
ISupportErrorInfo
ITinAdvanced
ITinAdvanced2
ITinAdvanced3
ITinNodeCollection
IFunctionalSurface
ISurface
ITinSurface
ITinSurface2
ITinSurface3
ITinEdit
ITinEdit2
ITinSelection
ITinFeatureEdit
ITinNodeInfo
ITinEditErrorLog
ISurfaceIntersectionEvents

Type inheritance defines specialized classes of objects which share


properties and methods with the superclass and have additional properties
and methods. Note that interfaces in superclasses are not duplicated in
subclasses.

Property Get
Property Put
Property Get/Put
Property Put by Reference

0..1 - Zero or one


M..N - From M to N (positive integers)
* or 0..* - From zero to any positive integer
1..* - From one to any positive integer

Structure key

<<Struct>>

firstMember: Type
secondMember: Type

Method

Init (in pTin: ITin, in Index: Long)


SetEmpty

ITinFeatureSeed

ITinFeatureSeed : IUnknown
Index: Long
TagValue: Long
UseTagValue: Boolean

TinEdge
ITinEdge

TinNode
ITinNode

ITinEdge : ITinElement

GetAdjacentNodes: ITinNodeArray
GetIncidentEdges: ITinEdgeArray
GetIncidentTriangles: ITinTriangleArray
GetVoronoiRegion (in pClippingPolygon:
IPolygon): IPolygon
QueryAsPoint (pPoint: IPoint)
QueryAsWKSPointZ (out pPoint: WKSPointZ)

GetNeighbor: ITinEdge
GetNextCCW: ITinEdge
GetNextCW: ITinEdge
GetNextInTriangle: ITinEdge
GetPreviousInTriangle: ITinEdge
QueryAsLine (pLine: ILine)
QueryAsWKSPointZs (out pFrom:
WKSPointZ, out pTo: WKSPointZ)

TinName

ITinTriangle

X: Double
Y: Double
Z: Double

AzimuthDegrees: Double
FromNode: ITinNode
LeftTriangle: ITinTriangle
Length: Double
Length3D: Double
RightTriangle: ITinTriangle
ToNode: ITinNode
Type: esriTinEdgeType

ITinNode2

TinImporter

TinTriangle

ITinNode : ITinElement

ITinNode2 : ITinNode
Degree (in bEnforcedEdgesOnly: Boolean):
Long
IsOnDomainBoundary: Boolean
Source: esriTinNodeSourceType
IncidentTriangle: ITinTriangle
IncidentTriangleIndex: Long
QueryAdjacentNodeIndices (pNodes:
ILongArray)
QueryIncidentEdgeIndices (pEdges:
ILongArray)
QueryIncidentTriangleIndices (pTriangles:
ILongArray)

ITinImporter

ITinTriangle : ITinElement
Area: Double
Area3D: Double
AspectDegrees: Double
Edge (in Index: Long): ITinEdge
Node (in Index: Long): ITinNode
Perimeter: Double
Perimeter3D: Double
SlopeDegrees: Double
SlopePercent: Double

ITinImporter : IUnknown
GetTinNamesFromLandXML (in xmlName:
String, in pTrackCancel: ITrackCancel,
out ppOutTinNames: IStringArray)
ImportFromLandXML (in xmlName: String,
in TinName: String, in pIndices:
ILongArray, in pTrackCancel:
ITrackCancel, out ppOutTinNames:
IStringArray)

QueryAdjacentTriangleIndices (out pTi: Long,


out pTj: Long, out pTk: Long)
QueryAdjacentTriangles (pTi: ITinTriangle,
pTj: ITinTriangle, pTk: ITinTriangle)
QueryAsRing (pRing: IRing)
QueryCentroid (pCentroid: IPoint)
QueryCircumCircle (pCenter: IPoint, out
pRadius: Double)
QueryElevationBand (in zLowerBound:
Double, in zUpperBound: Double, out
pCount: Long, out pRegion: WKSPointZ)
QueryNormal (pNormal: IVector3D)
QueryVertices (out pPi: WKSPointZ, out pPj:
WKSPointZ, out pPk: WKSPointZ)

ITinSurface2 : ITinSurface
ConvertToMultiPatches (in pFeatureClass:
IFeatureClass, in maxPatchSize: Long,
in maxStripSize: Long)
DecimateNodes (in pAreaOfInterest:
IEnvelope, in ZTolerance: Double, in
bCopyBreakline: Boolean, in
pMaxRemainingNodeCount: Variant, out
ppNewTin: ITin, in pbToleranceAchieved:
Variant)
DecimateNodesByCount (in
pAreaOfInterest: IEnvelope, in
maxRemainingNodeCount: Long, in
bCopyBreakline: Boolean, out ppNewTin:
ITin)
InterpolateAsMultiPatch (in pShape:
IPolygon, in maxStripSize: Long, out
ppMultiPatch: IMultiPatch)
LocateMultiple (in pRay: IRay): IMultipoint

INativeType

TinNativeType

ITinNodeArray

HasNodeTagValues: Boolean
NodeCount: Long
ConvertToVoronoiRegions (pFeatureClass:
IFeatureClass, in pFilter: ITinFilter, in
pClippingPolygon: IPolygon, in
indexFieldName: String, in
tagFieldName: String)
GetNode (in Index: Long): ITinNode
GetNodeTagValue (in Index: Long): Long
GetNodeZ (in Index: Long): Double
GetVoronoiRegion (in nodeIndex: Long, in
pClippingPolygon: IPolygon): IPolygon
QueryNode (in Index: Long, pNode:
ITinNode)
QueryNodeAsPoint (in Index: Long, pPoint:
IPoint)
QueryNodeAsWKSPointZ (in Index: Long,
out pPoint: WKSPointZ)

IEnumTinElement : IUnknown
Next: ITinElement
QueryNext (in pElement: ITinElement)
Reset

ITinNodeArray : IUnknown

ITinEdgeArray

ITinEdgeArray : IUnknown
Count: Long
Element (in Index: Long): ITinEdge

TinEdgeEnumerator

TinNodeEnumerator
IEnumTinNode
ISupportErrorInfo
IEnumTinElement

IEnumTinNode : IUnknown
Next: ITinNode
QueryNext (pNode: ITinNode)
QueryNextAsWKSPointZ (out pPoint:
WKSPointZ, out pbIsEnd: Boolean)
Reset

IEnumTinEdge
IEnumTinElement
ISupportErrorInfo

IEnumTinEdge : IUnknown
Next: ITinEdge
QueryNext (pEdge: ITinEdge)
QueryNextAsWKSPointZs (out pFrom:
WKSPointZ, out pTo: WKSPointZ, out
pbIsEnd: Boolean)
Reset

TinTriangleEnumerator
IEnumTinTriangle
IEnumTinElement
ISupportErrorInfo

IEnumTinTriangle : IUnknown
Next: ITinTriangle
NextTriangleStrip (in maxSize: Long):
ITinNodeArray
NextTriangleStripIndices (in maxSize: Long):
ILongArray
QueryNext (pTriangle: ITinTriangle)
QueryNextAsWKSPointZs (out pPi:
WKSPointZ, out pPj: WKSPointZ, out pPk:
WKSPointZ, out pbIsEnd: Boolean)
Reset

TinTriangleArray
ITinTriangleArray

ITinTriangleArray : IUnknown
Count: Long
Element (in Index: Long): ITinTriangle

TinFilter
ITinFilter
ISupportErrorInfo

ITinPolygon
ISupportErrorInfo

ITinFilter : IUnknown
DataElementsOnly: Boolean
CanPass (in pElement: ITinElement): Boolean

TinPolygon
ITinPolygon : IUnknown
AsEdges: IEnumTinEdge
AsNodes: IEnumTinNode
AsPolygon (in pNodeFilter: ITinFilter, in
bGetZ: Boolean): IPolygon
AsTriangles: IEnumTinTriangle

SelectedElementCount (in Type:


esriTinElementType): Long

ITinNodeCollection : IUnknown

IEnumTinElement

Count: Long
Element (in Index: Long): ITinNode

ITinSelection : IUnknown

ClearSelection (in Type:


esriTinElementType)
FlipSelection (in Type: esriTinElementType,
in bDataElementsOnly: Boolean)
GetSelection (in Type:
esriTinElementType): IEnumTinElement
HasSelection (in Type:
esriTinElementType): Boolean
IsSelected (in Index: Long, in Type:
esriTinElementType): Boolean
QuerySelectionExtent (in Type:
esriTinElementType, in pExtent:
IEnvelope)
SelectAll (in Type: esriTinElementType, in
bDataElementsOnly: Boolean)
SelectByArea (in Type:
esriTinElementType, in pArea: IPolygon,
in bPassThrough: Boolean, in
bDataElementsOnly: Boolean, in action:
esriTinSelectionType)
SelectByEnvelope (in Type:
esriTinElementType, in pEnvelope:
IEnvelope, in bPassThrough: Boolean, in
bDataElementsOnly: Boolean, in action:
esriTinSelectionType)
SetSelected (in Index: Long, in Type:
esriTinElementType, in action:
esriTinSelectionType)
SetSelection (in pElements:
IEnumTinElement, in action:
esriTinSelectionType)

TinEnumerator

IsTin (in Name: String): Boolean

TinNodeArray

InterpolationMethod:
esriSurfaceInterpolationType
ProfileWeedTolerance: Double
Extract (in pBoundary: IPolygon): ITin
GetVolumeAndArea (in pAOI: IGeometry, in
referenceHeight: Double, in Type:
esriPlaneReferenceType, out
pbIsOutsideDataArea: Boolean, in
pVolume: Variant, in pSurfaceArea:
Variant, in pProjectedArea: Variant)
InterpolateZ (in X: Double, in Y: Double):
Double
Intersect (in pReferenceSurface:
ITinSurface, in pAOI: IGeometry, in
pOutFeatureClass: IFeatureClass, in
volumeFieldName: String, in
surfaceAreaFieldName: String, in
codeFieldName: String)
QueryLocate (in pRay: IRay, in hint: Long,
pLocation: IPoint)
QueryLocateMultiple (in pRay: IRay,
pLocations: IMultipoint)
QueryTriangleNormal (in Triangle: Long,
pNormal: IVector3D)

ITinWorkspace : IUnknown

OpenTin (in Name: String): ITin

TinEdgeArray
ITinSurface3 : IUnknown

Workspace
ITinWorkspace
(optional)

ISupportErrorInfo
ITinFilter
ITinNodeSourceFilter

TinDynamicFilter

TinNodeSourceFilter
ITinDynamicFilter

ITinNodeSourceFilter : ITinFilter

TinDataElementFilter

ITinDynamicFilter : ITinFilter
Init (in pElement: ITinElement): Long

Criteria: Long

TinPolyline
ITinPolyline
ISupportErrorInfo

ITinPolyline : IUnknown
AsEdges: IEnumTinEdge
AsNodes: IEnumTinNode
AsPolyline (in pNodeFilter: ITinFilter, in bGetZ:
Boolean): IPolyline

TinEdgeTypeFilter
ITinEdgeTypeFilter

ITinEdgeTypeFilter : ITinFilter

TinTriangleFilter
ITinTriangleFilter

Type: esriTinEdgeType

ITinEdgeTypeFilter2

TinSurfaceElement
ITinSurfaceElement

ITinTriangleFilter : ITinFilter
ActiveBound: esriTinBoundType
ClassBreakCodes: ILongArray
ClassBreaks: IDoubleArray
LowerBound: Double
PropertyType: esriTinTrianglePropertyType
UniqueValue: Double
UpperBound: Double

ITinEdgeTypeFilter2 : ITinEdgeTypeFilter
RegularEdgesExcluded: Boolean

ITinSurfaceElement : IUnknown

esriSurfaceConversionType
0 - esriDegreeSlope
1 - esriPercentageSlope
2 - esriDegreeAspect

esriTinEdgeType
0 - esriTinRegularEdge
1 - esriTinSoftEdge
2 - esriTinHardEdge

esriSurfaceInterpolationType
0 - esriLinearInterpolation
1 - esriNaturalNeighborInterpolation
2 - esriNaturalNeighborZmin
3 - esriNaturalNeighborZmax
4 - esriNaturalNeighborZaverage
5 - esriNaturalNeighborZnearest

esriTinElementType
0 - esriTinNode
1 - esriTinEdge
2 - esriTinTriangle

esriTinBoundType
0 - esriTinClassBreaks
1 - esriTinSimpleBounds
2 - esriTinUniqueValue
3 - esriTinSimpleBoundsExclude

ITinValueFilter2 : ITinValueFilter
ZeroTagValueExcluded: Boolean

Enumerations

esriRasterizationType
0 - esriDegreeSlopeAsRaster
1 - esriPercentageSlopeAsRaster
2 - esriDegreeAspectAsRaster
3 - esriElevationAsRaster
4 - esriHillShadeAsRaster

ITinValueFilter : ITinFilter
ActiveBound: esriTinBoundType
ClassBreakCodes: ILongArray
ClassBreaks: ILongArray
LowerBound: Long
UniqueValue: Long
UpperBound: Long

ITinValueFilter2

AspectDegrees: Double
Elevation: Double
FaceTagValue: Long
NodeTagValue: Long
SlopeDegrees: Double

esriPlaneReferenceType
0 - esriPlaneReferenceAbove
1 - esriPlaneReferenceBelow

TinValueFilter
ITinValueFilter

esriTinIgnoredElementType
1 - esriTinNothing
2 - esriTinNodesWithNonZeroTag
4 - esriTinNodesWithZeroTag

esriTinNodeEditInfo
1 - esriTinNodeUnknown
2 - esriTinNodeSuperNode
4 - esriTinNodeOriginal
8 - esriTinNodeDensified
16 - esriTinNodeLineEnforce
32 - esriTinNodeIntersection
64 - esriTinNodeLineTouch
128 - esriTinNodeCoincident
256 - esriTinNodeSnap
512 - esriTinNodeModified

esriTinNodeSourceType
1 - esriTinUnknown
2 - esriTinSuperNode
4 - esriTinOriginal
8 - esriTinDensified
32 - esriTinIntersection

esriTinQualification
1 - esriTinAll
2 - esriTinInsideTin
4 - esriTinInsideDataArea
8 - esriTinSingleEdge
16 - esriTinDoubleEdges

esriTinSelectionType
0 - esriTinSelectionNew
1 - esriTinSelectionAdd
2 - esriTinSelectionSubtract
3 - esriTinSelectionFlip

esriTinSurfaceType
0 - esriTinContour
1 - esriTinHardLine
2 - esriTinHardClip
3 - esriTinHardErase
4 - esriTinHardReplace
5 - esriTinHardValueFill
6 - esriTinZLessHardLine
7 - esriTinZLessHardClip
8 - esriTinZLessHardErase
9 - esriTinSoftLine
10 - esriTinSoftClip
11 - esriTinSoftErase
12 - esriTinSoftReplace
13 - esriTinSoftValueFill
14 - esriTinZLessSoftLine
15 - esriTinZLessContour
16 - esriTinZLessSoftClip
17 - esriTinZLessSoftErase
18 - esriTinMassPoint

esriTinTrianglePropertyType
0 - esriTinDegreeSlope
1 - esriTinPercentageSlope
2 - esriTinDegreeAspect
3 - esriTinArea
4 - esriTinSurfaceArea
5 - esriTinPerimeter
6 - esriTinSurfacePerimeter

esriTinVersion
0 - esriTin70001
1 - esriTin80001

esriTinError
-2147219456 - E_TIN_WORKSPACE_EXISTS
-2147219455 - E_TIN_WORKSPACE_NOT_CONNECTED
-2147219454 - E_TIN_WORKSPACE_ALREADY_CONNECTED
-2147219453 - E_TIN_EMPTY_OBJECT
-2147219452 - E_TIN_WRONG_DATASET_TYPE
-2147219451 - E_TIN_WRONG_TOPOLOGY
-2147219450 - E_TIN_NUMERIC_LIMIT
-2147219449 - E_TIN_FAILED_TO_OPEN
-2147219448 - E_TIN_FAILED_TO_SAVE
-2147219447 - E_TIN_FAILED_TO_COPY
-2147219446 - E_TIN_FAILED_TO_RENAME
-2147219445 - E_TIN_FAILED_TO_DELETE
-2147219444 - E_TIN_FILE_EXISTS
-2147219443 - E_TIN_OPERATION_NOT_SUPPORTED
-2147219442 - E_TIN_OUT_OF_MEMORY
-2147219441 - E_TIN_IN_EDIT_MODE
-2147219440 - E_TIN_NOT_IN_EDIT_MODE
-2147219439 - E_TIN_CANNOT_CREATE_GEOMETRY
-2147219438 - E_TIN_POLYGON_NOT_DEFINED
-2147219437 - E_TIN_POLYLINE_NOT_DEFINED
-2147219436 - E_TIN_HAS_VOID_Z
-2147219435 - E_TIN_HAS_NO_VALUE
-2147219434 - E_TIN_NODE_UNDELETABL
-2147219433 - E_TIN_FIELD_ALREADY_EXISTS
-2147219432 - E_TIN_OBJECT_NOT_EMPTY
-2147219431 - E_TIN_WRONG_FIELD_TYPE
-2147219430 - E_TIN_WRONG_GEOMETRY_TYPE
-2147219429 - E_TIN_NEED_VALUE
-2147219428 - E_TIN_FAILED_TO_OVER_WRITE
-2147219427 - E_TIN_ZERO_VALUE
-2147219426 - E_TIN_INDEX_OUT_OF_RANGE
-2147219425 - E_TIN_INVALID_NAME
-2147219424 - E_TIN_ALREADY_INITIALIZED
-2147219423 - E_TIN_MEMORY_TIN
-2147219422 - E_TIN_FAILED_TO_SWAP
-2147219421 - E_TIN_NAN
-2147219420 - E_TIN_SUPER_NODE
-2147219419 - E_TIN_FAILED_TO_CREATE_FILE
-2147219418 - E_TIN_FAILED_TO_OPEN_FILE
-2147219417 - E_TIN_FAILED_TO_DELETE_FILE
-2147219416 - E_TIN_GEOMETRY_HAS_NO_Z
-2147219415 - E_TIN_WRONG_VARIANT_TYPE
-2147219414 - E_TIN_WRONG_SURFACE_TYPE
-2147219413 - E_TIN_WRONG_ELEMENT_TYPE
-2147219412 - E_TIN_DIFFERENT_TIN
-2147219411 - E_TIN_FIELD_ERROR
-2147219410 - E_TIN_NEED_TRIANGLE_SEED
-2147219409 - E_TIN_WRONG_SEED_TYPE
-2147219408 - E_TIN_WRONG_GEN_SEED
-2147219407 - E_TIN_FAILED_UPDATE_SEED
-2147219406 - E_TIN_NODE_SHARED
-2147219405 - E_TIN_INTERNAL_ERROR
-2147219404 - E_TIN_FILTER_REQUIRED
-2147219403 - E_TIN_NO_SPATIALREF_INFO
-2147219402 - E_TIN_NOT_PROJECTED_SYSTEM
-2147219401 - E_TIN_METADATA_ERROR
-2147219400 - E_TIN_CANNOT_CREATE_OBJ
-2147219399 - E_TIN_UPDATE_ERROR
-2147219398 - E_TIN_BAD_CLASS_BREAKS
-2147219397 - E_TIN_BAD_CLASS_CODES
-2147219396 - E_TIN_UNSUPPORTED_SPATIAL_REFERENCE
-2147219395 - E_TIN_LICENSE_NOT_AVAILABLE
-2147219394 - E_TIN_EXTENSION_DISABLED
-2147219393 - E_TIN_BELOW_V8
-2147219392 - E_TIN_IN_MEMORY_EDIT
-2147219391 - E_TIN_WRONG_EDGE_TYPE
-2147219390 - E_TIN_BAD_VALUE
-2147219389 - E_TIN_FATAL
-2147219388 - E_TIN_FDS_FATAL
-2147219387 - E_TIN_CANCELLED
-2147219386 - E_TIN_MUST_BE_DELAUNAY
-2147219385 - E_TIN_XML_CORRUPTED
-2147219384 - E_TIN_INVALID_LANDXML_FILE
-2147219383 - E_TIN_FAILED_RESET_EXTENT
-2147219382 - E_TIN_NULL_FIELD_VALUE

Distributed Geodatabase Core Objects


Replica
IReplica

DataConverter Objects
SimpleDataConverter
ISimpleDataConverter

ESRI ArcGIS 10
Copyright 1999-2010 ESRI. All rights reserved. ESRI, ArcGIS, ArcObjects, and ArcMap are trademarks, registered trademarks, or service
marks of ESRI in the United States, the European Community, or certain other jurisdictions.
IReplica2

ConfigurationKeyword: String
FlushInterval: Long
InputDatasetName: IDatasetName
InputQueryFilter: IQueryFilter
IsFeatureTypeSimple: Boolean
OutputDatasetName: IDatasetName
OutputFeatureDatasetName:
IFeatureDatasetName
OutputFields: IFields
OutputGeometryDef: IGeometryDef
ParentWindowHandle: OLE_HANDLE

IWorkspaceReplicas

ISimpleDataConverter2

ReplicaByGuid (in ReplicaGuid: String):


IReplica
ReplicaByID (in ReplicaID: Long): IReplica
ReplicaByName (in replicaName: String):
IReplica
Replicas: IEnumReplica

ISimpleDataConverter2 : ISimpleDataConverter
DataConvertProcess: IDataConvertProcess
InputSelectionSet: ISelectionSet

IReplica3

IFeatureDataConverter
ISupportErrorInfo
IConnectionPointContainer
IFeatureProgress

IFeatureDataConverter2

ConvertFeatureClass (in
InputDatasetName: IFeatureClassName,
in InputQueryFilter: IQueryFilter, in
outputFDatasetName:
IFeatureDatasetName, in
outputFClassName: IFeatureClassName,
in OutputGeometryDef: IGeometryDef, in
OutputFields: IFields, in configKey:
String, in FlushInterval: Long, in
parentHWND: OLE_HANDLE):
IEnumInvalidObject
ConvertFeatureDataset (in
inputFDatasetName:
IFeatureDatasetName, in
outputFDatasetName:
IFeatureDatasetName, in
OutputGeometryDef: IGeometryDef, in
configKey: String, in FlushInterval: Long,
in parentHWND: OLE_HANDLE)
ConvertTable (in InputDatasetName:
IDatasetName, in InputQueryFilter:
IQueryFilter, in OutputDatasetName:
IDatasetName, in OutputFields: IFields,
in configKey: String, in FlushInterval:
Long, in parentHWND: OLE_HANDLE):
IEnumInvalidObject

IEnumInvalidObject

IEnumInvalidObject : IUnknown

ReplicasByDataset (in DatasetType:


esriDatasetType, in DatasetID: Long):
ILongArray

Next: IInvalidObjectInfo
Reset

ReplicaDatasetsByID (in ReplicaID: Long):


IEnumReplicaDataset
ReplicaDatasetsByName (in replicaName:
String): IEnumReplicaDataset

IInvalidObjectInfo

IInvalidObjectInfo: IUnknown

IWorkspaceReplicasAdmin

IWorkspaceReplicasAdmin2

AlterReplica2 (in Replica: IReplica, in


PersistParentUserInfo: Boolean)
CanRegisterReplicaDataset (in
ReplicaDataset: IReplicaDataset, in
Replica: IReplica): Boolean
CanUnregisterReplicaDataset (in
ReplicaDataset: IReplicaDataset):
Boolean
RegisterReplicaDataset (in RDataset:
IReplicaDataset, in filter: esriRowsType,
in UseGeometry: Boolean, in QueryDef:
String, in pSelID: IFIDSet, in pToReplica:
IReplica)
UnregisterReplicaDataset (in
ReplicaDataset: IReplicaDataset, in
Replica: IReplica)

FieldChecker
IFieldChecker

IFieldChecker : IUnknown
InputWorkspace: IWorkspace
ValidateDictionary: ISqlKeywordDictionary
ValidateWorkspace: IWorkspace
Validate (in inputField: IFields, out error:
IEnumFieldError, out fixedFields: IFields)
ValidateField (in FieldIndex: Long, in
inputFields: IFields, out error:
IEnumFieldError, out fixedFields: IFields)
ValidateTableName (in TableName: String,
out fixedName: String): Long

GeoDBDataTransfer
IGeoDBDataTransfer : IUnknown

IEnumNameMapping

GenerateNameMapping (in from:


IEnumName, in toName: IName, out to:
IEnumNameMapping): Boolean
NumberObjectsToTransfer (in from:
IEnumNameMapping): Long
Transfer (in from: IEnumNameMapping, in
toName: IName)

IConnectionPointContainer
IFeatureProgress

IGeoDBDataTransfer2

EnumNameMapping
IEnumNameMapping : IUnknown

Geometry: IGeometry
RowsType (in Index: Long): esriRowsType
SpatialRelation: esriSpatialRelEnum
TableDefQuery (in Index: Long): String
TableSelection (in Index: Long): ISelectionSet
TableUsesDefQuery (in Index: Long): Boolean
TableUsesQueryGeometry (in Index: Long):
Boolean
TableUsesSelection (in Index: Long): Boolean

IReplicaFilterDescription2

AccessType: esriReplicaAccessType
AllReplicaDatasets: IEnumReplicaDataset
ReconcilePolicyType:
esriReplicaReconcilePolicyType
SibConnectionString: String
SibMyGenNumber: Long

IReplicaDataset : IUnknown

TableUsesQueryGeometry (in Index: Long):


Boolean
TableUsesSelection (in Index: Long): Boolean

DatasetID: Long
Name: String
ParentDatabase: String
ParentOwner: String
ReplicaID: Long
Type: esriDatasetType

IReplicaDataset2

IReplicaDescriptionExtensionManager

FindExtension (in pGUID: IUID): Long


RegisterExtension (in rdExtension:
IReplicaDescriptionExtension)
UnRegisterExtension (in pGUID: IUID)

IReplicaDatasetEdit : IUnknown
DatasetID: Long
Name: String
ParentDatabase: String
ParentOwner: String
ReplicaID: Long
Type: esriDatasetType

IXMLReplicaDescription

Next: IFieldError
Reset

IFieldError

IPersist

Enumerations

IEnumFieldError : IUnknown

esriDataExtractionType
1 - esriDataExtraction
2 - esriDataCheckOut
3 - esriDataReplication
4 - esriDataXMLExport
5 - esriDataXMLCheckOut
6 - esriDataXMLExtraction
7 - esriDataXMLReplication
8 - esriRegisterXMLCheckOut
9 - esriRegisterCheckOut
10 - esriRegisterXMLReplica
11 - esriRegisterReplica

IFieldError: IUnknown
FieldError: esriFieldNameErrorType
FieldIndex: Long

FindDatasetName (in Name: String, in


Type: esriDatasetType): INameMapping
FindDomain (in Name: String):
INameMapping
Next: INameMapping
Reset

IXMLReplicaDescription : IUnknown
BinaryGeometry: Boolean
Compressed: Boolean
OutputXMLFile: String

EnumFieldError
IEnumFieldError

IReplicaDescriptionExtensionManager :
IUnknown
Extension (in Index: Long):
IReplicaDescriptionExtension
ExtensionCount: Long

IReplicaDataset2 : IReplicaDataset
TargetName: String

IReplicaDatasetEdit

IReplicaFilterDescriptionEdit : IUnknown
Geometry: IGeometry
RowsType (in Index: Long): esriRowsType
SpatialRelation: esriSpatialRelEnum
TableDefQuery (in Index: Long): String
TableSelection (in Index: Long): ISelectionSet
TableUsesDefQuery (in Index: Long): Boolean

ReplicaDataset
IReplicaDataset

IReplicaFilterDescription2 :
IReplicaFilterDescription
TableSelectionIDs (in Index: Long): IFIDSet

IReplicaFilterDescriptionEdit

IWorkspaceReplicasAdmin2 :
IWorkspaceReplicasAdmin
IsReferencedByReplica (in DatasetType:
esriDatasetType, in DatasetID: Long):
Boolean

IReplicaFilterDescription : IUnknown

IReplicaEdit2 : IReplicaEdit

AlterReplica (in Replica: IReplica)


RegisterReplica (in Replica: IReplica): Long
UnregisterReplica (in Replica: IReplica, in
removeCOVersion: Boolean)

FieldError
IGeoDBDataTransfer

IReplicaEdit2

IWorkspaceReplicasAdmin : IUnknown

ErrorDescription: String
InvalidObjectID: Long

IReplicaFilterDescription

Init (in otherReplica: IReplica)

InvalidObjectInfo

IFeatureDataConverter2 : IUnknown
ConvertFeatureClass (in inputFClassName:
IDatasetName, in InputQueryFilter:
IQueryFilter, in InputSelectionSet:
ISelectionSet, in outputFDatasetName:
IFeatureDatasetName, in
outputFClassName: IFeatureClassName,
in OutputGeometryDef: IGeometryDef, in
OutputFields: IFields, in configKey:
String, in FlushInterval: Long, in
parentHWND: OLE_HANDLE):
IEnumInvalidObject
ConvertFeatureDataset (in
inputFDatasetName:
IFeatureDatasetName, in
outputFDatasetName:
IFeatureDatasetName, in
OutputGeometryDef: IGeometryDef, in
configKey: String, in FlushInterval: Long,
in parentHWND: OLE_HANDLE)
ConvertTable (in InputDatasetName:
IDatasetName, in InputQueryFilter:
IQueryFilter, in InputSelectionSet:
ISelectionSet, in OutputDatasetName:
IDatasetName, in OutputFields: IFields,
in configKey: String, in FlushInterval:
Long, in parentHWND: OLE_HANDLE):
IEnumInvalidObject

IReplicaEdit

IReplicaDescription3 : IReplicaDescription2
AccessType: esriReplicaAccessType
ReplicaEnumNameMapping:
IEnumNameMapping

ConnectionInfo: IWorkspaceName
Description: IReplicaDescription
Name: String
Owner: String
ParentID: Long
ReplicaDatasets: IEnumReplicaDataset
ReplicaDate: Double
ReplicaGuid: String
ReplicaID: Long
ReplicaRole: esriReplicaType
Version: String

IWorkspaceReplicaDatasets : IUnknown

IWorkspaceReplicaDatasets

IReplicaDescription3

IReplicaEdit : IUnknown

IWorkspaceReplicasAdmin3 :
IWorkspaceReplicasAdmin2

IWorkspaceReplicasAdmin3

FindRelationshipClassInfo (in RCName:


IRelationshipClassName):
IRelationshipClassInfo
FindRelationshipClassInfoByName (in
Name: String, in database: String, in
Owner: String): IRelationshipClassInfo
FindTable2 (in Name: String, in database:
String, in Owner: String, in Type:
esriDatasetType): Long

UseArchiving: Boolean

RefreshReplica (in ReplicaGuid: String)

EnumInvalidObject

IFeatureDataConverter : IUnknown

IReplicaDescription2 : IReplicaDescription
FetchRelatedObjects: Boolean
RelationshipClassesInfo:
IEnumRelationshipClassInfo

IReplica3 : IReplica2

IWorkspaceReplicas2 : IWorkspaceReplicas

FeatureDataConverter

IReplicaDescription2

Init2 (in GPReplica: IGPReplica, in


TargetWorkspace: IWorkspace)

RefreshReplicas

IWorkspaceReplicas2

AddDatasetNames (in DatasetNames:


IEnumName)
FindTable (in DatasetName: IName): Long
Init (in enumNames: IEnumName, in
OutputWSName: IWorkspaceName, in
ReuseSchema: Boolean, in deType:
esriDataExtractionType)

AccessType: esriReplicaAccessType
AllReplicaDatasets: IEnumReplicaDataset
HasConflicts: Boolean
Log: IEnumReplicaLog
MyGenerationNumber: Long
ReconcilePolicyType:
esriReplicaReconcilePolicyType
ReplicaReceivingVersion: String
ReplicaState: esriReplicaState
SibConnectionString: String
SibGenerationNumber: Long
SibMyGenNumber: Long

IWorkspaceReplicas : IUnknown

IReplicaDescription : IUnknown
DatasetNames: IEnumName
IsPrivateTable (in Index: Long): Boolean
ReplicaModelType: esriReplicaModelType
TableExcluded (in Index: Long): Boolean
TableName (in Index: Long): IName
TableNameCount: Long

IReplica2 : IReplica

Workspace

Convert: IEnumInvalidObject
Reset

IReplicaDescription

ConnectionInfo: IWorkspaceName
Description: IReplicaDescription
Name: String
Owner: String
ParentID: Long
ReplicaDatasets: IEnumReplicaDataset
ReplicaDate: Double
ReplicaGuid: String
ReplicaID: Long
ReplicaRole: esriReplicaType
Version: String

ISimpleDataConverter : IUnknown

IConnectionPointContainer
IFeatureProgress
ISupportErrorInfo

ReplicaDescription

IReplica : IUnknown

IPersistStream

Init2 (in enumNames: IEnumName, in


OutputXMLFile: String, in
BinaryGeometry: Boolean, in
Compressed: Boolean, in deType:
esriDataExtractionType)

esriRowsType
0 - esriRowsTypeNone
1 - esriRowsTypeAll
2 - esriRowsTypeFilter

esriReplicaType
1 - esriReplicaTypeChild
2 - esriReplicaTypeParent
4 - esriCheckOutTypeChild
8 - esriCheckOutTypeParent
15 - esriReplicaTypeAny

ReplicaDescriptionExtension
IReplicaDescriptionExtension
esriReplicaAccessType
0 - esriReplicaAccessNone
1 - esriReplicaChildReadOnly
2 - esriReplicaParentReadOnly
3 - esriReplicaBothReadWrite
4 - esriReplicaParentOrChildReadOnly

esriReplicaModelType
1 - esriModelTypeSimple
2 - esriModelTypeFullGeodatabase

IReplicaDescriptionExtension : IUnknown
GUID: IUID
Name: String

IGeoDBDataTransfer2 : IGeoDBDataTransfer
Delete (in from: IEnumNameMapping, in
toName: IName)

NameMapping
INameMapping

AbstractClass

esriFieldNameErrorType
0 - esriNoFieldError
1 - esriSQLReservedWord
2 - esriDuplicatedFieldName
3 - esriInvalidCharacter
4 - esriInvalidFieldNameLength

INameMapping2 : INameMapping
ConfigKeyword: String
Created: Boolean

A Class cannot directly create objects, but objects of this class can be
created as a property of another class or instantiated by objects from
another class.

Count: Long
Name: String
Add (in reservedWord: String)
Empty
FindKeyword (in keyword: String): Boolean
Remove (in reservedWord: String)
Reset

Types of Relationships
Associations represent relationships between classes. They have defined
multiplicities at both ends.

CoClass
InterfaceD
InterfaceB

Instantiation
Composition

Interface of interest

Class
InterfaceG
InterfaceM
(<classname>)InterfaceO

Interfaces
ISqlKeywordDictionary : IUnknown

A CoClass can directly create objects by declaring a new object .

Type inheritance

GetSuggestedName (in toName: IName):


String
ValidateTargetName (in toName: IName)

INameMapping2

An abstract class cannot be used to create new objects but is a specification


for instances of subclasses (through type inheritance.)

Interface of interest

Children: IEnumNameMapping
ConfigKeyword: String
NameConflicts: Boolean
SourceObject: IUnknown
TargetName: String

Enumerations
esriDataConverterError
0 - S_DATACONVERTER_OK
513 - E_DATACONVERTER_OPENFEATURECLASSFAILED
514 - E_DATACONVERTER_OPENTABLEFAILED
515 - E_DATACONVERTER_OPENFEATUREDATASETFAILED
516 - E_DATACONVERTER_OPENFEATUREWORKSPACEFAILED
517 - E_DATACONVERTER_CREATEFEATURECLASSFAILED
518 - E_DATACONVERTER_CREATETABLEFAILED
519 - E_DATACONVERTER_WRITEFEATURESFAILED
520 - E_DATACONVERTER_WRITEROWSFAILED
521 - E_DATACONVERTER_UNLOADFAILED
522 - E_DATACONVERTER_OPENCURSORFAILED
523 - E_DATACONVERTER_OPENINSERTCURSORFAILED
524 - E_DATACONVERTER_INSERTCURSORFAILED
525 - E_DATACONVERTER_CANCELLED
526 - E_DATACONVERTER_MATCHINPUTFIELDSETFAILED
527 - E_DATACONVERTER_FLUSHINSERTCURSORFAILED
528 - E_DATACONVERTER_ACQUIRESCHEMALOCKFAILED
529 - E_DATACONVERTER_INVALID_INPUT_DATASET_NAME
530 - E_DATACONVERTER_CANNOT_CREATE_FEATURE_DATASET
531 - E_DATACONVERTER_ERROR_READ_ROWS
532 - E_DATACONVERTER_ERROR_READ_ALL_ROWS

INameMapping : IUnknown

Types of Classes

Class Diagram
InterfaceA
Key (Optional)InterfaceB

Type inheritance defines specialized classes of objects which share


properties and methods with the superclass and have additional properties
and methods. Note that interfaces in superclasses are not duplicated in
subclasses.
Instantiation specifies that one object from one class has a method with
which it creates an object from another class .

Interface of interest

Composition is a relationship in which objects from the 'whole' class control


the lifetime of objects from the 'part' class.
An N-ary association specifies that more than two classes are associated . A
diamond is placed at the intersection of the association branches .

Association

Special Interfaces
(Optional) represents interfaces that are
inherited by some subclasses but not all .
The subclasses list the optional
interfaces they implement.
(Instance) represents interfaces that are
only on specific instances of the class.
(<classname>) indicates the name of the
helper class required to support this
event interface in Visual Basic.

1..*

Multiplicity

A Multiplicity is a constraint on the number of objects that can be associated


with another object. Association and composition relationships have
multiplicities on both sides. This is the notation for multiplicities:

Inbound Interface
Outbound Interface
Interface key
Property Get
Property Put
Property Get/Put
Property Put by Reference
Method

1 - One and only one (if none shown, '1' is implied)


enumeration
firstValue - firstEnumeration
secondValue - secondEnumeration

0..1 - Zero or one


M..N - From M to N (positive integers)
* or 0..* - From zero to any positive integer
1..* - From one to any positive integer

Structure key
firstMember: Type
secondMember: Type

<<Struct>>

ESRI ArcGIS 10
Copyright 1999-2010 ESRI. All rights reserved. ESRI, ArcGIS, ArcObjects, and ArcMap are trademarks, registered trademarks, or service
marks of ESRI in the United States, the European Community, or certain other jurisdictions.

Dataset
IVersionedObject

Workspace in
Geodatabase Core

IVersionedObject : IUnknown
IsRegisteredAsVersioned: Boolean
Version: IVersion

IDataset

RegisterAsVersioned (in isVersioned:


Boolean)

IVersionedObject2

IVersionedObject2 : IVersionedObject
HasUncompressedEdits: Boolean

VersionedWorkspace
IVersion

IVersionedObject3

IVersion : IUnknown

CreateVersion (in newName: String):


IVersion
Delete
HasParent: Boolean
RefreshVersion

IVersion2

IArchivableObject

CreateChild (in Name: String, in


pInitialStateVersion: IVersion): IVersion
GetCommonAncestor (in pVersion:
IVersion): IVersion
IVersionEdit : IUnknown

IVersionEdit2 : IVersionEdit

IEnumVersionInfo

IArchivableObject : IUnknown

Table

Next: IVersionInfo
Reset

IConflictClass
ITable

IVersionedTable

RecommendedReconcileOrder:
IEnumVersionInfo

DeleteUpdates: ISelectionSet
HasConflicts: Boolean
UpdateDeletes: ISelectionSet
UpdateUpdates: ISelectionSet

IVersionedTable : IUnknown
Differences (in differenceTable: ITable, in
differenceType: esriDifferenceType, in
QueryFilter: IQueryFilter) :
IDifferenceCursor

VersionInfo

IVersionedWorkspace : IUnknown

IVersionedWorkspace2 : IVersionedWorkspace

IConflictClass : IUnknown

esriDifferenceType
0 - esriDifferenceTypeInsert
1 - esriDifferenceTypeDeleteNoChange
2 - esriDifferenceTypeUpdateNoChange
3 - esriDifferenceTypeUpdateUpdate
4 - esriDifferenceTypeUpdateDelete
5 - esriDifferenceTypeDeleteUpdate

RestoreRow (in rowID: Long) : IRow

IVersionEdit4 : IVersionEdit3

Compress
FindVersion (in Name: String): IVersion

esriVersionAccess
0 - esriVersionAccessPrivate
1 - esriVersionAccessPublic
2 - esriVersionAccessProtected

IEnumVersionInfo : IUnknown

IVersionEdit3 : IVersionEdit2

DefaultVersion: IVersion
Versions: IEnumVersionInfo

IVersionedWorkspace3

Next (out ppOldTable: ITable, out


ppNewTable: ITable)
Reset

Enumerations

Reconcile4 (in VersionName: String, in


acquireLock: Boolean, in abortIfConflicts:
Boolean, in ChildWins: Boolean, in
ColumnLevel: Boolean): Boolean

IVersionedWorkspace2

IEnumTableVersionChanges : IUnknown

IEnumConflictClass : IUnknown

Reconcile3 (in VersionName: String, in


acquireLock: Boolean, in abortIfConflicts:
Boolean): Boolean

IVersionedWorkspace

IEnumTableVersionChanges

EnumVersionInfo

Reconcile2 (in VersionName: String, in


acquireLock: Boolean): Boolean

IVersionEdit4

ICollectionTableVersionChanges : IUnknown
Add (in pOldTable: ITable, in pNewTable:
ITable)
RemoveAll

Next: IConflictClass
Reset

CanPost: Boolean
Post (in VersionName: String)
Reconcile (in VersionName: String):
Boolean

IVersionEdit3

ICollectionTableVersionChanges

DisableArchiving (in deleteArchive: Boolean,


in traverseRelationships: Boolean)
EnableArchiving (in archiveRegistrationInfos:
ISet, in SeedTimeStamp: Variant, in
traverseRelationships: Boolean)

EnumConflictClass
IEnumConflictClass

CommonAncestorVersion: IVersion
ConflictClasses: IEnumConflictClass
ModifiedClasses: IEnumBSTR
PreReconcileVersion: IVersion
ReconcileVersion: IVersion
StartEditingVersion: IVersion

IVersionEdit2

GetVersionRegistrationInfo (out
isRegistered: Boolean, out
isMovingEditsToBase: Boolean)
RegisterAsVersioned3 (in
moveEditsToBase: Boolean)
SupportsMovingEditsToBase: Boolean
UnRegisterAsVersioned3 (in
compressDefault: Boolean)

IsArchiving: Boolean
IVersion2 : IVersion
IsRedefined: Boolean

IVersionEdit

EnumTableVersionChanges

IVersionedObject3 : IVersionedObject2

Access: esriVersionAccess
Description: String
VersionInfo: IVersionInfo
VersionLocks: IEnumLockInfo
VersionName: String

IVersionInfo

IVersionInfo : IUnknown
Access: esriVersionAccess
Ancestors: IEnumVersionInfo
Children: IEnumVersionInfo
Created: Variant
Description: String
Modified: Variant
Parent: IVersionInfo
VersionName: String
IsOwner: Boolean

DifferenceCursor
IDifferenceCursor

IDifferenceCursor: IUnknown
Next (out OID: Long, out differenceRow:
IRow)

IVersionedWorkspace3 :
IVersionedWorkspace2
RecommendedSyncOrder: IEnumBSTR

Types of Classes

Class Diagram
InterfaceA
Key (Optional)InterfaceB

AbstractClass

An abstract class cannot be used to create new objects but is a specification


for instances of subclasses (through type inheritance.)

Interface of interest

A CoClass can directly create objects by declaring a new object .


A Class cannot directly create objects, but objects of this class can be
created as a property of another class or instantiated by objects from
another class.

Type inheritance

Types of Relationships
Associations represent relationships between classes. They have defined
multiplicities at both ends.

CoClass
InterfaceD
InterfaceB

Instantiation
Composition

Interface of interest

Class
InterfaceG
InterfaceM
(<classname>)InterfaceO

Type inheritance defines specialized classes of objects which share


properties and methods with the superclass and have additional properties
and methods. Note that interfaces in superclasses are not duplicated in
subclasses.
Instantiation specifies that one object from one class has a method with
which it creates an object from another class .

Interface of interest

Composition is a relationship in which objects from the 'whole' class control


the lifetime of objects from the 'part' class.
An N-ary association specifies that more than two classes are associated . A
diamond is placed at the intersection of the association branches .

Association

Special Interfaces
(Optional) represents interfaces that are
inherited by some subclasses but not all .
The subclasses list the optional
interfaces they implement.
(Instance) represents interfaces that are
only on specific instances of the class.
(<classname>) indicates the name of the
helper class required to support this
event interface in Visual Basic.

1..*

Multiplicity

A Multiplicity is a constraint on the number of objects that can be associated


with another object. Association and composition relationships have
multiplicities on both sides. This is the notation for multiplicities:

Inbound Interface
Outbound Interface
Interface key
Property Get
Property Put
Property Get/Put
Property Put by Reference
Method

1 - One and only one (if none shown, '1' is implied)


enumeration
firstValue - firstEnumeration
secondValue - secondEnumeration

0..1 - Zero or one


M..N - From M to N (positive integers)
* or 0..* - From zero to any positive integer
1..* - From one to any positive integer

Structure key
firstMember: Type
secondMember: Type

<<Struct>>

ESRI ArcGIS 10
Copyright 1999-2010 ESRI. All rights reserved. ESRI, ArcGIS, ArcObjects, and ArcMap are trademarks, registered trademarks, or service
marks of ESRI in the United States, the European Community, or certain other jurisdictions.

Workspace in
Geodatabase Core

Table in Geodatabase
Core

Workspace
IHistoricalWorkspace

IHistoricalWorkspace : IUnknown
DefaultMarkerName: String
HistoricalMarkers: IEnumHistoricalMarker
AddHistoricalMarker (in Name: String, in
tstamp: Variant): IHistoricalMarker
FindHistoricalVersionByName (in
historicalMarkerName: String):
IHistoricalVersion
FindHistoricalVersionByTimeStamp (in
tstamp: Variant): IHistoricalVersion
RemoveHistoricalMarker (in Name: String)

ObjectClass
IArchivableClass

IArchivableClass : IUnknown

EnumHistoricalMarker

Archive: ITable
ArchiveRegistrationInfo:
IArchiveRegistrationInfo

IEnumHistoricalMarker

IEnumHistoricalMarker : IUnknown
Next: IHistoricalMarker
Reset

VersionedWorkspace
IHistoricalVersion

IHistoricalVersion : IUnknown
TimeStamp: Variant

ArchiveRegistrationInfo
IArchiveRegistrationInfo

IArchiveRegistrationInfo : IUnknown
ArchiveTableName: String
DatasetName: String
FromFieldName: String
OIDFieldName: String
SeedTimeStamp: Variant
ToFieldName: String

HistoricalVersionMarker
IHistoricalMarker

IHistoricalMarker : IUnknown
Name: String
TimeStamp: Variant

Types of Classes

Class Diagram
InterfaceA
Key (Optional)InterfaceB

AbstractClass

An abstract class cannot be used to create new objects but is a specification


for instances of subclasses (through type inheritance.)

Interface of interest

A CoClass can directly create objects by declaring a new object .


A Class cannot directly create objects, but objects of this class can be
created as a property of another class or instantiated by objects from
another class.

Type inheritance

Types of Relationships
Associations represent relationships between classes. They have defined
multiplicities at both ends.

CoClass
InterfaceD
InterfaceB

Instantiation
Composition

Interface of interest

Class
InterfaceG
InterfaceM
(<classname>)InterfaceO

Type inheritance defines specialized classes of objects which share


properties and methods with the superclass and have additional properties
and methods. Note that interfaces in superclasses are not duplicated in
subclasses.
Instantiation specifies that one object from one class has a method with
which it creates an object from another class .

Interface of interest

Composition is a relationship in which objects from the 'whole' class control


the lifetime of objects from the 'part' class.
An N-ary association specifies that more than two classes are associated . A
diamond is placed at the intersection of the association branches .

Association

Special Interfaces
(Optional) represents interfaces that are
inherited by some subclasses but not all .
The subclasses list the optional
interfaces they implement.
(Instance) represents interfaces that are
only on specific instances of the class.
(<classname>) indicates the name of the
helper class required to support this
event interface in Visual Basic.

1..*

Multiplicity

A Multiplicity is a constraint on the number of objects that can be associated


with another object. Association and composition relationships have
multiplicities on both sides. This is the notation for multiplicities:

Inbound Interface
Outbound Interface
Interface key
Property Get
Property Put
Property Get/Put
Property Put by Reference
Method

1 - One and only one (if none shown, '1' is implied)


enumeration
firstValue - firstEnumeration
secondValue - secondEnumeration

0..1 - Zero or one


M..N - From M to N (positive integers)
* or 0..* - From zero to any positive integer
1..* - From one to any positive integer

Structure key
firstMember: Type
secondMember: Type

<<Struct>>

NamesEnumerator
IEnumName
IEnumNameEdit

Name
esriSystem.IName

IName : IUnknown

ESRI ArcGIS 10

NameString: String
Open: IUnknown

Copyright 1999-2010 ESRI. All rights reserved. ESRI, ArcGIS, ArcObjects, and ArcMap are trademarks, registered trademarks, or service
marks of ESRI in the United States, the European Community, or certain other jurisdictions.

DatasetName
IDatasetName

IDatasetName : IUnknown

INativeTypeInfo

ISQLPrivilege
(optional)

Category: String
Name: String
SubsetNames: IEnumDatasetName
Type: esriDatasetType
WorkspaceName: IWorkspaceName

ISQLPrivilege : IUnknown
SQLPrivileges: Long
Grant (in UserName: String, in privileges:
Long, in withGrant: Boolean)
Revoke (in UserName: String, in privileges:
Long)

WorkspaceName
IWorkspaceName : IUnknown

IWorkspaceName

BrowseName: String
Category: String
ConnectionProperties: IPropertySet
PathName: String
Type: esriWorkspaceType
WorkspaceFactory: IWorkspaceFactory
WorkspaceFactoryProgID: String

(Optional)IDatabaseCompact

IWorkspaceName2

IWorkspaceName2 : IWorkspaceName

IMetadata

IMetadata : IUnknown
Metadata: IPropertySet
Synchronize (in action:
esriMetadataSyncAction, in interval:
Long)

IMetadataEdit

IMetadataEdit : IUnknown
CanEditMetadata: Boolean

ConnectionString: String

RelQueryTableName
IRelQueryTableName

FeatureDatasetName

IRelQueryTableName : IUnknown

IFeatureDatasetName

DoNotPushJoinToDB: Boolean
ForwardDirection: Boolean
LeftOuterJoin: Boolean
RelationshipClassName: IName
SrcQueryFilter: IQueryFilter
SrcSelectionSet: ISelectionSet
TargetColumns: String

IRelQueryTableName2

IRelQueryTableName2 : IUnknown

IPersistStream

IFeatureDatasetName2

IFeatureDatasetName2 : IFeatureDatasetName

GeometricNetworkName

ITableName : IUnknown

IGeometricNetworkName

IFeatureDatasetName : IUnknown
FeatureClassNames: IEnumDatasetName
GeometricNetworkNames:
IEnumDatasetName
RelationshipClassNames:
IEnumDatasetName
TableNames: IEnumDatasetName

DoNotPushJoinToDB: Boolean
FireRowChangedEvents: Boolean
ForwardDirection: Boolean
LeftOuterJoin: Boolean
RelationshipClassName: IName
SrcQueryFilter: IQueryFilter
SrcSelectionSet: ISelectionSet
TargetColumns: String

TableName
ITableName

IGeometricNetworkName : IUnknown
FeatureDatasetName: IDatasetName

IObjectClassName

IObjectClassName : IUnknown
ObjectClassID: Long

IModelInfo

TopologyName

IModelInfo : IUnknown
ModelName: String

TopologyNames: IEnumDatasetName

ITopologyName

ITopologyName : IUnknown
DirtyAreasName: IName
FeatureDatasetName: IDatasetName
TopologyErrorName (in GeometryType:
esriGeometryType): IName

ObjectClassName
RelationshipClassName
IRelationshipClassName

IRelationshipClassName : IUnknown

TableQueryName

Cardinality: esriRelCardinality
FeatureDatasetName: IDatasetName
IsAttributed: Boolean
IsComposite: Boolean
Notification: esriRelNotification

IQueryName : IUnknown

IQueryName

QueryDef: IQueryDef

IQueryName2

FeatureClassName
IFeatureClassName

CopyLocally: Boolean
PrimaryKey: String

ITopologyClassName

IMemoryRelationshipClassName

RasterDatasetName
IRasterDatasetName

IRasterDatasetName : IUnknown

IMemoryRelationshipClassName : IUnknown

RasterBandNames: IEnumDatasetName

BackwardPathLabel: String
DestinationName: IName
ForwardPathLabel: String
OriginForeignKey: String
OriginName: IName
OriginPrimaryKey: String

FeatureQueryName
IFeatureClassName

EventProperties: IXYEventProperties
EventTableName: IName
SpatialReference: ISpatialReference

IFeatureClassName

ITopologyClassName : IUnknown
TopologyName: ITopologyName

MemoryRelationshipClassName

IXYEventSourceName : IUnknown

IFeatureClassName : IUnknown
FeatureDatasetName: IDatasetName
FeatureType: esriFeatureType
ShapeFieldName: String
ShapeType: esriGeometryType

IQueryName2 : IQueryName

XYEventSourceName
IXYEventSourceName

IFeatureClassName : IUnknown
FeatureDatasetName: IDatasetName
FeatureType: esriFeatureType
ShapeFieldName: String
ShapeType: esriGeometryType

RasterCatalogName
IRasterCatalogName

IRasterCatalogName : IUnknown

RasterBandName
IRasterBandName

IsRasterDataset: Boolean
RasterFieldName: String

IRasterBandName : IUnknown
NameString: String
RasterDatasetName: IDatasetName

MosaicDatasetName
IMosaicDatasetName

Class Diagram
InterfaceA
Key (Optional)InterfaceB

AbstractClass

An abstract class cannot be used to create new objects but is a specification


for instances of subclasses (through type inheritance.)

Interface of interest

A CoClass can directly create objects by declaring a new object .


A Class cannot directly create objects, but objects of this class can be
created as a property of another class or instantiated by objects from
another class.

Type inheritance

Types of Relationships
Associations represent relationships between classes. They have defined
multiplicities at both ends.

CoClass
InterfaceD
InterfaceB

Instantiation
Composition

Interface of interest

Class
InterfaceG
InterfaceM
(<classname>)InterfaceO

Type inheritance defines specialized classes of objects which share


properties and methods with the superclass and have additional properties
and methods. Note that interfaces in superclasses are not duplicated in
subclasses.
Instantiation specifies that one object from one class has a method with
which it creates an object from another class .

Interface of interest

Composition is a relationship in which objects from the 'whole' class control


the lifetime of objects from the 'part' class.
An N-ary association specifies that more than two classes are associated . A
diamond is placed at the intersection of the association branches .

Association

Special Interfaces
(Optional) represents interfaces that are
inherited by some subclasses but not all .
The subclasses list the optional
interfaces they implement.
(Instance) represents interfaces that are
only on specific instances of the class .
(<classname>) indicates the name of the
helper class required to support this
event interface in Visual Basic.

IMosaicDatasetName : IUnknown

Types of Classes

1..*

Multiplicity

A Multiplicity is a constraint on the number of objects that can be associated


with another object. Association and composition relationships have
multiplicities on both sides. This is the notation for multiplicities:

Inbound Interface
Outbound Interface
Interface key
Property Get
Property Put
Property Get/Put
Property Put by Reference
Method

1 - One and only one (if none shown, '1' is implied)


enumeration
firstValue - firstEnumeration
secondValue - secondEnumeration

0..1 - Zero or one


M..N - From M to N (positive integers)
* or 0..* - From zero to any positive integer
1..* - From one to any positive integer

Structure key
firstMember: Type
secondMember: Type

<<Struct>>

QueryTableName
IQueryTableName

IQueryTableName : IUnknown
Query: String
QueryDescription: IQueryDescription

RelationshipClass in
Geodatabase Core

MemoryRelationshipClassFactory

ESRI ArcGIS 10

IMemoryRelationshipClassFactory

MemoryRelationshipClass

IMemoryRelationshipClassFactory : IUnknown
Open (in Name: String, in originPrimaryClass:
IObjectClass, in originPrimaryKeyField:
String, in originForeignClass: IObjectClass,
in originForeignKeyField: String, in
ForwardPathLabel: String, in
BackwardPathLabel: String, in Cardinality:
esriRelCardinality): IRelationshipClass

Copyright 1999-2010 ESRI. All rights reserved. ESRI, ArcGIS, ArcObjects, and ArcMap are trademarks, registered trademarks, or service
marks of ESRI in the United States, the European Community, or certain other jurisdictions.

RelQueryTableSelectionSet
IRelQueryTableSelectionSet
ISelectionSet
ISelectionSet2

Table in Geodatabase
Core

IRelQueryTableSelectionSet : IUnknown
BaseTableSelectionSet: ISelectionSet

Row in Geodatabase
Core

RelQueryTable

QueryFilter

IQueryFilter

IRelQueryTable
IObjectClass
IFeatureClass
(optional)
IRelQueryTableInfo

IQueryFilter2

ICursor

Cursor

IRowBuffer
IObject

ISpatialFilter

HasOID: Boolean
OID: Long
Table: ITable

IVirtualTable
IRelQueryTableManage

IFeatureCursor
(optional)

IFeature : IObject
Extent: IEnvelope
FeatureType: esriFeatureType
Shape: IGeometry
ShapeCopy: IGeometry

RelQueryCursor

RelQueryTableFactory
IRelQueryTableFactory : IUnknown
Open (in pRelClass: IRelationshipClass, in
joinForward: Boolean, in pQueryFilter:
IQueryFilter, in pSrcSelectionSet:
ISelectionSet, in target_Columns: String, in
DoNotPushJoinToDB: Boolean, in
openAsLeftOuterJoin: Boolean):
IRelQueryTable

Types of Classes

Class Diagram
InterfaceA
Key (Optional)InterfaceB

AbstractClass

An abstract class cannot be used to create new objects but is a specification


for instances of subclasses (through type inheritance.)

Interface of interest

A CoClass can directly create objects by declaring a new object .


A Class cannot directly create objects, but objects of this class can be
created as a property of another class or instantiated by objects from
another class.

Type inheritance

Types of Relationships
Associations represent relationships between classes. They have defined
multiplicities at both ends.

CoClass

Instantiation
Composition

Interface of interest

Class
InterfaceG
InterfaceM
(<classname>)InterfaceO

Type inheritance defines specialized classes of objects which share


properties and methods with the superclass and have additional properties
and methods. Note that interfaces in superclasses are not duplicated in
subclasses.
Instantiation specifies that one object from one class has a method with
which it creates an object from another class .

Interface of interest

Composition is a relationship in which objects from the 'whole' class control


the lifetime of objects from the 'part' class.
An N-ary association specifies that more than two classes are associated . A
diamond is placed at the intersection of the association branches .

Association

Special Interfaces
(Optional) represents interfaces that are
inherited by some subclasses but not all .
The subclasses list the optional
interfaces they implement.
(Instance) represents interfaces that are
only on specific instances of the class.
(<classname>) indicates the name of the
helper class required to support this
event interface in Visual Basic.

1..*

Multiplicity

A Multiplicity is a constraint on the number of objects that can be associated


with another object. Association and composition relationships have
multiplicities on both sides. This is the notation for multiplicities:

Inbound Interface
Outbound Interface
Interface key
Property Get
Property Put
Property Get/Put
Property Put by Reference
Method

IVirtualTable : IUnknown

IRelQueryTableManage : IUnknown
VersionChanged (in pSelectedWorkspace:
IVersion, in pTargetVersion: IVersion, in
pTablesRequiringMapEventFiring:
IEnumTableVersionChanges)

IRelQueryTableFactory

InterfaceD
InterfaceB

IRelQueryTableInfo : IUnknown

GetBaseTableOfField (in dbColumn:


String): ITable

SpatialFilter

IRow : IRowBuffer

Delete
Store

IFeature
(optional)
IFeatureBuffer
(optional)
IFeautureDraw
(optional)

DestinationTable: ITable
RelationshipClass: IRelationshipClass
SourceTable: ITable

HasDirectAccessLookup: Boolean
JoinType: esriJoinType
QueryDef: IQueryDef

RelQueryRow
IRow

IRelQueryTable : IUnknown

1 - One and only one (if none shown, '1' is implied)


enumeration
firstValue - firstEnumeration
secondValue - secondEnumeration

0..1 - Zero or one


M..N - From M to N (positive integers)
* or 0..* - From zero to any positive integer
1..* - From one to any positive integer

Structure key
firstMember: Type
secondMember: Type

<<Struct>>

Raster in
DataSourcesRaster

GeoDataset in
Geodatabase

ESRI ArcGIS 10
IRasterDataset

IRaster

IRasterDataset : IUnknown
CompleteName: String
CompressionType: String
Format: String

IRasterDataset2

Workspace in
Geodatabase

AccessWorkspaceFactory in
DataSourcesGDB

RasterWorkspaceFactory in
DataSourcesRaster

IRasterWorkspace2
(optional)

IRasterWorkspace

ISaveAs : IUnknown
CanSaveAs (in Format: String): Boolean
SaveAs (in Name: String, in worksp:
IWorkspace, in Format: String): IDataset

IsEmpty: Boolean

ISaveAs2

ISaveAs2 : ISaveAs
SaveAsRasterDataset (in Name: String, in
pWorkspace: IWorkspace, in Format:
String, in pStorageDef:
IRasterStorageDef): IRasterDataset

IRasterDataset3 : IRasterDataset2
BlockHeight: Long
BlockWidth: Long
CanWrite: Boolean
FirstPyramidLevel: Long
LODInfos: IRasterLODInfos
MaximumPyramidLevel: Long

RasterWorkspace
IRasterWorkspaceEx : IUnknown

Read (in pTlc: IPnt, in pRaster: IRaster, in


pPixelBlock: IPixelBlock)
ReadPyramid (in pTlc: IPnt, in
PyramidLevel: Long, in pRaster: IRaster,
in pPixelBlock: IPixelBlock)
Refresh
Write (in pTlc: IPnt, in pRaster: IRaster, in
mode: esriRasterWriteMode, in
pPixelBlock: IPixelBlock)

CreateRasterCatalog (in Name: String, in


Fields: IFields, in ShapeFieldName:
String, in RasterFieldName: String, in
ConfigKeyword: String): IRasterCatalog
CreateRasterDataset (in Name: String, in
numBands: Long, in PixelType:
rstPixelType, in StorageDef:
IRasterStorageDef, in ConfigKeyword:
String, in RasterDef: IRasterDef, in
GeometryDef: IGeometryDef):
IRasterDataset
DeleteRasterCatalog (in Name: String)
DeleteRasterDataset (in Name: String)
OpenRasterCatalog (in Name: String):
IRasterCatalog
OpenRasterDataset (in Name: String):
IRasterDataset
RegisterAsRasterCatalog (in Name: String,
in OIDFieldName: String, in
GeometryDef: IGeometryDef)
RegisterAsRasterDataset (in Name: String,
in GeometryDef: IGeometryDef)
SaveAsRasterDataset (in Name: String, in
Raster: IRaster, in StorageDef:
IRasterStorageDef, in ConfigKeyword:
String, in RasterDef: IRasterDef, in
GeometryDef: IGeometryDef):
IRasterDataset

FileGDBWorkspaceFactory in
DataSourcesGDB

CreateCursor: IRasterCursor
CreatePixelBlock (in Size: IPnt): IPixelBlock
Read (in tlc: IPnt, in block: IPixelBlock)

IRasterDataset2 : IRasterDataset

IRasterDataset3

SdeWorkspaceFactory in
DataSourcesGDB

ResampleMethod: rstResamplingTypes

ISaveAs

CreateFullRaster: IRaster
CreateRaster: IRaster

IRasterWorkspaceEx
(optional)

IRaster : IUnknown

IClone
IGeoDataset

CanCopy: Boolean
Copy (in copyName: String, in
copyWorkspace: IWorkspace): IDataset
CreateDefaultRaster: IRaster
PrecalculateStats (in index_list: Variant)

WorkspaceFactory in
Geodatabase

IRasterDatasetEdit

IRasterDatasetEdit : IUnknown

RasterCursor
IRasterCursor

IRasterCursor : IUnknown
PixelBlock: IPixelBlock
TopLeft: IPnt
Next: Boolean
Reset

PixelBlock
esriDataSourcesRaster.IPixelBlock3

IPixelBlock3 : IUnknown
BytesPerPixel: Long
Height: Long
NoDataMask (in plane: Long): Variant
NoDataMaskByRef (in plane: Long): Variant
PixelData (in plane: Long): Variant
PixelDataByRef (in plane: Long): Variant
PixelType (in plane: Long): rstPixelType
Planes: Long
Width: Long

IPixelBlock
esriDataSourcesRaster.IPixelBlock2

AlterColormap (in pColormap:


IRasterColormap)
AppendNewBand
ComputeStats (in PyramidLevel: Long)
DeleteColormap
DeleteStats
Erase (in Extent: IEnvelope)
Mosaic (in Raster: IRaster, in tolerance:
Double)
MosaicBands (in Raster: IRaster, in start:
Long, in tolerance: Double)

IRasterDatasetEdit2

RasterLayer in
Carto

Raster

RasterDataset

Copyright 1999-2010 ESRI. All rights reserved. ESRI, ArcGIS, ArcObjects, and ArcMap are trademarks, registered trademarks, or service
marks of ESRI in the United States, the European Community, or certain other jurisdictions.

GetNoDataMaskVal (in plane: Long, in x:


Long, in y: Long): Variant
GetVal (in plane: Long, in x: Long, in y: Long):
Variant
HasNoData (in plane: Long): Boolean

IRasterDataset2 : IRasterDataset
IsEmpty: Boolean

Pnt

CreateFullRaster: IRaster
CreateRaster: IRaster

IRasterWorkspace2 : IUnknown

IPnt

ISaveAs

CanCopy: Boolean
Copy (in copyName: String, in
copyWorkspace: IWorkspace): IDataset
CreateRasterDataset (in Name: String, in
Format: String, in Origin: IPoint, in
columnCount: Long, in RowCount: Long, in
cellSizeX: Double, in cellSizeY: Double, in
numBands: Long, in pt: rstPixelType, in sr:
ISpatialReference, in Permanent: Boolean):
IRasterDataset
IsWorkspace (in Name: String): Boolean
OpenRasterDataset (in Name: String):
IRasterDataset

IPnt : IUnknown

ISaveAs : IUnknown

X: Double
Y: Double

CanSaveAs (in Format: String): Boolean


SaveAs (in Name: String, in worksp:
IWorkspace, in Format: String): IDataset

ISaveAs2

Convert2Point (in env: IPoint)


Set2Point (in env: IPoint)
SetCoords (in X: Double, in Y: Double)

ISaveAs2 : ISaveAs

SaveAsRasterDataset (in Name: String, in


pWorkspace: IWorkspace, in Format:
String, in pStorageDef:
IRasterStorageDef): IRasterDataset

RasterCatalogHelper
IRasterCatalogHelper

IRasterCatalogHelper : IUnknown
UpdateFootprint (in pCatalog: IRasterCatalog)
UpdateFootprintSpatialReference (in
pCatalog: IRasterCatalog)

IRasterCatalogHelper2

Table, ObjectClass,
FeatureClass in
Geodatabase

IRasterCatalogHelper2 : IRasterCatalogHelper
UpdateFootprintEx (in pCatalog:
IRasterCatalog, in where: String, in
onlyIfEmpty: Boolean, in pCancel:
ITrackCancel)

RasterCatalog
IRasterCatalog

GdbRasterCatalogLayer in
Carto

IRasterCatalog : IUnknown
CanAlterRasterSpatialReference: Boolean
NameFieldIndex: Long
RasterFieldIndex: Long
RasterFieldName: String
RasterSpatialReference: ISpatialReference
AlterRasterSpatialReference (in
pSpatialReference: ISpatialReference)

Enumerations

Cursor

rstPixelType
-1 - PT_UNKNOWN
0 - PT_U1
1 - PT_U2
2 - PT_U4
3 - PT_UCHAR
4 - PT_CHAR
5 - PT_USHORT
6 - PT_SHORT
7 - PT_ULONG
8 - PT_LONG
9 - PT_FLOAT
10 - PT_DOUBLE
11 - PT_COMPLEX
12 - PT_DCOMPLEX
13 - PT_CSHORT
14 - PT_CLONG

IRasterValue

SetEmptyRasterDataset (in nBands: Long,


in PixelType: rstPixelType)

Row, Object, Feature


IRowBuffer : IUnknown

IRasterValue2

Types of Classes

Class Diagram
InterfaceA
Key (Optional)InterfaceB

AbstractClass

An abstract class cannot be used to create new objects but is a specification


for instances of subclasses (through type inheritance.)

Interface of interest

A CoClass can directly create objects by declaring a new object .


A Class cannot directly create objects, but objects of this class can be
created as a property of another class or instantiated by objects from
another class.

IRasterValue2 : IRasterValue
PersistXform: IGeodataXform

Fields: IFields
Value (in Index: Long): Variant

Type inheritance

Types of Relationships
Associations represent relationships between classes . They have defined
multiplicities at both ends.

RasterDef
RasterCatalogItem
IRasterCatalogItem

esriRasterCompressionType
-1 - esriRasterCompressionUnknown
0 - esriRasterCompressionUncompressed
1 - esriRasterCompressionLZ77
2 - esriRasterCompressionJPEG
4 - esriRasterCompressionJPEG2000
5 - esriRasterCompressionPackBits
6 - esriRasterCompressionLZW
7 - esriRasterCompressionRLE
8 - esriRasterCompressionCCITTG3
9 - esriRasterCompressionCCITTG4
10 - esriRasterCompressionCCITTRLE

IRasterValue : IUnknown
Extent: IEnvelope
Raster: IRaster
RasterDataset: IRasterDataset
RasterDatasetName: IName
RasterStorageDef: IRasterStorageDef

rstResamplingTypes
0 - RSP_NearestNeighbor
1 - RSP_BilinearInterpolation
2 - RSP_CubicConvolution
3 - RSP_Majority
esriRasterSdeCompressionTypeEnum
0 - esriRasterSdeCompressionTypeUncompressed
1 - esriRasterSdeCompressionTypeRunLength
2 - esriRasterSdeCompressionTypeJPEG
3 - esriRasterSdeCompressionTypeJPEG2000

RasterValue

IRasterDef

IRasterCatalogItem : IUnknown
RasterDataset: IRasterDataset

IClone
IPersist

IRasterDef : IUnknown

CoClass
InterfaceD
InterfaceB

Instantiation
Composition

Interface of interest

Class

Description: String
IsManaged: Boolean
SpatialReference: ISpatialReference

InterfaceG
InterfaceM
(<classname>)InterfaceO

IRasterStorageDef : IUnknown
CellSize: IPnt
CompressionQuality: Long
CompressionType:
esriRasterCompressionType
Origin: IPoint
PyramidLevel: Long
PyramidResampleType:
rstResamplingTypes
TileHeight: Long
TileWidth: Long

IRasterStorageDef2

IRasterStorageDef2 : IRasterStorageDef
Tiled: Boolean

Instantiation specifies that one object from one class has a method with
which it creates an object from another class .

Interface of interest

Composition is a relationship in which objects from the 'whole' class control


the lifetime of objects from the 'part' class.
An N-ary association specifies that more than two classes are associated . A
diamond is placed at the intersection of the association branches .

RasterStorageDef
IRasterStorageDef

Type inheritance defines specialized classes of objects which share


properties and methods with the superclass and have additional properties
and methods. Note that interfaces in superclasses are not duplicated in
subclasses.

Association

Special Interfaces
(Optional) represents interfaces that are
inherited by some subclasses but not all .
The subclasses list the optional
interfaces they implement.
(Instance) represents interfaces that are
only on specific instances of the class .
(<classname>) indicates the name of the
helper class required to support this
event interface in Visual Basic.

1..*

Multiplicity

A Multiplicity is a constraint on the number of objects that can be associated


with another object. Association and composition relationships have
multiplicities on both sides. This is the notation for multiplicities:

Inbound Interface
Outbound Interface
Interface key
Property Get
Property Put
Property Get/Put
Property Put by Reference
Method

1 - One and only one (if none shown, '1' is implied)


enumeration
firstValue - firstEnumeration
secondValue - secondEnumeration

0..1 - Zero or one


M..N - From M to N (positive integers)
* or 0..* - From zero to any positive integer
1..* - From one to any positive integer

Structure key
firstMember: Type
secondMember: Type

<<Struct>>

ESRI ArcGIS 10
Copyright 1999-2010 ESRI. All rights reserved. ESRI, ArcGIS, ArcObjects, and ArcMap are trademarks, registered trademarks, or service
marks of ESRI in the United States, the European Community, or certain other jurisdictions.

GxObject, Name, TIN, and


GeometricNetwork objects
IMetadata

MetadataCopyHelper
ICopyHelper

ICopyHelper : IUnknown
UpdateDatabaseMetadata (in
pDestPropertySet: IPropertySet, in pSrc:
IDatasetName, in pDest: IDatasetName)
UpdateMetadata (in pSrc: IName, in pDest:
IName, in isMove: Boolean)

IMetadata : IUnknown
Metadata: IPropertySet
Synchronize (in action:
esriMetadataSyncAction, in interval:
Long)

MetadataSynchronizer
IMetadataSynchronizer

IMetadataSynchronizer : IUnknown
ClassID: IUID
Name: String
Update (in pPropertySet: IXmlPropertySet, in
itemDesc: String, in Value: Variant)

IMetadataSynchronizerManager

IMetadataSynchronizerManager : IUnknown
NumSynchronizers: Long
GetEnabled (in Index: Long): Boolean
GetSynchronizer (in Index: Long):
IMetadataSynchronizer
SetEnabled (in Index: Long, in Enabled:
Boolean)

XmlPropertySet
IXmlPropertySet
IPersistStreamInit
IPropertySet
ISupportErrorInfo
IClone
IXMLSerialize

IXmlPropertySet2

Enumerations

Types of Classes

Class Diagram
InterfaceA
Key (Optional)InterfaceB

AbstractClass

An abstract class cannot be used to create new objects but is a specification


for instances of subclasses (through type inheritance.)

Interface of interest

A CoClass can directly create objects by declaring a new object .


A Class cannot directly create objects, but objects of this class can be
created as a property of another class or instantiated by objects from
another class.

Type inheritance

Types of Relationships
Associations represent relationships between classes. They have defined
multiplicities at both ends.

CoClass
InterfaceD
InterfaceB

Instantiation
Composition

Interface of interest

Class
InterfaceG
InterfaceM
(<classname>)InterfaceO

Type inheritance defines specialized classes of objects which share


properties and methods with the superclass and have additional properties
and methods. Note that interfaces in superclasses are not duplicated in
subclasses.
Instantiation specifies that one object from one class has a method with
which it creates an object from another class .

Interface of interest

Composition is a relationship in which objects from the 'whole' class control


the lifetime of objects from the 'part' class.
An N-ary association specifies that more than two classes are associated . A
diamond is placed at the intersection of the association branches .

Association

Special Interfaces
(Optional) represents interfaces that are
inherited by some subclasses but not all .
The subclasses list the optional
interfaces they implement.
(Instance) represents interfaces that are
only on specific instances of the class.
(<classname>) indicates the name of the
helper class required to support this
event interface in Visual Basic.

1..*

Multiplicity

A Multiplicity is a constraint on the number of objects that can be associated


with another object. Association and composition relationships have
multiplicities on both sides. This is the notation for multiplicities:

Inbound Interface
Outbound Interface
Interface key
Property Get
Property Put
Property Get/Put
Property Put by Reference
Method

esriXmlPropertyType
0 - esriXPTText
1 - esriXPTBinaryEnclosure
2 - esriXPTLink
3 - esriXPTPicture
4 - esriXPTImage

1 - One and only one (if none shown, '1' is implied)


enumeration
firstValue - firstEnumeration
secondValue - secondEnumeration

0..1 - Zero or one


M..N - From M to N (positive integers)
* or 0..* - From zero to any positive integer
1..* - From one to any positive integer

Structure key
firstMember: Type
secondMember: Type

<<Struct>>

esriXmlSetPropertyAction
0 - esriXSPAAddOrReplace
1 - esriXSPAAddIfNotExists
2 - esriXSPAReplaceIfExists
3 - esriXSPAAddDuplicate

esriMetadataSyncAction
0 - esriMSAAccessed
1 - esriMSAAlways
2 - esriMSACreated
3 - esriMSANotCreated
4 - esriMSAOverwrite

IXmlPropertySet : IUnknown
CountX (in Name: String): Long
IsNew: Boolean
DeleteProperty (in Name: String)
DeletePropertyByAttribute (in Attribute:
String, in Value: String, in deleteParent:
Boolean)
GetPropertiesByAttribute (in Attribute:
String, in Value: String, in noValues:
Boolean, out pTags: Variant, out
pValues: Variant)
InitExisting
SaveAsFile (in xslPath: String, in header:
String, in outputANSI: Boolean, in
outPath: String)
SetAttribute (in Name: String, in Attribute:
String, in Value: Variant, in action:
esriXmlSetPropertyAction)
SetPropertyX (in Name: String, in Value:
Variant, in propType:
esriXmlPropertyType, in action:
esriXmlSetPropertyAction, syncing:
Boolean)
TransformImages (in Path: String, out
pFileNames: Variant)

IMetadataSynchronizer

XmlPropertySetEdit
IXmlPropertySetEdit

DeleteProperty (in Name: String)


DeletePropertyByAttribute (in Attribute:
String, in Value: String, in deleteParent:
Boolean)
DeletePropertyByNameAndAttribute (in
Name: String, in Attribute: String, in
Value: String, in deleteParent: Boolean)
GetAttribute (in Name: String, in Attribute:
String, out pValue: Variant)
GetPropertiesByAttribute (in Attribute:
String, in Value: String, in noValues:
Boolean, out pTags: Variant, out
pValues: Variant)
GetXml (in Name: String): String
InitExisting
InitGeneric (in rootName: String)
SaveAsFile (in xslPath: String, in header:
String, in outputANSI: Boolean, in
outPath: String)
SetAttribute (in Name: String, in Attribute:
String, in Value: Variant, in action:
esriXmlSetPropertyAction)
SetPropertyX (in Name: String, in Value:
Variant, in propType:
esriXmlPropertyType, in action:
esriXmlSetPropertyAction, syncing:
Boolean)
SetXml (in xml: String)
TransformImages (in Path: String, out
pFileNames: Variant)

IXmlPropertySetEdit : IUnknown
Dataset: IDataset
GetProperty (in Name: String): Variant
SetProperty (in Name: String, in Value:
Variant, in propType:
esriXmlPropertyType, in action:
esriXmlSetPropertyAction)

FGDCSynchronizationHelper

IXmlPropertySet2 : IUnknown
CountX (in Name: String): Long
IsNew: Boolean
OverwriteSyncAttribute: Boolean

FGDCSynchronizer

ISynchronizationHelper

ISynchronizationHelper : IUnknown
ExtractBriefEntityAttrProperties (in
geoDataset: IClass, in Index: Long, in
PropertySet: IPropertySet)
ExtractBriefRelationshipProperties (in
RelationshipClass: IRelationshipClass, in
Index: Long, in PropertySet:
IPropertySet)
ExtractEntityAttrProperties (in geoDataset:
IClass, in Index: Long, in PropertySet:
IPropertySet)
ExtractFeatureClassProperties (in
geoDataset: IFeatureClass, in Index:
Long, in PropertySet: IPropertySet)
ExtractRelationshipProperties (in
RelationshipClass: IRelationshipClass, in
Index: Long, in PropertySet:
IPropertySet)
ExtractSpatialProperties (in geoDataset:
IGeoDataset, in PropertySet:
IPropertySet)
FinishSynchronization (in PropertySet:
IPropertySet)
PopulateDistributionProperties (in fileName:
String, in fileType: String, in PropertySet:
IPropertySet)
PopulateDistributionPropertiesForDatabase
(in Dataset: IDataset, in PropertySet:
IPropertySet)
PopulateStaticProperties (in PropertySet:
IPropertySet)
StartSynchronization (in PropertySet:
IPropertySet, in action:
esriMetadataSyncAction, in interval:
Long, out Ok: Boolean)

ESRI ArcGIS 10
Copyright 1999-2010 ESRI. All rights reserved. ESRI, ArcGIS, ArcObjects, and ArcMap are trademarks, registered trademarks, or service
marks of ESRI in the United States, the European Community, or certain other jurisdictions.

IWorkspaceFactory
IWorkspaceFactory2

PlugInWorkspaceFactory

PlugInWorkspaceHelper
PlugInNativeType
INativeType

Aggregated
PlugInWorkspaceFactory
IPlugInWorkspaceFactoryHelper

IPlugInWorkspaceHelper

INativeType : IUnknown

Workspace
in Geodabase
Core

CanSupportSQL: Boolean
DatasetDescription (in DatasetType:
esriDatasetType): String
DataSourceName: String
WorkspaceDescription (in plural: Boolean):
String
WorkspaceFactoryTypeID: IUID
WorkspaceType: esriWorkspaceType
ContainsWorkspace (in parentDirectory:
String, in fileNames: IFileNames): Boolean

IPlugInWorkspaceHelper2
(optional)

IPlugInMetaData
(optional)

IWorkspaceFactoryFileExtensions : IUnknown

IPlugInWorkspaceHelper2 : IUnknown
CanAddIndex: Boolean
CanDeleteIndex: Boolean
IsReadOnly: Boolean

IPlugInLicense : IUnknown
AddLicenseRef
CheckExtensionLicense
ReleaseLicenseRef
IPlugInMetadata : IUnknown
CanEditMetadata: Boolean
Metadata (in localName: String): IPropertySet

ActivationExtensions: String
RelevantExtensions: String

IPlugInCreateWorkspace
(optional)

OpenDataset (in localName: String):


IPlugInDatasetHelper

IPlugInLicense
(optional)

GetWorkspaceString (in parentDirectory:


String, in fileNames: IFileNames): String
IsWorkspace (in wksString: String): Boolean
OpenWorkspace (in wksString: String):
IPlugInWorkspaceHelper

IWorkspaceFactoryFileExtensions
(optional)

DatasetNames (in DatasetType:


esriDatasetType): IArray
NativeType (in DatasetType: esriDatasetType,
in localName: String): INativeType
OIDIsRecordNumber: Boolean
RowCountIsCalculated: Boolean

TypeID: IUID
Description: String

IPlugInWorkspaceFactoryHelper : IUnknown

IPlugInWorkspaceHelper : IUnknown

IPlugInMetadataPath
(optional)

IPlugInCreateWorkspace : IUnknown

IPlugInMetadataPath : IUnknown
MetadataPath (in localName: String): String

CreateWorkspace (in workspaceString:


String)
MakeWorkspaceString (in parentDirectory:
String, in file: String, in
ConnectionProperties: IPropertySet):
String

PlugInDatasetHelper
IPlugInDatasetHelper

Visual Basic 6
PlugInWorkspaceFactoryHelper
IPlugInWorkspaceFactoryHelper

Bounds: IEnvelope
ClassCount: Long
ClassIndex (in Name: String): Long
ClassName (in Index: Long): String
Fields (in ClassIndex: Long): IFields
OIDFieldIndex (in ClassIndex: Long): Long
ShapeFieldIndex (in ClassIndex: Long): Long

IPlugInWorkspaceFactoryHelper : IUnknown

FetchAll (in ClassIndex: Long, in


WhereClause: String, in FieldMap: Variant):
IPlugInCursorHelper
FetchByEnvelope (in ClassIndex: Long, in
env: IEnvelope, in strictSearch: Boolean, in
WhereClause: String, in FieldMap: Variant):
IPlugInCursorHelper
FetchByID (in ClassIndex: Long, in ID: Long,
in FieldMap: Variant): IPlugInCursorHelper

FeatureDataset in
Geodatabase Core

CanSupportSQL: Boolean
DatasetDescription (in DatasetType:
esriDatasetType): String
DataSourceName: String
WorkspaceDescription (in plural: Boolean): String
WorkspaceFactoryTypeID: IUID
WorkspaceType: esriWorkspaceType

IPlugInDatasetInfo

ContainsWorkspace (in parentDirectory: String,


in fileNames: IFileNames): Boolean

*
*

IPlugInFileSystemDataset
(optional)

Types of Classes

IPlugInIndexInfo
(optional)

A CoClass can directly create objects by declaring a new object .

IPlugInIndexManager
(optional)

Associations represent relationships between classes . They have defined


multiplicities at both ends.

Instantiation
Composition

Interface of interest

Class
InterfaceG
InterfaceM
(<classname>)InterfaceO

Type inheritance defines specialized classes of objects which share


properties and methods with the superclass and have additional properties
and methods. Note that interfaces in superclasses are not duplicated in
subclasses.

Association

(Optional) represents interfaces that are


inherited by some subclasses but not all .
The subclasses list the optional
interfaces they implement.
(Instance) represents interfaces that are
only on specific instances of the class .
(<classname>) indicates the name of the
helper class required to support this
event interface in Visual Basic.

1..*

Multiplicity

A Multiplicity is a constraint on the number of objects that can be associated


with another object. Association and composition relationships have
multiplicities on both sides. This is the notation for multiplicities:

Inbound Interface
Outbound Interface
Interface key
Property Get
Property Put
Property Get/Put
Property Put by Reference
Method

IPlugInLicense : IUnknown
AddLicenseRef
CheckExtensionLicense
ReleaseLicenseRef

IPlugInRowCount
(optional)

IPlugInRowCount : IUnknown
RowCount (in Index: Long): Long

Composition is a relationship in which objects from the 'whole' class control


the lifetime of objects from the 'part' class.
An N-ary association specifies that more than two classes are associated . A
diamond is placed at the intersection of the association branches .

Special Interfaces

IPlugInLicense
(optional)

Instantiation specifies that one object from one class has a method with
which it creates an object from another class .

Interface of interest

IPlugInIndexManager : IUnknown
AddIndex (in ClassIndex: Long, in Index:
IIndex)
DeleteIndex (in ClassIndex: Long, in Index:
IIndex)

Types of Relationships

CoClass

IPlugInIndexInfo : IUnknown
Indexes (in ClassIndex: Long): IIndexes

A Class cannot directly create objects, but objects of this class can be
created as a property of another class or instantiated by objects from
another class.

Type inheritance

IPlugInFileSystemDataset : IUnknown
FullPath: String
Size: Long

An abstract class cannot be used to create new objects but is a specification


for instances of subclasses (through type inheritance.)

Interface of interest

IPlugInFileOperationsClass : IUnknown
CanCopy (in ClassIndex: Long): Boolean
CanDelete (in ClassIndex: Long): Boolean
CanRename (in ClassIndex: Long):
Boolean
Copy (in ClassIndex: Long, in copyName:
String, in copyWorkspace: IWorkspace)
Delete (in ClassIndex: Long)
Rename (in ClassIndex: Long, in Name:
String): String

m_length: Unsigned Long


m_status: Unsigned Long
m_value: Variant

AbstractClass

IPlugInFileOperations : IUnknown
CanCopy: Boolean
CanDelete: Boolean
CanRename: Boolean
Copy (in copyName: String, in
copyWorkspace: IWorkspace)
Delete
Rename (in Name: String): String

IPlugInFileOperationsClass
(optional)

<<Struct>>

tagFieldValue

IPlugInFileOperations
(optional)

Table in
Geodatabase Core

Structs

InterfaceD
InterfaceB

IPlugInDatasetInfo : IUnknown
DatasetType: esriDatasetType
GeometryType: esriGeometryType
LocalDatasetName: String
ShapeFieldName: String

GetWorkspaceString (in parentDirectory: String,


in fileNames: IFileNames): String
IsWorkspace (in wksString: String): Boolean
OpenWorkspace (in wksString: String):
IPlugInWorkspaceHelper

Class Diagram
InterfaceA
Key (Optional)InterfaceB

IPlugInDatasetHelper : IUnknown

Cursor in
Geodatabase
Core

PlugInCursorHelper
IPlugInCursorHelper

IsFinished: Boolean
NextRecord
QueryShape (in pGeometry: IGeometry)
QueryValues (in Row: IRowBuffer): Long

1 - One and only one (if none shown, '1' is implied)


enumeration
firstValue - firstEnumeration
secondValue - secondEnumeration

0..1 - Zero or one


M..N - From M to N (positive integers)
* or 0..* - From zero to any positive integer
1..* - From one to any positive integer

Structure key
firstMember: Type
secondMember: Type

<<Struct>>

IPlugInCursorHelper : IUnknown

IPlugInFastQueryValues
(optional)

IPlugInFastQueryValues : IUnknown
FastQueryValues (in values: FieldValue)

Workspace in Geodatabase Core

Workspace
IWorkspaceExtensionManager

IFeatureDatasetExtensionContainer : IUnknown

Extension (in Index: Long):


IWorkspaceExtension
ExtensionCount: Long

Extension (in Index: Long):


IFeatureDatasetExtension
ExtensionCount: Long

FindExtension (in pGUID: IUID):


IWorkspaceExtension
RegisterExtension (in Name: String, in
pGUID: IUID)
UnRegisterExtension (in pGUID: IUID)

FindExtension (in Type: esriDatasetType):


IFeatureDatasetExtension

IFeatureDatasetExtension

DENetworkDataset

IDENetworkDatasetType : IUnknown

IDENetworkDataset

IGxFilterInfo

IXMLSerialize
IPersistStream
IGPDescribe

IFeatureDatasetExtension : IUnknown
FeatureDataset: IFeatureDataset

IDatasetEdit

IDENetworkDataset2

IDatasetContainer2

IDatasetContainer2 : IDatasetContainer

*
WorkspaceExtension
DataDictionaryTableNames: IEnumBSTR
GUID: IUID
Name: String
PrivateDatasetNames (in dtype:
esriDatasetType): IEnumBSTR

IDatasetContainer3

IHistoricalTrafficData

IDatasetContainer2 : IDatasetContainer

DatasetComponent

IDatasetComponent2

IJunctionFeatureSource

IDatasetComponent2 : IDatasetComponent

INetworkForwardStarEx

NetworkDataset
INetworkDataset
IFeatureClassContainer
ISchemaLock
IVersionedObject2
IDatasetAnalyze
IGeoDataset
IGeoDatasetSchemaEdit
IMetadata
IMetadataEdit
INativeTypeInfo
ISupportErrorInfo

FeatureDatasetName in
Geodatabase Name

INetworkDataset2

INetworkDataset : IUnknown
Attribute (in Index: Long): INetworkAttribute
AttributeByID (in ID: Long):
INetworkAttribute
AttributeByName (in Name: String):
INetworkAttribute
AttributeCount: Long
Buildable: Boolean
NetworkType: esriNetworkDatasetType
Source (in Index: Long): INetworkSource
SourceByID (in ID: Long): INetworkSource
SourceByName (in Name: String):
INetworkSource
SourceCount: Long
State: esriNetworkDatasetState
SupportsTurns: Boolean
INetworkDataset2 : INetworkDataset
DirtyArea (in location: IPolygon): IPolygon

FeatureDatasetName

INetworkQuery

IDatasetContainerName : IUnknown

DatasetName in Geodatabase Name

esriNetworkAttributeUsageType
0 - esriNAUTCost
1 - esriNAUTDescriptor
2 - esriNAUTRestriction
3 - esriNAUTHierarchy

esriNetworkEdgeConnectivityPolicy
0 - esriNECPAnyVertex
1 - esriNECPEndVertex

esriNetworkEdgeDirection
0 - esriNEDNone
1 - esriNEDAlongDigitized
2 - esriNEDAgainstDigitized

esriNetworkElementType
1 - esriNETJunction
2 - esriNETEdge
3 - esriNETTurn

esriNetworkElevationModel
0 - esriNEMNone
1 - esriNEMElevationFields
2 - esriNEMZCoordinates

esriNetworkForwardStarBacktrack
0 - esriNFSBNoBacktrack
1 - esriNFSBAllowBacktrack
2 - esriNFSBAtDeadEndsOnly
3 - esriNFSBAtDeadEndsAndIntersections

ClearIDCache
CreateForwardStar: INetworkForwardStar
CreateForwardStarAdjacencies:
INetworkForwardStarAdjacencies
CreateNetworkElement (in ElementType:
esriNetworkElementType):
INetworkElement
PopulateIDCache (in SourceID: Long)
QueryEdge (in EID: Long, in Direction:
esriNetworkEdgeDirection, in Edge:
INetworkEdge)
QueryJunction (in EID: Long, in Junction:
INetworkJunction)
QueryTurn (in EID: Long, in Turn:
INetworkTurn)

Enumerations

INetworkQuery : IUnknown
ComplexTurnCount: Long
EdgesByPosition (in SourceID: Long, in
OID: Long, in Position: Double, in
includeRelatedSDCHyperEdges:
Boolean): IEnumNetworkElement
EdgesBySegment (in SourceID: Long, in
OID: Long, in fromPosition: Double, in
toPosition: Double):
IEnumNetworkElement
ElementCount (in ElementType:
esriNetworkElementType): Long
Elements (in ElementType:
esriNetworkElementType):
IEnumNetworkElement
ElementsByOID (in SourceID: Long, in OID:
Long): IEnumNetworkElement
ElementsByOIDs (in SourceID: Long, in
oids: ILongArray):
IEnumNetworkElement
ElementsForSource (in SourceID: Long):
IEnumNetworkElement
MaxEID (in ElementType:
esriNetworkElementType): Long
MaxValence: Long

DatasetNames (in Type: esriDatasetType):


IEnumDatasetName

esriNetworkAttributeUnits
0 - esriNAUUnknown
1 - esriNAUInches
3 - esriNAUFeet
4 - esriNAUYards
5 - esriNAUMiles
6 - esriNAUNauticalMiles
7 - esriNAUMillimeters
8 - esriNAUCentimeters
9 - esriNAUMeters
10 - esriNAUKilometers
11 - esriNAUDecimalDegrees
12 - esriNAUDecimeters
20 - esriNAUSeconds
21 - esriNAUMinutes
22 - esriNAUHours
23 - esriNAUDays

0..1
NetworkSourceDirections
INetworkSourceDirections : IUnknown
AdminAreaFieldName: String
Shields: IShields
StreetNameFields: IArray

CacheAttribute: Boolean
DisplayName: String
Name: String

INetworkEvaluator2

INetworkEvaluator2 : INetworkEvaluator
RequiredFieldNames: IStringArray

IEvaluatedNetworkAttribute : INetworkAttribute

Refresh

DefaultEvaluator (in ElementType:


esriNetworkElementType):
INetworkEvaluator
Evaluator (in NetworkSource:
INetworkSource, in Direction:
esriNetworkEdgeDirection):
INetworkEvaluator

IEvaluatedNetworkAttribute2

INetworkEvaluatorSetup

INetworkEvaluatorSetup : IUnknown
CLSID: IUID
Data: IPropertySet
DataHasEdits: Boolean

IEvaluatedNetworkAttribute2 :
IEvaluatedNetworkAttribute

Initialize (in NetworkDataset:


INetworkDataset, in DataElement:
IDENetworkDataset, in Source:
INetworkSource, in Attribute:
IEvaluatedNetworkAttribute)
QueryValue (in Element: INetworkElement,
in Row: IRow): Variant
SupportsDefault (in ElementType:
esriNetworkElementType, in Attribute:
IEvaluatedNetworkAttribute): Boolean
SupportsSource (in Source:
INetworkSource, in Attribute:
IEvaluatedNetworkAttribute): Boolean
ValidateDefault (in ElementType:
esriNetworkElementType, in Attribute:
IEvaluatedNetworkAttribute, in
ErrorCode: Long, in ErrorDescription:
String, in errorAppendInfo: String):
Boolean
ValidateSource (in datasetContainer:
IDatasetContainer2, in NetworkSource:
INetworkSource, in Attribute:
IEvaluatedNetworkAttribute, in
ErrorCode: Long, in ErrorDescription:
String, in errorAppendInfo: String):
Boolean

DENetworkDataset: IDENetworkDataset

INetworkSourceDirections2 :
INetworkSourceDirections

INetworkQuery2
esriNetworkJunctionConnectivityPolicy
0 - esriNJCPHonor
1 - esriNJCPOverride

esriNetworkRoadCategory
0 - esriNRCNone
1 - esriNRCLocal
2 - esriNRCSecondary
4 - esriNRCPrimary
6 - esriNRCMajor
7 - esriNRCAny

INetworkBuild
(optional)

esriNetworkSourceType
0 - esriNSTNetworkSource
1 - esriNSTSystemJunction
2 - esriNSTJunctionFeature
3 - esriNSTEdgeFeature
4 - esriNSTTurnFeature

ITurnFeatureSource

IDirectionsFieldMapping

ITurnFeatureSource : IUnknown

CombinedFieldName: String
NumberFieldName: String
ShieldCount: Long
ShieldDescription (in Index: Long): String
ShieldType (in Index: Long): String
TypeFieldName: String
UseCombinedField: Boolean

IDirectionsFieldMapping : IUnknown

AddShield (in Type: String, in Description:


String)
DeleteShield (in Index: Long)

ISupportErrorInfo

INetworkForwardStarEx : IUnknown
BacktrackPolicy:
esriNetworkForwardStarBacktrack
HierarchyAttribute: INetworkAttribute
IsForwardTraversal: Boolean
IsRestricted (in Element: INetworkElement):
Boolean
MaxTraversableHierarchyValue: Long
NetworkDataset: INetworkDataset
RestrictionAttribute (in Index: Long):
INetworkAttribute
RestrictionAttributeCount: Long
AddEdgeRestriction (in Edge:
INetworkEdge, in fromPosition: Double,
in toPosition: Double)
AddJunctionRestriction (in Junction:
INetworkJunction)
AddRestrictionAttribute (in Attribute:
INetworkAttribute)
AddTurnRestriction (in Turn: INetworkTurn)
AdjustEdgeAttributeValue (in Edge:
INetworkEdge, in fromPosition: Double,
in toPosition: Double, in Attribute:
INetworkAttribute, in adjustmentType:
esriNetworkAttributeAdjustmentType, in
Value: Variant)
AdjustJunctionAttributeValue (in Junction:
INetworkJunction, in Attribute:
INetworkAttribute, in adjustmentType:
esriNetworkAttributeAdjustmentType, in
Value: Variant)
AdjustTurnAttributeValue (in Turn:
INetworkTurn, in Attribute:
INetworkAttribute, in adjustmentType:
esriNetworkAttributeAdjustmentType, in
Value: Variant)
QueryAdjacencies (in atJunction:
INetworkJunction, in fromEdge:
INetworkEdge, in lastExteriorEdge:
INetworkEdge, in adjacencies:
INetworkForwardStarAdjacencies)
QueryAttributeCutoffRange (in Edge:
INetworkEdge, in Attribute:
INetworkAttribute, in queryPosition:
Double, in cutoffValue: Variant, out
fromPosition: Double, out toPosition:
Double)
QueryEdge (in EID: Long, in Direction:
esriNetworkEdgeDirection, in Edge:
INetworkEdge)
QueryJunction (in EID: Long, in Junction:
INetworkJunction)
QueryTraversableRange (in Edge:
INetworkEdge, in queryPosition: Double,
out fromPosition: Double, out toPosition:
Double, out isFromPositionAccessible:
Boolean, out isToPositionAccessible:
Boolean)
QueryTurn (in EID: Long, in Turn:
INetworkTurn)
RemoveAttributeValueAdjustments
RemoveElementRestrictions
RemoveRestrictionAttributes

IJunctionFeatureSource : IUnknown

EdgeFeatureSource

ClassConnectivityGroups: ILongArray
ClassConnectivityPolicy:
esriNetworkJunctionConnectivityPolicy
ElevationFieldName: String
SubtypeConnectivityGroups (in
SubtypeCode: Long): ILongArray
SubtypeConnectivityPolicy (in
SubtypeCode: Long):
esriNetworkJunctionConnectivityPolicy
UsesSubtypes: Boolean

IEdgeFeatureSource

StreetNameFields
IStreetNameFields

IEdgeFeatureSource : IUnknown
ClassConnectivityGroup: Long
ClassConnectivityPolicy:
esriNetworkEdgeConnectivityPolicy
FromElevationFieldName: String
SubtypeConnectivityGroup (in
SubtypeCode: Long): Long
SubtypeConnectivityPolicy (in
SubtypeCode: Long):
esriNetworkEdgeConnectivityPolicy
ToElevationFieldName: String
UsesSubtypes: Boolean

AddClassConnectivityGroup (in group:


Long)
AddSubtypeConnectivityGroup (in
SubtypeCode: Long, in group: Long)
RemoveAllClassConnectivityGroups
RemoveAllSubtypeConnectivityGroups (in
SubtypeCode: Long)

IStreetNameFields : IUnknown
PrefixDirectionFieldName: String
PrefixTypeFieldName: String
Priority: Long
StreetNameFieldName: String
SuffixDirectionFieldName: String
SuffixTypeFieldName: String

IStreetNameFields2

NetworkFieldEvaluator

IStreetNameFields2 : IStreetNameFields

INetworkFieldEvaluator

FullNameFieldName: String
HighwayDirectionFieldName: String
LanguageFieldName: String

GetExpression (in Expression: String, in


preLogic: String)
SetExpression (in Expression: String, in
preLogic: String)

NetworkScriptEvaluatorFunctions
INetworkScriptEvaluatorFunctions

NetworkForwardStarAdjacencies
INetworkForwardStarAdjacencies

INetworkConstantEvaluator

NetworkScriptEvaluator
INetworkScriptEvaluator

ConstantValue: Variant

INetworkScriptEvaluatorFunctions : IDispatch

GetExpression (in Expression: String, in


preLogic: String)
SetExpression (in Expression: String, in
preLogic: String)

ParameterValueByName (in
parameterName: String): Variant

NetworkFunctionEvaluator

INetworkForwardStarAdjacencies : IUnknown

INetworkFunctionEvaluator

Count: Long
HasTurn (in Index: Long): Boolean
HasTurnRestriction: Boolean

NetworkGlobalTurnDelayCategory
INetworkGlobalTurnDelayCategory
IClone
IXMLSerialize
IPersist
IPersistStream
IXMLVersionSupport

*
INetworkElement : IDispatch

ISupportErrorInfo

INetworkGlobalTurnDelayCategory : IUnknown
AngleCategory:
esriNetworkTurnAngleCategory
CrossRoadCategory:
esriNetworkRoadCategory
FromRoadCategory:
esriNetworkRoadCategory
Seconds: Double
ToRoadCategory:
esriNetworkRoadCategory

AttributeValue (in AttributeID: Long):


Variant
AttributeValueByName (in AttributeName:
String): Variant
EID: Long
ElementType: esriNetworkElementType
OID: Long
SourceID: Long

GetOperators (in returnDataType:


esriNetworkAttributeDataType):
IEnumBSTR

NetworkGlobalTurnDelayEvaluator
INetworkGlobalTurnDelayEvaluator

INetworkGlobalTurnDelayEvaluator : IUnknown
CustomPrimaryRoadCategoryMaxValue:
Long
CustomSecondaryRoadCategoryMaxValue:
Long
DefaultSeconds: Double
MaxReverseTurnDeflectionAngle: Long
MaxStraightTurnDeflectionAngle: Long
TurnDelayCategories: IArray
UseCustomRoadCategoryRanges: Boolean

Initialize (in Seconds: Double, in


AngleCategory:
esriNetworkTurnAngleCategory, in
FromRoadCategory:
esriNetworkRoadCategory, in
ToRoadCategory:
esriNetworkRoadCategory, in
CrossRoadCategory:
esriNetworkRoadCategory)

NetworkElement
INetworkElement

INetworkBuild : IUnknown
AddAttribute (in Attribute: INetworkAttribute)
AddSource (in Source: INetworkSource)
BuildNetwork (in areaToBuild: IEnvelope):
IEnvelope
DeleteAttribute (in Attribute:
INetworkAttribute)
DeleteSource (in Source: INetworkSource)
UpdateSchema (in DataElement:
IDENetworkDataset)

NetworkJunction
EnumNetworkElement
IEnumNetworkElement

INetworkJunction

INetworkJunction : INetworkElement

NetworkEdge
INetworkEdge

EdgeCount: Long
TurnCount: Long

IEnumNetworkElement : IUnknown

INetworkJunction2

QueryEdgeInOtherDirection (in Edge:


INetworkEdge): Any
QueryJunctions (in FromJunction:
INetworkJunction, in ToJunction:
INetworkJunction): Any
QueryPositions (out fromPosition: Double,
out toPosition: Double): Any
QueryTurn (in Index: Long, in Turn:
INetworkTurn): Any

INetworkJunction2 : INetworkJunction
AttributeValueAtTime (in AttributeID: Long,
in localTime: DATE, in timeUsage:
esriNetworkTimeUsage): Variant

NetworkTurn
esriNetworkTurnType
0 - esriNTTImplicit
1 - esriNTTExplicit

esriRoadClass
0 - esriRCUnknown
1 - esriRCStreet
2 - esriRCHighway
3 - esriRCRamp
4 - esriRCFerry
5 - esriRCRoundabout
6 - esriRCMajorRoad

INetworkTurn

INetworkTurn : INetworkElement
Angle: Double
EdgeCount: Long
TurnType: esriNetworkTurnType
QueryAtJunction (in Junction:
INetworkJunction): Any
QueryEdge (in Index: Long, in Edge:
INetworkEdge): Any

INetworkTurn2

INetworkEdge : INetworkElement
Direction: esriNetworkEdgeDirection
FromAzimuth: Double
PositionAlongObject (in
positionAlongElement: Double): Double
ToAzimuth: Double
TurnCount: Long
TurnParticipationType:
esriNetworkTurnParticipationType

QueryEdge (in Index: Long, in


leavingJunction: Boolean, in Edge:
INetworkEdge): Any
QueryPoint (in point: IPoint): Any
QueryTurn (in Index: Long, in Turn:
INetworkTurn): Any

Next: INetworkElement
Reset

INetworkFunctionEvaluator : IUnknown
FirstArgument: Variant
Operator: String
SecondArgument: Variant

QueryAtJunction (in Junction:


INetworkJunction)
QueryEdge (in Index: Long, in
adjacentEdge: INetworkEdge, out
fromPosition: Double, out toPosition:
Double)
QueryToJunction (in Index: Long, in
adjacentJunction: INetworkJunction, out
IsFiltered: Boolean)
QueryTurn (in Index: Long, in adjacentTurn:
INetworkTurn)

TimeZoneID (in networkElement:


INetworkElement): Long

INetworkConstantEvaluator : IUnknown

INetworkScriptEvaluator : IUnknown

NetworkEdgeTrafficEvaluator
IHistoricalTravelTimeEvaluator

SetCustomRoadCategoryMaxValues (in
maxPrimaryRoadValue: Long, in
maxSecondaryRoadValue: Long)

ITimeAwareEvaluator

INetworkTurn2 : INetworkTurn
AttributeValueAtTime (in AttributeID: Long,
in localTime: DATE, in timeUsage:
esriNetworkTimeUsage): Variant

QueryCoveredEdge (in Index: Long, in


Edge: INetworkEdge): Any
QueryCoveringHyperedge (in Edge:
INetworkEdge, out fromPosition: Double,
out toPosition: Double): Any

ITimeAwareEvaluator : IUnknown
QueryValueAtTime (in Element:
INetworkElement, in localTime: DATE, in
timeUsage: esriNetworkTimeUsage):
Variant

Types of Classes

Class Diagram
InterfaceA
Key (Optional)InterfaceB

AbstractClass

An abstract class cannot be used to create new objects but is a specification


for instances of subclasses (through type inheritance.)

Interface of interest

A CoClass can directly create objects by declaring a new object .


A Class cannot directly create objects, but objects of this class can be
created as a property of another class or instantiated by objects from
another class.

Type inheritance

Types of Relationships
Associations represent relationships between classes . They have defined
multiplicities at both ends.

CoClass
InterfaceD
InterfaceB

Instantiation
Composition

Interface of interest

Class
InterfaceG
InterfaceM
(<classname>)InterfaceO

INetworkEdge2 : INetworkEdge
AttributeValueAtTime (in AttributeID: Long,
in localTime: DATE, in timeUsage:
esriNetworkTimeUsage): Variant
CoveredEdgeCount: Long
HasCoveringHyperedge: Boolean
IsHyperedge: Boolean
PartialEdgeAttributeValue (in fromPosition:
Double, in toPosition: Double, in
AttributeID: Long): Variant
PartialEdgeAttributeValueAtTime (in
fromPosition: Double, in toPosition:
Double, in AttributeID: Long, in
localTime: DATE, in timeUsage:
esriNetworkTimeUsage): Variant

IHistoricalTravelTimeEvaluator : IUnknown
TimeNeutralAttributeName: String
WeekdayFallbackAttributeName: String
WeekendFallbackAttributeName: String

INetworkQuery2 : INetworkQuery

ConvertLocalTimeToUTCTime (in
localTimeZoneID: Long, in localTime:
DATE): DATE
ConvertUTCTimeToLocalTime (in
localTimeZoneID: Long, in utcTime:
DATE): DATE

INetworkFieldEvaluator : IUnknown

NetworkConstantEvaluator

INetworkEdge2

esriNetworkTurnParticipationType
0 - esriNTPTNone
1 - esriNTPTInterior
2 - esriNTPTExterior

IShields : IUnknown

FieldName (in Direction:


esriNetworkEdgeDirection): String
KeyName: String

esriNetworkTimeUsage
1 - esriNTUBeforeTraversal
2 - esriNTUAfterTraversal

esriNetworkTurnAngleCategory
0 - esriNTACStraight
1 - esriNTACReverse
2 - esriNTACRight
3 - esriNTACLeft

IShields

DirectionsFieldMapping

TurnFeatureSource

JunctionFeatureSource

DataElement: IDEDataset
Parent: IDataset

NetworkDatasetWorkspaceExtension

esriNetworkDatasetType
0 - esriNDTUnknown
1 - esriNDTGeodatabase
2 - esriNDTShapefile
3 - esriNDTSDC

EvaluatedNetworkAttribute

INetworkSourceDirections

INetworkEvaluator : IUnknown

IGPDescribe

IEvaluatedNetworkAttribute

INetworkSourceDirections2

ISystemJunctionSource : IUnknown

IDatasetComponent : IUnknown

NetworkForwardStar

esriNetworkAttributeDataType
0 - esriNADTInteger
1 - esriNADTFloat
2 - esriNADTDouble
3 - esriNADTBoolean

INetworkEvaluator

IDirectionsAttributeMapping : IUnknown

ID: Long

esriNetworkDatasetState
0 - esriNDSUnbuilt
1 - esriNDSBuilt
2 - esriNDSEmpty

NetworkEvaluator

IsTimeAware (ElementType:
esriNetworkElementType): Boolean

AttributeName: String
KeyName: String

ElevationFieldName: String

Init (in pWorkspaceHelper:


IWorkspaceHelper)
Shutdown

esriNetworkAttributeAdjustmentType
0 - esriNAATScale
1 - esriNAATAdd
2 - esriNAATReplace

IDirectionsAttributeMapping

ISignposts : IUnknown

INetworkAttribute3 : INetworkAttribute2

DirectionsAttributeMapping

*
ISystemJunctionSource

IDatasetComponent

FeatureDatasetName: IDatasetName

INetworkSource : IUnknown

SystemJunctionSource

IWorkspaceExtensionControl : IUnknown

INetworkDatasetName : IUnknown

INetworkDirections2 : INetworkDirections

Dataset in Geodatabase Core

DatasetByID (in Type: esriDatasetType, in


DatasetID: Long): IDataset

INetworkDatasetName

Shields

IDatasetContainer3 : IDatasetContainer2

NetworkDatasetName

DefaultValue: Variant
Name: String
Value: Variant
VarType: Long

Refresh

INetworkAttribute3

SignpostFeatureClassName: String
SignpostStreetsTableName: String

ElementType: esriNetworkElementType
ID: Long
Name: String
NetworkSourceDirections:
INetworkSourceDirections
Properties: IPropertySet
SourceType: esriNetworkSourceType
UsesGeometryInConnectivity: Boolean

INetworkAttributeParameter : IUnknown

0..1

CreateDataset (in DataElement:


IDEDataset): IDataset

INetworkAttribute2 : INetworkAttribute
Parameters: IArray
UseByDefault: Boolean

AttributeMappings: IArray

IGPDescribe

NetworkAttributeParameter
INetworkAttributeParameter

FieldMappings: IArray

Dataset (in Type: esriDatasetType, in


Index: Long): IDataset
DatasetByName (in Type: esriDatasetType,
in Name: String): IDataset
DatasetCount (in Type: esriDatasetType):
Long
DatasetNames (in Type: esriDatasetType):
IEnumDatasetName
Datasets (in Type: esriDatasetType):
IEnumDataset
DatasetTypes: IEnumDatasetType

IDatasetContainerName

DefaultOutputLengthUnits:
esriNetworkAttributeUnits
LengthAttributeName: String
RoadClassAttributeName: String
TimeAttributeName: String

INetworkDirections2

FirstTimeSliceFieldName: String
FirstTimeSliceStartTime: DATE
JoinTableBaseTravelTimeFieldName:
String
JoinTableBaseTravelTimeUnits:
esriNetworkAttributeUnits
JoinTableName: String
JoinTableProfileIDFieldNames: IStringArray
LastTimeSliceFieldName: String
ProfilesTableName: String
TimeSliceDurationInMinutes: Long

NetworkDatasetFDExtension

OwnsDatasetType (in DatasetType:


esriDatasetType): Boolean

INetworkAttribute2

NetworkSource
INetworkSource

IHistoricalTrafficData : IUnknown

DatasetByID (in Type: esriDatasetType, in


DatasetID: Long): IDataset

DataType: esriNetworkAttributeDataType
ID: Long
Name: String
Units: esriNetworkAttributeUnits
UsageType:
esriNetworkAttributeUsageType

INetworkDirections : IUnknown

TimeInterval: Double
TimeIntervalUnits: esriTimeUnits

IDatasetContainer3 : IDatasetContainer2

Workspace: IWorkspace

IWorkspaceExtension2
IDatasetContainer2
IDatasetContainer3

INetworkDirections

IDENetworkDataset2 : IDENetworkDataset

ITrafficData : IUnknown

INetworkAttribute : IUnknown

NetworkDirections

TrafficData
ITrafficData

NetworkAttribute

0..1

ISignposts

IWorkspaceExtension2 : IWorkspaceExtension

IWorkspaceExtensionControl

INetworkAttribute

0..1

CreateDataset (in DataElement:


IDEDataset): IDataset

IWorkspaceExtension : IUnknown

IDatasetContainer3
(optional)

Attributes: IArray
Buildable: Boolean
ConfigurationKeyword: String
Directions: INetworkDirections
HierarchyClusterAttribute: INetworkAttribute
HierarchyLevelCount: Long
MaxValueForHierarchy (in level: Long):
Long
NetworkType: esriNetworkDatasetType
Properties: IPropertySet
Sources: IArray
SupportsTurns: Boolean
UserData: IPropertySet

ElevationModel:
esriNetworkElevationModel
TimeZoneAttributeName: String
TimeZoneTableName: String
TrafficData: ITrafficData

Dataset (in Type: esriDatasetType, in


Index: Long): IDataset
DatasetByName (in Type: esriDatasetType,
in Name: String): IDataset
DatasetCount (in Type: esriDatasetType):
Long
DatasetNames (in Type: esriDatasetType):
IEnumDatasetName
Datasets (in Type: esriDatasetType):
IEnumDataset
DatasetTypes: IEnumDatasetType

GetNameObject (in DataElement:


IDataElement): IName

IDatasetContainer2
(optional)

IDENetworkDataset : IUnknown

Init (in Dataset: IFeatureDataset)

IWorkspaceDataElements2 :
IWorkspaceDataElements

IWorkspaceExtension2
(optional)

DENetworkDatasetType
IDENetworkDatasetType

FeatureDatasetExtension

GetDatasetDataElement (in pDatasetSpec:


IUnknown, in pBrowseOptions:
IDEBrowseOptions): IDataElement
GetWorkspaceDataElement (in
pBrowseOptions: IDEBrowseOptions):
IDataElement

IWorkspaceExtension

ESRI ArcGIS 10
Copyright 1999-2010 ESRI. All rights reserved. ESRI, ArcGIS, ArcObjects, and ArcMap are trademarks, registered trademarks, or service marks of ESRI in the United States, the
European Community, or certain other jurisdictions.

IWorkspaceDataElements : IUnknown

IWorkspaceDataElements2
(optional)

DEGeoDataset in
GP ValueObjects

FeatureDataset
IFeatureDatasetExtensionContainer

IWorkspaceExtensionManager : IUnknown

IWorkspaceDataElements
(optional)

DEGeoDatasetType in
GP DataTypes

GeoDataset in Geodatabase Core

Type inheritance defines specialized classes of objects which share


properties and methods with the superclass and have additional properties
and methods. Note that interfaces in superclasses are not duplicated in
subclasses.
Instantiation specifies that one object from one class has a method with
which it creates an object from another class .

Interface of interest

Composition is a relationship in which objects from the 'whole' class control


the lifetime of objects from the 'part' class.
An N-ary association specifies that more than two classes are associated . A
diamond is placed at the intersection of the association branches .

Association

Special Interfaces
(Optional) represents interfaces that are
inherited by some subclasses but not all .
The subclasses list the optional
interfaces they implement.
(Instance) represents interfaces that are
only on specific instances of the class .
(<classname>) indicates the name of the
helper class required to support this
event interface in Visual Basic.

1..*

Multiplicity

A Multiplicity is a constraint on the number of objects that can be associated


with another object. Association and composition relationships have
multiplicities on both sides. This is the notation for multiplicities:

Inbound Interface
Outbound Interface
Interface key
Property Get
Property Put
Property Get/Put
Property Put by Reference
Method

1 - One and only one (if none shown, '1' is implied)


enumeration
firstValue - firstEnumeration
secondValue - secondEnumeration

0..1 - Zero or one


M..N - From M to N (positive integers)
* or 0..* - From zero to any positive integer
1..* - From one to any positive integer

Structure key
firstMember: Type
secondMember: Type

<<Struct>>

ESRI ArcGIS 10
Copyright 1999-2010 ESRI. All rights reserved. ESRI, ArcGIS, ArcObjects, and ArcMap are trademarks, registered trademarks, or service
marks of ESRI in the United States, the European Community, or certain other jurisdictions.

RepresentationWorkspaceExtension
IRepresentationWorkspaceExtension
IworkspaceEvents
IWorkspaceExtension
IWorkspaceExtension2
IWorkspaceExtensionControl
ISupportErrorInfo
IDatasetContainer
IDatasetContainer2
IDatasetContainer3
esriSystem.ISupportErrorInfo

IRepresentationWorkspaceExtension : IUnknown

DatasetName in Geodatabase Core

FeatureClassHasRepresentations (in FeatureClass:


IFeatureClass): Boolean
FeatureClassRepresentationNames (in
FeatureClass: IFeatureClass):
IEnumDatasetName
RepresentationClassNames: IEnumDatasetName
CreateRepresentationClass (in FeatureClass:
IFeatureClass, in Name: String, in ruleIDFldName:
String, in overrideFldName: String, in
RequireShapeOverride: Boolean, in Rules:
IRepresentationRules, in ClassAttributes:
IGraphicAttributes): IRepresentationClass
OpenRepresentationClass (in Name: String):
IRepresentationClass

RepresentationClassName
IRepresentationClassName

IRepresentationClassName : IUnknown
OverrideFieldName: String
RuleIDFieldName: String

IDatasetName
IDatasetName2
esriSystem.IName
esriSystem.IPersist
esriSystem.IPersistStream
esriSystem.IDocumentVersionSupportGEN

RepresentationRules
IRepresentationRules

RepresentationClass
IRepresentationClass
IDataset
IDatasetComponent
ISchemaLock
esriSystem.ISupportErrorInfo

IRepresentationClass : IUnknown
FeatureClass: IFeatureClass
GraphicAttributes: IGraphicAttributes
ID: Long
OverrideFieldIndex: Long
RepresentationRules:
IRepresentationRules
RequireShapeOverride: Boolean
RuleIDFieldIndex: Long

AbstractClass

An abstract class cannot be used to create new objects but is a specification


for instances of subclasses (through type inheritance.)

Interface of interest

A CoClass can directly create objects by declaring a new object .


A Class cannot directly create objects, but objects of this class can be
created as a property of another class or instantiated by objects from
another class.

IRepresentationRules : IUnknown
Index (in ID: Long): Long
Name (in ID: Long): String
Rule (in ID: Long): IRepresentationRule

esriSystem.IClone
esriSystem.IPersist
esriSystem.IPersistStream
esriSystem.ISupportErrorInfo
esriSystem.IDocumentVersionSupportGEN
1

Types of Classes

Class Diagram
InterfaceA
Key (Optional)InterfaceB

Add (in repRule: IRepresentationRule):


Long
Exists (in ID: Long): Boolean
Next (out ID: Long, out repRule:
IRepresentationRule)
Remove (in ID: Long)
RemoveAll
Reset

Type inheritance

Types of Relationships
Associations represent relationships between classes . They have defined
multiplicities at both ends.

CoClass
InterfaceD
InterfaceB

Instantiation
Composition

Interface of interest

Class

GetRepresentation (in Feature: IFeature, in


MapContext: IMapContext):
IRepresentation
PrepareFilter (in filter: IQueryFilter)

InterfaceG
InterfaceM
(<classname>)InterfaceO

Type inheritance defines specialized classes of objects which share


properties and methods with the superclass and have additional properties
and methods. Note that interfaces in superclasses are not duplicated in
subclasses.
Instantiation specifies that one object from one class has a method with
which it creates an object from another class .

Interface of interest

Composition is a relationship in which objects from the 'whole' class control


the lifetime of objects from the 'part' class.
An N-ary association specifies that more than two classes are associated . A
diamond is placed at the intersection of the association branches .

Association

Special Interfaces

Representation
IRepresentation

RepresentationRule in esriDisplay

(Instance) represents interfaces that are


only on specific instances of the class .

IRepresentation : IUnknown
Feature: IFeature
Graphics: IRepresentationGraphics
HasShapeOverride: Boolean
MapContext: IMapContext
RepresentationClass: IRepresentationClass
RuleID: Long
Shape: IGeometry
ShapeCopy: IGeometry
ShapeEdit: IGeometry
Value (in attrs: IGraphicAttributes, in idx:
Long): Variant
RemoveShapeOverride
UpdateFeature

IOverride

IOverride

(<classname>) indicates the name of the


helper class required to support this
event interface in Visual Basic.

Enumerations

HasAttributeOverride: Boolean

esriDisplay.IGraphicsOutline
esriSystem.ISupportErrorInfo

IsOverridenWithField (in attrs:


IGraphicAttributes, in idx: Long): Long
RemoveOverride (in attrs:
IGraphicAttributes, in idx: Long)
RemoveOverrides

(Optional) represents interfaces that are


inherited by some subclasses but not all .
The subclasses list the optional
interfaces they implement.

esriRepresentationError
-2147218687 - REP_E_INVALID_REP_RULE_ID
-2147218686 - REP_E_REP_RULE_NAME_ALREADY_EXISTS
-2147218685 - REP_E_REP_CLASS_NOT_FOUND
-2147218684 - REP_E_REP_IS_FREE_GRAPHICS
-2147218683 - REP_E_REP_USES_REP_RULE
-2147218682 - REP_E_CANT_ACQUIRE_SCHEMA_LOCK
-2147218681 - REP_E_OBJECT_IS_DELETED
-2147218680 - REP_E_NO_REP_RULES
-2147218679 - REP_E_WORKSPACE_DOESNT_SUPPORT_REP_EXTENSION
-2147218678 - REP_E_FEATURE_TYPE_NOT_SUPPORTED
-2147218677 - REP_E_GEODATABASE_DOESNT_SUPPORT_REPRESENTATIONS
-2147218676 - REP_E_NO_REP_SYSTEM_TABLES
-2147218675 - REP_E_REP_CLASS_NAME_ALREADY_EXISTS
-2147218674 - REP_E_FIELD_NAME_ALREADY_EXISTS
-2147218673 - REP_E_NAME_HAS_INVALID_CHARACTERS
-2147218672 - REP_E_MUST_BE_THE_OWNER
-2147218671 - REP_E_INVALID_LICENSE
-2147218670 - REP_E_COMPRESSED_FEATURE_CLASS

1..*

Multiplicity

A Multiplicity is a constraint on the number of objects that can be associated


with another object. Association and composition relationships have
multiplicities on both sides. This is the notation for multiplicities:

Inbound Interface
Outbound Interface
Interface key
Property Get
Property Put
Property Get/Put
Property Put by Reference
Method

1 - One and only one (if none shown, '1' is implied)


enumeration
firstValue - firstEnumeration
secondValue - secondEnumeration

0..1 - Zero or one


M..N - From M to N (positive integers)
* or 0..* - From zero to any positive integer
1..* - From one to any positive integer

Structure key
firstMember: Type
secondMember: Type

<<Struct>>

Copyright 1999-2010 ESRI. All rights reserved. ESRI, ArcGIS, ArcObjects, and ArcMap are trademarks, registered trademarks, or service
marks of ESRI in the United States, the European Community, or certain other jurisdictions.

Workspace in
Geodatabase Core

IWorkspaceFactory
IWorkspaceFactory2
IRemoteDatabaseWorkspaceFactory
ISqlDefaultConnectionInfo

SqlWorkspaceFactory
In DataSourcesGDB

SqlWorkspace
In DataSourcesGDB
ISqlWorkspace
IDataset
IWorkspace
IWorkspaceProperties
ISQLSyntax
IDatabaseConnectionInfo
IDatabaseConnectionInfo2

ICursor
IFeatureCursor
(optional)

SqlCursor

QueryDescription
IQueryDescription

IQueryDescription : IUnknown

ISqlWorkspace : IUnknown

Fields: IFields
GeometryType: esriGeometryType
IsOIDMappedColumn: Boolean
IsSpatialQuery: Boolean
OIDColumnName: String
OIDFields: String
Query: String
ShapeColumnName: String
SpatialReference: ISpatialReference
Srid: String
UseApproximateExtent: Boolean

CheckDatasetName (in Name: String, in


pQueryDescription: IQueryDescription,
out pNewName: String)
GetColumns (in TableName: String, out
ppColumnName: IStringArray, out
ppColumnType: IStringArray, out
ppIsNullable: IVariantArray, out ppSize:
ILongArray, out ppPrecision: ILongArray,
out ppScale: ILongArray)
GetQueryDescription (in Query: String):
IQueryDescription
GetTables: IStringArray
OpenQueryClass (in Name: String, in
pQueryDescription: IQueryDescription):
ITable
OpenQueryCursor (in Query: String):
ICursor

IDataset
ITable
ITableCapabilities

SqlClass

IFeatureClass
(optional)
IGeoDataset
(optional)

Types of Classes

Class Diagram
InterfaceA
Key (Optional)InterfaceB

AbstractClass

An abstract class cannot be used to create new objects but is a specification


for instances of subclasses (through type inheritance.)

Interface of interest

A CoClass can directly create objects by declaring a new object .


A Class cannot directly create objects, but objects of this class can be
created as a property of another class or instantiated by objects from
another class.

Type inheritance

Types of Relationships
Associations represent relationships between classes. They have defined
multiplicities at both ends.

CoClass
InterfaceD
InterfaceB

Instantiation
Composition

Interface of interest

Class
InterfaceG
InterfaceM
(<classname>)InterfaceO

Type inheritance defines specialized classes of objects which share


properties and methods with the superclass and have additional properties
and methods. Note that interfaces in superclasses are not duplicated in
subclasses.
Instantiation specifies that one object from one class has a method with
which it creates an object from another class .

Interface of interest

Composition is a relationship in which objects from the 'whole' class control


the lifetime of objects from the 'part' class.
An N-ary association specifies that more than two classes are associated . A
diamond is placed at the intersection of the association branches .

Association

Special Interfaces
(Optional) represents interfaces that are
inherited by some subclasses but not all .
The subclasses list the optional
interfaces they implement.
(Instance) represents interfaces that are
only on specific instances of the class.
(<classname>) indicates the name of the
helper class required to support this
event interface in Visual Basic.

1..*

Multiplicity

A Multiplicity is a constraint on the number of objects that can be associated


with another object. Association and composition relationships have
multiplicities on both sides. This is the notation for multiplicities:

Inbound Interface
Outbound Interface
Interface key
Property Get
Property Put
Property Get/Put
Property Put by Reference
Method

1 - One and only one (if none shown, '1' is implied)


enumeration
firstValue - firstEnumeration
secondValue - secondEnumeration

0..1 - Zero or one


M..N - From M to N (positive integers)
* or 0..* - From zero to any positive integer
1..* - From one to any positive integer

Structure key
firstMember: Type
secondMember: Type

<<Struct>>

You might also like