com.esri.arcgis.geometry
Class IMultiPatchProxy

java.lang.Object
  extended bycom.esri.arcgis.interop.Dispatch
      extended bycom.esri.arcgis.geometry.IGeometryProxy
          extended bycom.esri.arcgis.geometry.IMultiPatchProxy
All Implemented Interfaces:
java.io.Externalizable, IGeometry, IMultiPatch, java.io.Serializable
Direct Known Subclasses:
IMultiPatch2Proxy

public class IMultiPatchProxy
extends IGeometryProxy
implements IMultiPatch, java.io.Serializable

Provides access to members that identify a MultiPatch and permit controlled access to its parts.

Product Availability

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

See Also:
Serialized Form

Field Summary
static java.lang.Class targetClass
           
 
Fields inherited from class com.esri.arcgis.interop.Dispatch
DISPATCH_METHOD, DISPATCH_PROPERTYGET, DISPATCH_PROPERTYPUT, DISPATCH_PROPERTYPUTREF
 
Constructor Summary
  IMultiPatchProxy()
          For internal use only
  IMultiPatchProxy(java.lang.Object obj)
           
protected IMultiPatchProxy(java.lang.Object obj, java.lang.String iid)
           
  IMultiPatchProxy(java.lang.String CLSID, java.lang.String host, AuthInfo authInfo)
           
protected IMultiPatchProxy(java.lang.String CLSID, java.lang.String iid, java.lang.String host, AuthInfo authInfo)
           
 
Method Summary
 void addListener(java.lang.String iidStr, java.lang.Object theListener, java.lang.Object theSource)
          Adds a Java object to be a listener for a specific kind of event generated by the COM object.
 IRing findBeginningRing(IRing followingRing)
          Returns the beginning ring of the ring group containing the specified following ring.
 int getBeginningRingCount(int ringTypesDesired)
          The number of beginning rings, counting only those of the desired types.
 int getFollowingRingCount(IRing beginningRing)
          The number of following rings in the ring group that starts with the specified beginning ring.
 int getRingType(IRing queryRing, boolean[] isBeginningRing)
          Gets the esriMultiPatchRingType of the input Ring and returns a boolean indicating if that ring is a beginning ring.
 IGeometry getXYFootprint()
          A reference to a cached copy of the multipatch's footprint in the x-y plane.
 void invalXYFootprint()
          Notifies the multipatch that its cached footprint has been modified by an outside agent.
 void putRingType(IRing queryRing, int ringType)
          Defines the type of the input Ring.
 void queryBeginningRings(int ringTypesDesired, int numBeginningRingsRequested, IRing[] beginningRings)
          Populates an array with references to all beginning rings of the specified types.
 void queryFollowingRings(IRing beginningRing, int numFollowingRingsRequested, IRing[] followingRings)
          Populates an array with references to following rings that are in the ring group that starts with the specified beginning ring.
 void removeListener(java.lang.String iidStr, java.lang.Object theListener)
          Removes a Java object as a listener to events generated by a COM object.
 
Methods inherited from class com.esri.arcgis.geometry.IGeometryProxy
geoNormalize, geoNormalizeFromLongitude, getDimension, getEnvelope, getGeometryType, getSpatialReference, isEmpty, project, queryEnvelope, setEmpty, setSpatialReferenceByRef, snapToSpatialReference
 
Methods inherited from class com.esri.arcgis.interop.Dispatch
bindUsingMoniker, convertToNative, cookieForListener, createDispatch, createObjrefMonikerDisplayName, equals, getActiveObject, getActiveObject, getDefaultProperty, getDispatchIdOfName, getLastErrorCode, getMtsObjectContext, getObjRef, getPropertyByName, getPropertyByName, hashCode, invoke, invokeMethodByName, invokeMethodByName, invokeMethodByName, invokePropertyGetByName, invokePropertyPutByName, invokePropertyPutByRefByName, isNativeMode, isObjRef, queryInterface, readExternal, setNativeMode, setPropertyByName, toString, vtblInvoke, writeExternal
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.esri.arcgis.geometry.IGeometry
geoNormalize, geoNormalizeFromLongitude, getDimension, getEnvelope, getGeometryType, getSpatialReference, isEmpty, project, queryEnvelope, setEmpty, setSpatialReferenceByRef, snapToSpatialReference
 

Field Detail

targetClass

public static final java.lang.Class targetClass
Constructor Detail

IMultiPatchProxy

public IMultiPatchProxy(java.lang.String CLSID,
                        java.lang.String host,
                        AuthInfo authInfo)
                 throws java.net.UnknownHostException,
                        java.io.IOException

IMultiPatchProxy

public IMultiPatchProxy()
For internal use only


IMultiPatchProxy

public IMultiPatchProxy(java.lang.Object obj)
                 throws java.io.IOException

IMultiPatchProxy

protected IMultiPatchProxy(java.lang.Object obj,
                           java.lang.String iid)
                    throws java.io.IOException

IMultiPatchProxy

protected IMultiPatchProxy(java.lang.String CLSID,
                           java.lang.String iid,
                           java.lang.String host,
                           AuthInfo authInfo)
                    throws java.io.IOException
Method Detail

addListener

public void addListener(java.lang.String iidStr,
                        java.lang.Object theListener,
                        java.lang.Object theSource)
                 throws java.io.IOException
Description copied from class: Dispatch
Adds a Java object to be a listener for a specific kind of event generated by the COM object. when you wish to invoke method on the COM object using IDispatch (not using custom marshalling).

Overrides:
addListener in class IGeometryProxy
Throws:
java.io.IOException

removeListener

public void removeListener(java.lang.String iidStr,
                           java.lang.Object theListener)
                    throws java.io.IOException
Description copied from class: Dispatch
Removes a Java object as a listener to events generated by a COM object. when you wish to invoke method on the COM object using IDispatch (not using custom marshalling).

Overrides:
removeListener in class IGeometryProxy
Throws:
java.io.IOException

findBeginningRing

public IRing findBeginningRing(IRing followingRing)
                        throws java.io.IOException,
                               AutomationException
Description copied from interface: IMultiPatch
Returns the beginning ring of the ring group containing the specified following ring.

Supported Platforms

Windows, Solaris, Linux

Specified by:
findBeginningRing in interface IMultiPatch
Parameters:
followingRing - A reference to a com.esri.arcgis.geometry.IRing (in)
Returns:
A reference to a com.esri.arcgis.geometry.IRing
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getBeginningRingCount

public int getBeginningRingCount(int ringTypesDesired)
                          throws java.io.IOException,
                                 AutomationException
Description copied from interface: IMultiPatch
The number of beginning rings, counting only those of the desired types.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getBeginningRingCount in interface IMultiPatch
Parameters:
ringTypesDesired - The ringTypesDesired (in)
Returns:
The beginningRingCount
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryBeginningRings

public void queryBeginningRings(int ringTypesDesired,
                                int numBeginningRingsRequested,
                                IRing[] beginningRings)
                         throws java.io.IOException,
                                AutomationException
Description copied from interface: IMultiPatch
Populates an array with references to all beginning rings of the specified types. This method is intended for internal use only.

Supported Platforms

Windows, Solaris, Linux

Specified by:
queryBeginningRings in interface IMultiPatch
Parameters:
ringTypesDesired - The ringTypesDesired (in)
numBeginningRingsRequested - The numBeginningRingsRequested (in)
beginningRings - A reference to a com.esri.arcgis.geometry.IRing (out: use single element array)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFollowingRingCount

public int getFollowingRingCount(IRing beginningRing)
                          throws java.io.IOException,
                                 AutomationException
Description copied from interface: IMultiPatch
The number of following rings in the ring group that starts with the specified beginning ring.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getFollowingRingCount in interface IMultiPatch
Parameters:
beginningRing - A reference to a com.esri.arcgis.geometry.IRing (in)
Returns:
The followingRingCount
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

queryFollowingRings

public void queryFollowingRings(IRing beginningRing,
                                int numFollowingRingsRequested,
                                IRing[] followingRings)
                         throws java.io.IOException,
                                AutomationException
Description copied from interface: IMultiPatch
Populates an array with references to following rings that are in the ring group that starts with the specified beginning ring. This method is intended for internal use only.

Supported Platforms

Windows, Solaris, Linux

Specified by:
queryFollowingRings in interface IMultiPatch
Parameters:
beginningRing - A reference to a com.esri.arcgis.geometry.IRing (in)
numFollowingRingsRequested - The numFollowingRingsRequested (in)
followingRings - A reference to a com.esri.arcgis.geometry.IRing (out: use single element array)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getRingType

public int getRingType(IRing queryRing,
                       boolean[] isBeginningRing)
                throws java.io.IOException,
                       AutomationException
Description copied from interface: IMultiPatch
Gets the esriMultiPatchRingType of the input Ring and returns a boolean indicating if that ring is a beginning ring.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getRingType in interface IMultiPatch
Parameters:
queryRing - A reference to a com.esri.arcgis.geometry.IRing (in)
isBeginningRing - The isBeginningRing (in/out: use single element array)
Returns:
A com.esri.arcgis.geometry.esriMultiPatchRingType constant
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

putRingType

public void putRingType(IRing queryRing,
                        int ringType)
                 throws java.io.IOException,
                        AutomationException
Description copied from interface: IMultiPatch
Defines the type of the input Ring.

Supported Platforms

Windows, Solaris, Linux

Remarks

 

IMultiPatch PutRingType Example

Specified by:
putRingType in interface IMultiPatch
Parameters:
queryRing - A reference to a com.esri.arcgis.geometry.IRing (in)
ringType - A com.esri.arcgis.geometry.esriMultiPatchRingType constant (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getXYFootprint

public IGeometry getXYFootprint()
                         throws java.io.IOException,
                                AutomationException
Description copied from interface: IMultiPatch
A reference to a cached copy of the multipatch's footprint in the x-y plane. If the footprint is modified, InvalXYFootprint should be called.

Supported Platforms

Windows, Solaris, Linux

Description

Returns the 2D projection of the MultiPatch to the XY-Plane.  The XY-Plane projection of a MultiPatch is called the "XYFootprint" of the MultiPatch.  The XYFootprint is used to display MultiPatches in a 2D environment as well as perform simple time-efficient calculations.

Remarks

To ensure that the XYFootpring is current (this is especially important if you directly modify the XYFootprint or one of the MultiPatch parts), call InvalXYFootprint.

IMultiPatch XYFootprint Example

Specified by:
getXYFootprint in interface IMultiPatch
Returns:
A reference to a com.esri.arcgis.geometry.IGeometry
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

invalXYFootprint

public void invalXYFootprint()
                      throws java.io.IOException,
                             AutomationException
Description copied from interface: IMultiPatch
Notifies the multipatch that its cached footprint has been modified by an outside agent. The footprint will be recalculated the next time it is requested.

Supported Platforms

Windows, Solaris, Linux

Description

InvalXYFootprint tells the MultiPatch that the XYFootprint it holds may have changed without its knowledge and needs to be recalculated before it can be used.  InvalXYFootprint should be called anytime the parts of the MultiPatch are altered without altering the MultiPatch as a whole.  Operations which operate on the entire MultiPatch or utilize the MultiPatch interfaces do not require InvalXYFootprint to be called.

Specified by:
invalXYFootprint in interface IMultiPatch
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.