com.esri.arcgis.geometry
Class GeometryEnvironment

java.lang.Object
  extended by com.esri.arcgis.geometry.GeometryEnvironment
All Implemented Interfaces:
IConstructAngle, IConstructClothoid, IConstructDomainExtent, IConstructMerge, IEncode3DProperties, IExtrude, IGeometryBridge, IGeometryBridge2, IGeometryEnvironment, IGeometryEnvironment2, IGeometryEnvironment3, IGeometryEnvironment4, IGeometryFactory, IGeometryFactory2, IGeometryFactory3, com.esri.arcgis.interop.RemoteObjRef, ISupportErrorInfo, Serializable

public class GeometryEnvironment
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, ISupportErrorInfo, IConstructAngle, IGeometryFactory, IGeometryFactory2, IGeometryFactory3, IGeometryEnvironment, IGeometryEnvironment2, IGeometryEnvironment3, IGeometryEnvironment4, IExtrude, IEncode3DProperties, IConstructDomainExtent, IGeometryBridge, IGeometryBridge2, IConstructMerge, IConstructClothoid

Provides a way of creating geometries from different inputs and setting/getting global variables for controlling behavior of geometry methods.

Remarks

This coclass is a Singleton.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

See Also:
Serialized Form

Constructor Summary
GeometryEnvironment()
          Constructs a GeometryEnvironment using ArcGIS Engine.
GeometryEnvironment(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
GeometryEnvironment theGeometryEnvironment = (GeometryEnvironment) obj;
 
Method Summary
 void addGeometries(IGeometryCollection pGeometryCollection, IGeometry[] newGeometries)
          Adds references to the specified geometries.
 void addPoints(IPointCollection4 pPointCollection, IPoint[] newPoints)
          Adds copies of the input points as vertices to this Path, Ring, Polyline, or Polygon; or references to the input points to this Multipoint, Triangles, TriangleFan, or TriangleStrip.
 void addSegments(ISegmentCollection pSegmentCollection, ISegment[] newSegments)
          Adds references to segments.
 void addWKSPoints(IPointCollection4 pPointCollection, _WKSPoint[] pointStructures)
          Adds vertices to this Path, Ring, Polyline, or Polygon, or adds new points to this Multipoint, Triangles, TriangleFan, or TriangleStrip.
 void addWKSPointZs(IPointCollection4 pPointCollection, _WKSPointZ[] pointStructures)
          Adds vertices/points to this Path, Ring, Polyline, Polygon, Multipoint, Triangles, TriangleFan, TriangleStrip, or MultiPatch.
 IEnumGeometry constructBuffers(ITopologicalOperator2 pTopologicalOperator, double[] distances)
          Constructs a set of buffers at various distances.
 IPolyline constructClothoidByAngle(IPoint pFrom, IPoint pFromTangent, boolean bCurveRight, double fromCurvature, double toCurvature, double deflectionAngle, int __MIDL__IConstructClothoid0001, double densifyParameter)
          Constructs a pieccewise linear approximation to a clothoid spiral.
 IPolyline constructClothoidByLength(IPoint pFrom, IPoint pFromTangent, boolean bCurveRight, double fromCurvature, double toCurvature, double curveLength, int __MIDL__IConstructClothoid0000, double densifyParameter)
          Constructs a pieccewise linear approximation to a clothoid spiral.
 IEnvelope constructDomainExtent(IEnvelope extent, double scale)
          Constructs a new envelope by expanding the input envelope about its center.
 double constructLine(ILine inLine)
          Constructs the angle between the infinite line containing the input line segment and the positive x-axis.
 void constructSplitClothoidByAngle(IPoint pSplitQuery, IPoint pFrom, IPoint pFromTangent, boolean bCurveRight, double fromCurvature, double toCurvature, double deflectionAngle, double[] pSplitCurvature, double[] pSplitLength, double[] pSplitAngle, ILine[] ppSplitTangent)
          Same as ConstructClothoidByAngle but reports curve parameters for point on curve closest to split query point.
 void constructSplitClothoidByLength(IPoint pSplitQuery, IPoint pFrom, IPoint pFromTangent, boolean bCurveRight, double fromCurvature, double toCurvature, double curveLength, double[] pSplitCurvature, double[] pSplitLength, double[] pSplitAngle, ILine[] ppSplitTangent)
          Same as ConstructClothoidByLength but reports curve parameters for point on curve closest to split query point.
 double constructThreePoint(IPoint from, IPoint through, IPoint to)
          Constructs the angle included in three points.
 void constructZMDomainExtent(double inMin, double inMax, double scale, double[] outMin, double[] outMax)
          (deprecated, use ConstructZMDomainExtent2) Constructs a low precision Z or M domain extent centered on the specified extent.
 void createEmptyGeometryByESRIType(int shapeType, IGeometry[] outGeometry)
          Create an empty geometry of the specified ESRI shape file type.
 void createEmptyGeometryByType(int geometryType, IGeometry[] outGeometry)
          Creates an empty geometry of the specified ArcObjects geometry type.
 void createGeometry(int[] byteCountInOut, byte[] geometryInfo, IGeometry[] outGeometry)
          Create a point, polyline, polygon, or multipoint from the specified shapefile format buffer.
 void createGeometryEx(int importFlags, int[] byteCountInOut, byte[] geometryInfo, IGeometry[] outGeometry)
          Create a point, polyline, polygon, or multipoint from the specified shapefile format buffer.
 IGeometry createGeometryFromEnumerator(IEnumGeometry geometries)
          Creates a geometry bag containing references to geometries returned by the input geometry enumerator.
 void createGeometryFromWkb(int[] byteCountInOut, byte[] geometryInfo, IGeometry[] outGeometry)
          Create a point, polyline, polygon, or multipoint from the specified OGIS WKB format buffer.
 void createGeometryFromWkbVariant(Object wkb, IGeometry[] outGeometry, int[] numBytesRead)
          Create a point, polyline, polygon, or multipoint from the specified OGIS WKB format buffer.
 Object createWkbVariantFromGeometry(IGeometry inGeometry)
          Creates an OGIS WKB format from a geometry object.
 void densify(ISegment pSegment, double maxDeviation, int[] pcOutSegments, ILine[][] segments)
          Densify segment into the specified number of smaller segments.
 boolean equals(Object o)
          Compare this object with another
 IGeometry extrude(double offsetZ, IGeometry baseGeom)
          Extrude using an input geometry as one base and offsetting the Zs already set on the input geometry to get the second base.
 IGeometry extrudeAbsolute(double toZ, IGeometry baseGeom)
          Extrude a geometry using its initial Zs for one base, and a uniform input Z for the other.
 IGeometry extrudeAlongLine(ILine extrusionLine, IGeometry baseGeom)
          Extrude a geometry along a specified line, using the Zs on the two ends of the line to set Zs on the top and bottom.
 IGeometry extrudeBetween(IFunctionalSurface fromSurface, IFunctionalSurface toSurface, IGeometry baseGeom)
          Extrude a geometry between two functional surfaces.
 IGeometry extrudeFromTo(double fromZ, double toZ, IGeometry baseGeom)
          Extrude a geometry between two specified Z values.
 IGeometry extrudeRelative(IVector3D extrusionVector, IGeometry baseGeom)
          Extrude a geometry along a specified vector, using Zs already set on the input geometry.
 double getAngularAutoDensifyTolerance()
          The default angular increment to be used with angular densification.
 double getAutoDensifyTolerance()
          The maximum distance by which on-the-fly deviation-based densification may differ from the original.
static String getClsid()
          getClsid.
 double getDeviationAutoDensifyTolerance()
          The default deviation distance to be used for curve segment densification.
 int getNoDiceLimit()
          Polygons with fewer than this number of vertices will not be drawn/printed as a collection of trapezoids.
 void getPoints(IPointCollection4 pPointCollection, int index, IPoint[][] points)
          Populates an array with references to points in the Multipoint.
 int hashCode()
          the hashcode for this object
 void insertGeometries(IGeometryCollection pGeometryCollection, int index, IGeometry[] newGeometries)
          Inserts at the specified index references to some number of geometries in the input array.
 void insertPoints(IPointCollection4 pPointCollection, int index, IPoint[] newPoints)
          Inserts copies of the input points as vertices into a Path, Ring, Polyline, or Polygon; or references to the input points into a Multipoint, Triangles, TriangleFan, or TriangleStrip.
 void insertSegments(ISegmentCollection pSegmentCollection, int index, ISegment[] newSegments)
          Inserts references to the input segments.
 void insertWKSPoints(IPointCollection4 pPointCollection, int index, _WKSPoint[] pointStructures)
          Inserts new vertices/points into this Path, Ring, Polyline, Polygon, Multipoint, Triangles, TriangleFan, TriangleStrip, or MultiPatch.
 void insertWKSPointZs(IPointCollection4 pPointCollection, int index, _WKSPointZ[] newPoints)
          Inserts new vertices/points into this Path, Ring, Polyline, Polygon, Multipoint, Triangles, TriangleFan, TriangleStrip, or MultiPatch.
 void interfaceSupportsErrorInfo(GUID riid)
          interfaceSupportsErrorInfo
 boolean isDiceWithTrapezoids()
          Selects dicing algorithm.
 boolean isDicingEnabled()
          Indicates whether large polygons are diced before being sent to GDI.
 boolean isExpandSubPixelParts()
          Selects export to WIN32 shape mode.
 boolean isPre81Compatibility()
          Indicates if some geometric operations are compatible with releases previous to 8.1.
 boolean isUseAlternativeTopoOps()
          Indicates whether alternative versions of polygon intersection and union should be used.
 IGeometry mergeGeometries(IGeometry pOriginal, IGeometry pEdit1, IGeometry pEdit2)
          Merges the representation from both versions of a geometry that has been modifed
 void packNormal(IVector3D normalVector, double[] packedNormal)
          Encodes a normal into part of a double.
 void packTexture2D(double textureS, double textureT, double[] packedTexture)
          Encodes texture coordinates into part of a double.
 void queryBeginningRings(IMultiPatch pMultiPatch, int ringTypesDesired, IRing[][] beginningRings)
          Populates an array with references to all beginning rings of the specified types.
 void queryFollowingRings(IMultiPatch pMultiPatch, IRing beginningRing, IRing[][] followingRings)
          Populates an array with references to following rings that are in the ring group that starts with the specified beginning ring.
 void queryGeometries(IGeometryCollection pGeometryCollection, int index, IGeometry[][] geometries)
          Populates the array with references to a sub-sequence of geometries.
 void queryPoints(IPointCollection4 pPointCollection, int index, IPoint[][] points)
          Copies some points to an existing array of points.
 void querySegments(ISegmentCollection pSegmentCollection, int index, ISegment[][] segments)
          Returns references to some of the input segments.
 void queryWKSPoints(IPointCollection4 pPointCollection, int index, _WKSPoint[][] pointStructures)
          Copies vertices'/points' coordinates to the array of point structures.
 void queryWKSPointZs(IPointCollection4 pPointCollection, int index, _WKSPointZ[][] pointStructures)
          Copies vertices/points coordinates to the array of point structures.
 void replacePoints(IPointCollection4 pPointCollection, int index, int goingAway, IPoint[] newPoints)
          Replaces vertices/points within a PointCollection.
 void replaceSegments(ISegmentCollection pSegmentCollection, int index, int goingAway, ISegment[] newSegments)
          Removes and inserts from segments.
 void setAngularAutoDensifyTolerance(double tolerance)
          The default angular increment to be used with angular densification.
 void setAutoDensifyTolerance(double tolerance)
          The maximum distance by which on-the-fly deviation-based densification may differ from the original.
 void setDeviationAutoDensifyTolerance(double tolerance)
          The default deviation distance to be used for curve segment densification.
 void setDiceWithTrapezoids(boolean diceWithTrapezoids)
          Selects dicing algorithm.
 void setDicingEnabled(boolean dicingEnabled)
          Indicates whether large polygons are diced before being sent to GDI.
 void setExpandSubPixelParts(boolean expandSubPixelParts)
          Selects export to WIN32 shape mode.
 void setGeometries(IGeometryCollection pGeometryCollection, IGeometry[] newGeometries)
          Replaces all geometries in the collection with the specified number of references to those in the input array.
 void setNoDiceLimit(int cMaxPoints)
          Polygons with fewer than this number of vertices will not be drawn/printed as a collection of trapezoids.
 void setPoints(IPointCollection4 pPointCollection, IPoint[] newPoints)
          Replaces all existing vertices of this Path, Ring, Polyline, or Polygon with copies of the input points; or all existing points of this Multipoint, Triangles, TriangleFan, or TriangleStrip with references to the input points.
 void setPre81Compatibility(boolean pre81Compatible)
          Indicates if some geometric operations are compatible with releases previous to 8.1.
 void setSegments(ISegmentCollection pSegmentCollection, ISegment[] newSegments)
          Replaces all segments with references to the input segments.
 void setUseAlternativeTopoOps(boolean alternativeTopoOps)
          Indicates whether alternative versions of polygon intersection and union should be used.
 void setWKSPoints(IPointCollection4 pPointCollection, _WKSPoint[] pointStructures)
          Replaces all vertices of this Path, Ring, Polyline, or Polygon with new ones, or replaces all points of this Multipoint, Triangles, TriangleFan, or TriangleStrip with new ones.
 void setWKSPointZs(IPointCollection4 pPointCollection, _WKSPointZ[] pointStructures)
          Replaces all vertices/points of this Path, Ring, Polyline, Polygon, Multipoint, Triangles, TriangleFan, TriangleStrip, or MultiPatch with new ones.
 IEnumSplitPoint splitAtDistances(IPolycurve2 polyCurve, double[] distances, boolean asRatios, boolean createParts)
          Introduces new vertices into this polyline at specified distances from the beginning of the polyline.
 void splitDivideLength(ISegment pSegment, double offset, double length, boolean asRatio, int[] numSplitSegments, ISegment[][] splitSegments)
          Divide segment into smaller segments of the specified length.
 void unPackNormal(double packedNormal, IVector3D normalVector, boolean[] wasProductive)
          Decodes a normal from a double.
 void unPackTexture2D(double packedTextureST, double[] textureS, double[] textureT, boolean[] wasProductive)
          Decodes texture coordinates.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.esri.arcgis.interop.RemoteObjRef
getJintegraDispatch, release
 

Constructor Detail

GeometryEnvironment

public GeometryEnvironment()
                    throws IOException,
                           UnknownHostException
Constructs a GeometryEnvironment using ArcGIS Engine.

Throws:
IOException - if there are interop problems
UnknownHostException - if there are interop problems

GeometryEnvironment

public GeometryEnvironment(Object obj)
                    throws IOException
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
GeometryEnvironment theGeometryEnvironment = (GeometryEnvironment) obj;

Construct a GeometryEnvironment using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to GeometryEnvironment.

Parameters:
obj - an object returned from ArcGIS Engine or Server
Throws:
IOException - if there are interop problems
Method Detail

getClsid

public static String getClsid()
getClsid.


equals

public boolean equals(Object o)
Compare this object with another

Overrides:
equals in class Object

hashCode

public int hashCode()
the hashcode for this object

Overrides:
hashCode in class Object

interfaceSupportsErrorInfo

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

Description

Indicates whether the interface supports IErrorInfo.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

constructThreePoint

public double constructThreePoint(IPoint from,
                                  IPoint through,
                                  IPoint to)
                           throws IOException,
                                  AutomationException
Constructs the angle included in three points.

Description

ConstructThreePoint returns the Angle formed by three input points. The returned angle is the smaller angle formed by an imaginary line from the first to the second point and the second to the third point. The measure of the constructed angle is between -Pi and Pi. The returned angle can also be thought of as the displacement angle of a line from the second point to the third point with a baseline formed by the first point and second point.

Remarks

ConstructAngle ConstructThreePoint Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
constructThreePoint in interface IConstructAngle
Parameters:
from - A reference to a com.esri.arcgis.geometry.IPoint (in)
through - A reference to a com.esri.arcgis.geometry.IPoint (in)
to - A reference to a com.esri.arcgis.geometry.IPoint (in)
Returns:
The outAngle
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IConstructAngle.constructLine(com.esri.arcgis.geometry.ILine), IConstructAngle.constructThreePoint(com.esri.arcgis.geometry.IPoint, com.esri.arcgis.geometry.IPoint, com.esri.arcgis.geometry.IPoint)

constructLine

public double constructLine(ILine inLine)
                     throws IOException,
                            AutomationException
Constructs the angle between the infinite line containing the input line segment and the positive x-axis.

Description

ConstructLine returns the Angle defined by a given Line input. This is the same Angle returned by the ILine::Angle method. The Angle is displacement of the Line from a baseline through the From Point extending in the positive X direction. The returned angle is the smaller angle with measure between -Pi and Pi.

Remarks

IConstructAngle ConstructLine Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
constructLine in interface IConstructAngle
Parameters:
inLine - A reference to a com.esri.arcgis.geometry.ILine (in)
Returns:
The outAngle
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IConstructAngle.constructLine(com.esri.arcgis.geometry.ILine), IConstructAngle.constructThreePoint(com.esri.arcgis.geometry.IPoint, com.esri.arcgis.geometry.IPoint, com.esri.arcgis.geometry.IPoint)

createGeometry

public void createGeometry(int[] byteCountInOut,
                           byte[] geometryInfo,
                           IGeometry[] outGeometry)
                    throws IOException,
                           AutomationException
Create a point, polyline, polygon, or multipoint from the specified shapefile format buffer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
createGeometry in interface IGeometryFactory
Parameters:
byteCountInOut - The byteCountInOut (in/out: use single element array)
geometryInfo - An unsigned byte (in)
outGeometry - A reference to a com.esri.arcgis.geometry.IGeometry (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createGeometryFromWkb

public void createGeometryFromWkb(int[] byteCountInOut,
                                  byte[] geometryInfo,
                                  IGeometry[] outGeometry)
                           throws IOException,
                                  AutomationException
Create a point, polyline, polygon, or multipoint from the specified OGIS WKB format buffer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
createGeometryFromWkb in interface IGeometryFactory
Parameters:
byteCountInOut - The byteCountInOut (in/out: use single element array)
geometryInfo - An unsigned byte (in)
outGeometry - A reference to a com.esri.arcgis.geometry.IGeometry (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createEmptyGeometryByESRIType

public void createEmptyGeometryByESRIType(int shapeType,
                                          IGeometry[] outGeometry)
                                   throws IOException,
                                          AutomationException
Create an empty geometry of the specified ESRI shape file type.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
createEmptyGeometryByESRIType in interface IGeometryFactory
Parameters:
shapeType - A com.esri.arcgis.geometry.esriShapeType constant (in)
outGeometry - A reference to a com.esri.arcgis.geometry.IGeometry (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createEmptyGeometryByType

public void createEmptyGeometryByType(int geometryType,
                                      IGeometry[] outGeometry)
                               throws IOException,
                                      AutomationException
Creates an empty geometry of the specified ArcObjects geometry type.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
createEmptyGeometryByType in interface IGeometryFactory
Parameters:
geometryType - A com.esri.arcgis.geometry.esriGeometryType constant (in)
outGeometry - A reference to a com.esri.arcgis.geometry.IGeometry (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createGeometryFromWkbVariant

public void createGeometryFromWkbVariant(Object wkb,
                                         IGeometry[] outGeometry,
                                         int[] numBytesRead)
                                  throws IOException,
                                         AutomationException
Create a point, polyline, polygon, or multipoint from the specified OGIS WKB format buffer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
createGeometryFromWkbVariant in interface IGeometryFactory
Parameters:
wkb - A Variant (in)
outGeometry - A reference to a com.esri.arcgis.geometry.IGeometry (out: use single element array)
numBytesRead - The numBytesRead (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IEnvelope, IGeometry

createGeometryFromEnumerator

public IGeometry createGeometryFromEnumerator(IEnumGeometry geometries)
                                       throws IOException,
                                              AutomationException
Creates a geometry bag containing references to geometries returned by the input geometry enumerator.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
createGeometryFromEnumerator in interface IGeometryFactory
Parameters:
geometries - A reference to a com.esri.arcgis.geometry.IEnumGeometry (in)
Returns:
A reference to a com.esri.arcgis.geometry.IGeometry
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createWkbVariantFromGeometry

public Object createWkbVariantFromGeometry(IGeometry inGeometry)
                                    throws IOException,
                                           AutomationException
Creates an OGIS WKB format from a geometry object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
createWkbVariantFromGeometry in interface IGeometryFactory2
Parameters:
inGeometry - A reference to a com.esri.arcgis.geometry.IGeometry (in)
Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createGeometryEx

public void createGeometryEx(int importFlags,
                             int[] byteCountInOut,
                             byte[] geometryInfo,
                             IGeometry[] outGeometry)
                      throws IOException,
                             AutomationException
Create a point, polyline, polygon, or multipoint from the specified shapefile format buffer.

Product Availability

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

Specified by:
createGeometryEx in interface IGeometryFactory3
Parameters:
importFlags - The importFlags (in)
byteCountInOut - The byteCountInOut (in/out: use single element array)
geometryInfo - An unsigned byte (in)
outGeometry - A reference to a com.esri.arcgis.geometry.IGeometry (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setNoDiceLimit

public void setNoDiceLimit(int cMaxPoints)
                    throws IOException,
                           AutomationException
Polygons with fewer than this number of vertices will not be drawn/printed as a collection of trapezoids.

Remarks



Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getNoDiceLimit

public int getNoDiceLimit()
                   throws IOException,
                          AutomationException
Polygons with fewer than this number of vertices will not be drawn/printed as a collection of trapezoids.

Remarks


NoDiceLimit
controls how many vertices must be in the polygon when exporting the geometry to a format that can be directly used by the Win32 drawing API. By default, the limit is 20,000 vertices.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getNoDiceLimit in interface IGeometryEnvironment
Returns:
The cMaxPoints
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setAutoDensifyTolerance

public void setAutoDensifyTolerance(double tolerance)
                             throws IOException,
                                    AutomationException
The maximum distance by which on-the-fly deviation-based densification may differ from the original. If the value is less than or equal to zero, the system will try to pick a reasonable tolerance at the time of densification.

Description

The AutoDensifyTolerance value represents the maximum length that densified line segments should have. The value is used to densify straight lines only. To set an automatic densification tolerance value for curves, use IGeometryEnvironment2::DeviationAutoDensifyTolerance.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getAutoDensifyTolerance

public double getAutoDensifyTolerance()
                               throws IOException,
                                      AutomationException
The maximum distance by which on-the-fly deviation-based densification may differ from the original. If the value is less than or equal to zero, the system will try to pick a reasonable tolerance at the time of densification.

Description

The AutoDensifyTolerance value represents the maximum length that densified line segments should have. The value is used to densify straight line segments only. To set an automatic densification tolerance value for curves, use IGeometryEnvironment2::DeviationAutoDensifyTolerance.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getAutoDensifyTolerance in interface IGeometryEnvironment
Returns:
The tolerance
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setPre81Compatibility

public void setPre81Compatibility(boolean pre81Compatible)
                           throws IOException,
                                  AutomationException
Indicates if some geometric operations are compatible with releases previous to 8.1. When set to false, return errors for some illegal relational operations (default is true).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isPre81Compatibility

public boolean isPre81Compatibility()
                             throws IOException,
                                    AutomationException
Indicates if some geometric operations are compatible with releases previous to 8.1. When set to false, return errors for some illegal relational operations (default is true).

Description

Returns and sets the flag indicating the preference for extending compatibility with Pre-ArcInfo 8.1 releases at the cost of allowing improperly used IRelationalOperator comparisons to return meaningless false values. If Pre81Compatibility = TRUE, meaningless comparisons of non-Clementini geometries using Clementini relational operators returns FALSE (Even though no meaningful relation actual took place). If Pre81Compatibility = FALSE, these comparisons will return an error message indicating that the attempted comparison is invalid and would not have returned meaningful results. By default, Pre81Compatibility = TRUE.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isPre81Compatibility in interface IGeometryEnvironment2
Returns:
The pre81Compatible
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setAngularAutoDensifyTolerance

public void setAngularAutoDensifyTolerance(double tolerance)
                                    throws IOException,
                                           AutomationException
The default angular increment to be used with angular densification.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getAngularAutoDensifyTolerance

public double getAngularAutoDensifyTolerance()
                                      throws IOException,
                                             AutomationException
The default angular increment to be used with angular densification.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getAngularAutoDensifyTolerance in interface IGeometryEnvironment2
Returns:
The tolerance
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDeviationAutoDensifyTolerance

public void setDeviationAutoDensifyTolerance(double tolerance)
                                      throws IOException,
                                             AutomationException
The default deviation distance to be used for curve segment densification.

Description

The DeviationAutoDensify controls the Densification factor use when performing automatic densification in ArcGIS. The automatic densification is used when exporting a feature class containing non-linear segments (CircularArc, EllipticArc, BezierCurve) to other files that don’t support non-linear segments. For example, when exporting to shapefile this parameter is used.

Remarks

Note : The number used here is the actual MaxDeviation. (see IPolycurve::Densify for more details)

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getDeviationAutoDensifyTolerance

public double getDeviationAutoDensifyTolerance()
                                        throws IOException,
                                               AutomationException
The default deviation distance to be used for curve segment densification.

Description

The DeviationAutoDensify controls the Densification factor use when performing automatic densification in ArcGIS. The automatic densification is used when exporting a feature class containing non-linear segments (CircularArc, EllipticArc, BezierCurve) to other file that don’t support non-linear segments. For example, when exporting to shapefile this parameter is used.

Remarks

Note : The number used here is the actual MaxDeviation. (see IPolycurve::Densify for more details)

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getDeviationAutoDensifyTolerance in interface IGeometryEnvironment2
Returns:
The tolerance
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setUseAlternativeTopoOps

public void setUseAlternativeTopoOps(boolean alternativeTopoOps)
                              throws IOException,
                                     AutomationException
Indicates whether alternative versions of polygon intersection and union should be used.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isUseAlternativeTopoOps

public boolean isUseAlternativeTopoOps()
                                throws IOException,
                                       AutomationException
Indicates whether alternative versions of polygon intersection and union should be used.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isUseAlternativeTopoOps in interface IGeometryEnvironment2
Returns:
The alternativeTopoOps
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isDicingEnabled

public boolean isDicingEnabled()
                        throws IOException,
                               AutomationException
Indicates whether large polygons are diced before being sent to GDI. True by default.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isDicingEnabled in interface IGeometryEnvironment3
Returns:
The dicingEnabled
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDicingEnabled

public void setDicingEnabled(boolean dicingEnabled)
                      throws IOException,
                             AutomationException
Indicates whether large polygons are diced before being sent to GDI. True by default.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isDiceWithTrapezoids

public boolean isDiceWithTrapezoids()
                             throws IOException,
                                    AutomationException
Selects dicing algorithm. True means dicing with trapezoids, False means dicing with smaller polygons and polypolygons. True by default.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isDiceWithTrapezoids in interface IGeometryEnvironment4
Returns:
The diceWithTrapezoids
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDiceWithTrapezoids

public void setDiceWithTrapezoids(boolean diceWithTrapezoids)
                           throws IOException,
                                  AutomationException
Selects dicing algorithm. True means dicing with trapezoids, False means dicing with smaller polygons and polypolygons. True by default.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isExpandSubPixelParts

public boolean isExpandSubPixelParts()
                              throws IOException,
                                     AutomationException
Selects export to WIN32 shape mode. True means export without loss of sub-pixel parts, False means eliminating parts that degenerate into single pixel. False by default.

Product Availability

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

Specified by:
isExpandSubPixelParts in interface IGeometryEnvironment4
Returns:
The expandSubPixelParts
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setExpandSubPixelParts

public void setExpandSubPixelParts(boolean expandSubPixelParts)
                            throws IOException,
                                   AutomationException
Selects export to WIN32 shape mode. True means export without loss of sub-pixel parts, False means eliminating parts that degenerate into single pixel. False by default.

Product Availability

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

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

extrudeFromTo

public IGeometry extrudeFromTo(double fromZ,
                               double toZ,
                               IGeometry baseGeom)
                        throws IOException,
                               AutomationException
Extrude a geometry between two specified Z values.

Description

Creates a MultiPatch or Polyline from a base geometry by extruding the base geometry along the Z-axis from a given FromZ input to a given ToZ input. The base Z value of the geometry is uniformly set to the FromZ and top Z value is set to a uniform ToZ. The resulting extrusion is always parallel to the XY-plane on both the base and top.

Remarks

All non-linear segments are treated as linear segments when extrusion is performed. Only Polylines, Polygons, Envelopes, Points, and Multipoints are allowed as input geometries. Polylines, Polygons, and Envelopes will output MultiPatches while Points and Multipoints will output Polylines.

IExtrude ExtrudeFromTo Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
extrudeFromTo in interface IExtrude
Parameters:
fromZ - The fromZ (in)
toZ - The toZ (in)
baseGeom - A reference to a com.esri.arcgis.geometry.IGeometry (in)
Returns:
A reference to a com.esri.arcgis.geometry.IGeometry
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IExtrude.extrude(double, com.esri.arcgis.geometry.IGeometry), IConstructMultiPatch.constructExtrudeFromTo(double, double, com.esri.arcgis.geometry.IGeometry), IGlobeHeightProperties.getExtrusionExpressionString(), IExtrude.extrudeRelative(com.esri.arcgis.geometry.IVector3D, com.esri.arcgis.geometry.IGeometry), IConstructMultiPatch.constructExtrudeBetween(com.esri.arcgis.geometry.IFunctionalSurface, com.esri.arcgis.geometry.IFunctionalSurface, com.esri.arcgis.geometry.IGeometry), IExtrude, IConstructMultiPatch.constructExtrudeAlongLine(com.esri.arcgis.geometry.ILine, com.esri.arcgis.geometry.IGeometry), IExtrude.extrudeAlongLine(com.esri.arcgis.geometry.ILine, com.esri.arcgis.geometry.IGeometry), IExtrude.extrudeBetween(com.esri.arcgis.geometry.IFunctionalSurface, com.esri.arcgis.geometry.IFunctionalSurface, com.esri.arcgis.geometry.IGeometry), IConstructMultiPatch.constructExtrude(double, com.esri.arcgis.geometry.IGeometry), IExtrude.extrudeAbsolute(double, com.esri.arcgis.geometry.IGeometry), IConstructMultiPatch.constructExtrudeAbsolute(double, com.esri.arcgis.geometry.IGeometry), IConstructMultiPatch, IExtrude.extrudeFromTo(double, double, com.esri.arcgis.geometry.IGeometry), IConstructMultiPatch.constructExtrudeRelative(com.esri.arcgis.geometry.IVector3D, com.esri.arcgis.geometry.IGeometry)

extrudeAbsolute

public IGeometry extrudeAbsolute(double toZ,
                                 IGeometry baseGeom)
                          throws IOException,
                                 AutomationException
Extrude a geometry using its initial Zs for one base, and a uniform input Z for the other.

Description

Creates a MultiPatch or Polyline from a base geometry by extruding the base geometry along the Z-axis from the base geometry to a given absolute Z plane. The base Z value of the geometry is preserved and top Z value is uniformly equal to the input absolute Z. The resulting extrusion is always parallel to the XY-plane on the top and only parallel at the base if the base geometry is parallel to the XY-plane. The input geometry should be ZAware and ZSimple.

Remarks

All non-linear segments are treated as linear segments when extrusion is performed. Only Polylines, Polygons, Envelopes, Points, and Multipoints are allowed as input geometries. Polylines, Polygons, and Envelopes will output MultiPatches while Points and Multipoints will output Polylines.

IExtrude ExtrudeAbsolute Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
extrudeAbsolute in interface IExtrude
Parameters:
toZ - The toZ (in)
baseGeom - A reference to a com.esri.arcgis.geometry.IGeometry (in)
Returns:
A reference to a com.esri.arcgis.geometry.IGeometry
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IExtrude.extrude(double, com.esri.arcgis.geometry.IGeometry), IConstructMultiPatch.constructExtrudeFromTo(double, double, com.esri.arcgis.geometry.IGeometry), IGlobeHeightProperties.getExtrusionExpressionString(), IExtrude.extrudeRelative(com.esri.arcgis.geometry.IVector3D, com.esri.arcgis.geometry.IGeometry), IConstructMultiPatch.constructExtrudeBetween(com.esri.arcgis.geometry.IFunctionalSurface, com.esri.arcgis.geometry.IFunctionalSurface, com.esri.arcgis.geometry.IGeometry), IExtrude, IConstructMultiPatch.constructExtrudeAlongLine(com.esri.arcgis.geometry.ILine, com.esri.arcgis.geometry.IGeometry), IExtrude.extrudeAlongLine(com.esri.arcgis.geometry.ILine, com.esri.arcgis.geometry.IGeometry), IExtrude.extrudeBetween(com.esri.arcgis.geometry.IFunctionalSurface, com.esri.arcgis.geometry.IFunctionalSurface, com.esri.arcgis.geometry.IGeometry), IConstructMultiPatch.constructExtrude(double, com.esri.arcgis.geometry.IGeometry), IExtrude.extrudeAbsolute(double, com.esri.arcgis.geometry.IGeometry), IConstructMultiPatch.constructExtrudeAbsolute(double, com.esri.arcgis.geometry.IGeometry), IConstructMultiPatch, IExtrude.extrudeFromTo(double, double, com.esri.arcgis.geometry.IGeometry), IConstructMultiPatch.constructExtrudeRelative(com.esri.arcgis.geometry.IVector3D, com.esri.arcgis.geometry.IGeometry)

extrudeBetween

public IGeometry extrudeBetween(IFunctionalSurface fromSurface,
                                IFunctionalSurface toSurface,
                                IGeometry baseGeom)
                         throws IOException,
                                AutomationException
Extrude a geometry between two functional surfaces.

Description

Constructs a MultiPatch or Polyline from a base geometry and two input FunctionalSurfaces. The constructed MultiPatch is equivalent to the region of extrusion of the base geometry along the Z-axis that is bounded on top and bottom by the two FunctionalSurfaces. Only the portion of the input geometry in the region of intersection of the domains of the FunctionalSurfaces is extruded.

Remarks

All non-linear segments are treated as linear segments when extrusion is performed. Only Polylines, Polygons, Envelopes, Points, and Multipoints are allowed as input geometries. Polylines, Polygons, and Envelopes will output MultiPatches while Points and Multipoints will output Polylines. Z values from the FunctionalSurfaces are only calculated at Points in the input Geometry.

IExtrude ExtrudeBetween Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
extrudeBetween in interface IExtrude
Parameters:
fromSurface - A reference to a com.esri.arcgis.geometry.IFunctionalSurface (in)
toSurface - A reference to a com.esri.arcgis.geometry.IFunctionalSurface (in)
baseGeom - A reference to a com.esri.arcgis.geometry.IGeometry (in)
Returns:
A reference to a com.esri.arcgis.geometry.IGeometry
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IExtrude.extrude(double, com.esri.arcgis.geometry.IGeometry), IConstructMultiPatch.constructExtrudeFromTo(double, double, com.esri.arcgis.geometry.IGeometry), IGlobeHeightProperties.getExtrusionExpressionString(), IExtrude.extrudeRelative(com.esri.arcgis.geometry.IVector3D, com.esri.arcgis.geometry.IGeometry), IConstructMultiPatch.constructExtrudeBetween(com.esri.arcgis.geometry.IFunctionalSurface, com.esri.arcgis.geometry.IFunctionalSurface, com.esri.arcgis.geometry.IGeometry), IExtrude, IConstructMultiPatch.constructExtrudeAlongLine(com.esri.arcgis.geometry.ILine, com.esri.arcgis.geometry.IGeometry), IExtrude.extrudeAlongLine(com.esri.arcgis.geometry.ILine, com.esri.arcgis.geometry.IGeometry), IExtrude.extrudeBetween(com.esri.arcgis.geometry.IFunctionalSurface, com.esri.arcgis.geometry.IFunctionalSurface, com.esri.arcgis.geometry.IGeometry), IConstructMultiPatch.constructExtrude(double, com.esri.arcgis.geometry.IGeometry), IExtrude.extrudeAbsolute(double, com.esri.arcgis.geometry.IGeometry), IConstructMultiPatch.constructExtrudeAbsolute(double, com.esri.arcgis.geometry.IGeometry), IConstructMultiPatch, IExtrude.extrudeFromTo(double, double, com.esri.arcgis.geometry.IGeometry), IConstructMultiPatch.constructExtrudeRelative(com.esri.arcgis.geometry.IVector3D, com.esri.arcgis.geometry.IGeometry)

extrudeAlongLine

public IGeometry extrudeAlongLine(ILine extrusionLine,
                                  IGeometry baseGeom)
                           throws IOException,
                                  AutomationException
Extrude a geometry along a specified line, using the Zs on the two ends of the line to set Zs on the top and bottom.

Description

Creates a MultiPatch or Polyline from a base geometry by extruding the base geometry along an axis defined by the input Line. The base Z value of the geometry is uniformly set to the Z value of the Along Line's FromPoint and top Z value is uniformly set to the Z value of the Along Line's ToPoint. The top geometry is also shifted in the X and Y directions by an offset defined by the X and Y change of the Along Line between From and To Points. The resulting extrusion is always parallel to the XY-plane on both the base and top. The input line should be ZAware and ZSimple.

Remarks

All non-linear segments are treated as linear segments when extrusion is performed. Only Polylines, Polygons, Envelopes, Points, and Multipoints are allowed as input geometries. Polylines, Polygons, and Envelopes will output MultiPatches while Points and Multipoints will output Polylines.

IExtrude ExtrudeAlongLine Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
extrudeAlongLine in interface IExtrude
Parameters:
extrusionLine - A reference to a com.esri.arcgis.geometry.ILine (in)
baseGeom - A reference to a com.esri.arcgis.geometry.IGeometry (in)
Returns:
A reference to a com.esri.arcgis.geometry.IGeometry
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IExtrude.extrude(double, com.esri.arcgis.geometry.IGeometry), IConstructMultiPatch.constructExtrudeFromTo(double, double, com.esri.arcgis.geometry.IGeometry), IGlobeHeightProperties.getExtrusionExpressionString(), IExtrude.extrudeRelative(com.esri.arcgis.geometry.IVector3D, com.esri.arcgis.geometry.IGeometry), IConstructMultiPatch.constructExtrudeBetween(com.esri.arcgis.geometry.IFunctionalSurface, com.esri.arcgis.geometry.IFunctionalSurface, com.esri.arcgis.geometry.IGeometry), IExtrude, IConstructMultiPatch.constructExtrudeAlongLine(com.esri.arcgis.geometry.ILine, com.esri.arcgis.geometry.IGeometry), IExtrude.extrudeAlongLine(com.esri.arcgis.geometry.ILine, com.esri.arcgis.geometry.IGeometry), IExtrude.extrudeBetween(com.esri.arcgis.geometry.IFunctionalSurface, com.esri.arcgis.geometry.IFunctionalSurface, com.esri.arcgis.geometry.IGeometry), IConstructMultiPatch.constructExtrude(double, com.esri.arcgis.geometry.IGeometry), IExtrude.extrudeAbsolute(double, com.esri.arcgis.geometry.IGeometry), IConstructMultiPatch.constructExtrudeAbsolute(double, com.esri.arcgis.geometry.IGeometry), IConstructMultiPatch, IExtrude.extrudeFromTo(double, double, com.esri.arcgis.geometry.IGeometry), IConstructMultiPatch.constructExtrudeRelative(com.esri.arcgis.geometry.IVector3D, com.esri.arcgis.geometry.IGeometry)

extrudeRelative

public IGeometry extrudeRelative(IVector3D extrusionVector,
                                 IGeometry baseGeom)
                          throws IOException,
                                 AutomationException
Extrude a geometry along a specified vector, using Zs already set on the input geometry.

Description

Creates a MultiPatch or Polyline from a base geometry by extruding the base geometry along an axis defined by the input Vector3D. The base Z values of the geometry are the same as the base geometry and top Z values are offset from the base by the Z component of the input Vector3D. The top geometry is also shifted in the X and Y directions by an offset defined by the X component and Y component of the Vector3D. The resulting extrusion is parallel to the XY-plane only if the base geometry is parallel to the XY-plane. The input geometry should be ZAware and ZSimple.

Remarks

All non-linear segments are treated as linear segments when extrusion is performed. Only Polylines, Polygons, Envelopes, Points, and Multipoints are allowed as input geometries. Polylines, Polygons, and Envelopes will output MultiPatches while Points and Multipoints will output Polylines.

IExtrude ExtrudeRelative Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
extrudeRelative in interface IExtrude
Parameters:
extrusionVector - A reference to a com.esri.arcgis.geometry.IVector3D (in)
baseGeom - A reference to a com.esri.arcgis.geometry.IGeometry (in)
Returns:
A reference to a com.esri.arcgis.geometry.IGeometry
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IExtrude.extrude(double, com.esri.arcgis.geometry.IGeometry), IConstructMultiPatch.constructExtrudeFromTo(double, double, com.esri.arcgis.geometry.IGeometry), IGlobeHeightProperties.getExtrusionExpressionString(), IExtrude.extrudeRelative(com.esri.arcgis.geometry.IVector3D, com.esri.arcgis.geometry.IGeometry), IConstructMultiPatch.constructExtrudeBetween(com.esri.arcgis.geometry.IFunctionalSurface, com.esri.arcgis.geometry.IFunctionalSurface, com.esri.arcgis.geometry.IGeometry), IExtrude, IConstructMultiPatch.constructExtrudeAlongLine(com.esri.arcgis.geometry.ILine, com.esri.arcgis.geometry.IGeometry), IExtrude.extrudeAlongLine(com.esri.arcgis.geometry.ILine, com.esri.arcgis.geometry.IGeometry), IExtrude.extrudeBetween(com.esri.arcgis.geometry.IFunctionalSurface, com.esri.arcgis.geometry.IFunctionalSurface, com.esri.arcgis.geometry.IGeometry), IConstructMultiPatch.constructExtrude(double, com.esri.arcgis.geometry.IGeometry), IExtrude.extrudeAbsolute(double, com.esri.arcgis.geometry.IGeometry), IConstructMultiPatch.constructExtrudeAbsolute(double, com.esri.arcgis.geometry.IGeometry), IConstructMultiPatch, IExtrude.extrudeFromTo(double, double, com.esri.arcgis.geometry.IGeometry), IConstructMultiPatch.constructExtrudeRelative(com.esri.arcgis.geometry.IVector3D, com.esri.arcgis.geometry.IGeometry)

extrude

public IGeometry extrude(double offsetZ,
                         IGeometry baseGeom)
                  throws IOException,
                         AutomationException
Extrude using an input geometry as one base and offsetting the Zs already set on the input geometry to get the second base.

Description

Creates a MultiPatch or Polyline from a base geometry by extruding the base geometry along the Z-axis by a given offset factor. The base Z value of the geometry is preserved and top Z value is calculated as an offset of each point in the input geometry. The resulting extrusion is parallel to the XY-plane only if the base geometry is parallel to the XY-plane. The input geometry should be ZAware and ZSimple.

Remarks

All non-linear segments are treated as linear segments when extrusion is performed. Only Polylines, Polygons, Envelopes, Points, and Multipoints are allowed as input geometries. Polylines, Polygons, and Envelopes will output MultiPatches while Points and Multipoints will output Polylines.

IExtrude Extrude Example

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
extrude in interface IExtrude
Parameters:
offsetZ - The offsetZ (in)
baseGeom - A reference to a com.esri.arcgis.geometry.IGeometry (in)
Returns:
A reference to a com.esri.arcgis.geometry.IGeometry
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IExtrude.extrude(double, com.esri.arcgis.geometry.IGeometry), IConstructMultiPatch.constructExtrudeFromTo(double, double, com.esri.arcgis.geometry.IGeometry), IGlobeHeightProperties.getExtrusionExpressionString(), IExtrude.extrudeRelative(com.esri.arcgis.geometry.IVector3D, com.esri.arcgis.geometry.IGeometry), IConstructMultiPatch.constructExtrudeBetween(com.esri.arcgis.geometry.IFunctionalSurface, com.esri.arcgis.geometry.IFunctionalSurface, com.esri.arcgis.geometry.IGeometry), IExtrude, IConstructMultiPatch.constructExtrudeAlongLine(com.esri.arcgis.geometry.ILine, com.esri.arcgis.geometry.IGeometry), IExtrude.extrudeAlongLine(com.esri.arcgis.geometry.ILine, com.esri.arcgis.geometry.IGeometry), IExtrude.extrudeBetween(com.esri.arcgis.geometry.IFunctionalSurface, com.esri.arcgis.geometry.IFunctionalSurface, com.esri.arcgis.geometry.IGeometry), IConstructMultiPatch.constructExtrude(double, com.esri.arcgis.geometry.IGeometry), IExtrude.extrudeAbsolute(double, com.esri.arcgis.geometry.IGeometry), IConstructMultiPatch.constructExtrudeAbsolute(double, com.esri.arcgis.geometry.IGeometry), IConstructMultiPatch, IExtrude.extrudeFromTo(double, double, com.esri.arcgis.geometry.IGeometry), IConstructMultiPatch.constructExtrudeRelative(com.esri.arcgis.geometry.IVector3D, com.esri.arcgis.geometry.IGeometry)

packNormal

public void packNormal(IVector3D normalVector,
                       double[] packedNormal)
                throws IOException,
                       AutomationException
Encodes a normal into part of a double. A normal and texture information can both be packed in a single double without conflict.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
packNormal in interface IEncode3DProperties
Parameters:
normalVector - A reference to a com.esri.arcgis.geometry.IVector3D (in)
packedNormal - The packedNormal (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

unPackNormal

public void unPackNormal(double packedNormal,
                         IVector3D normalVector,
                         boolean[] wasProductive)
                  throws IOException,
                         AutomationException
Decodes a normal from a double.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
unPackNormal in interface IEncode3DProperties
Parameters:
packedNormal - The packedNormal (in)
normalVector - A reference to a com.esri.arcgis.geometry.IVector3D (in)
wasProductive - The wasProductive (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

packTexture2D

public void packTexture2D(double textureS,
                          double textureT,
                          double[] packedTexture)
                   throws IOException,
                          AutomationException
Encodes texture coordinates into part of a double. A normal and texture information can both be packed in a single double without conflict.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
packTexture2D in interface IEncode3DProperties
Parameters:
textureS - The textureS (in)
textureT - The textureT (in)
packedTexture - The packedTexture (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

unPackTexture2D

public void unPackTexture2D(double packedTextureST,
                            double[] textureS,
                            double[] textureT,
                            boolean[] wasProductive)
                     throws IOException,
                            AutomationException
Decodes texture coordinates.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
unPackTexture2D in interface IEncode3DProperties
Parameters:
packedTextureST - The packedTextureST (in)
textureS - The textureS (out: use single element array)
textureT - The textureT (out: use single element array)
wasProductive - The wasProductive (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

constructDomainExtent

public IEnvelope constructDomainExtent(IEnvelope extent,
                                       double scale)
                                throws IOException,
                                       AutomationException
Constructs a new envelope by expanding the input envelope about its center. Scale is typically a power of 10 indicating the number of sig figs to preserve. If its zero, the extent is expanded 1.5 times (subject to some constraints).

Remarks

The 'scale factor' parameter is typically a power of 10 that specifies the number of significant digits to preserve for coordinates associated with a spatial reference having as its domain the envelope constructed by this method. The constructed envelope has the same center as the input envelope and an extent determined by the scale factor and the version of the spatial reference associated with the input envelope. For example, with a scale factor of 10^5 and a version 9.2 spatial reference, the width/height of the constructed extent will be (2^53-2)/10^5 ˜ 9.0 x 10^10 data units. With a pre 9.2 spatial reference, the constructed extent will be (2^31-2)/10^5 ˜ 2.1 x 10^4 data units.

If the input scale factor is zero, a default output extent is calculated. Typically, that extent will be 1.5 times the maximum extent of the input envelope. The constructed extent will be intersected against the horizon envelope of the spatial reference of the input envelope's spatial reference. Also, if it is too large (> 10^7) the expansion factor will be reduced to 1.1.

The output envelope will have the same set of vertex attributes and spatial reference as the input envelope.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
constructDomainExtent in interface IConstructDomainExtent
Parameters:
extent - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
scale - The scale (in)
Returns:
A reference to a com.esri.arcgis.geometry.IEnvelope
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

constructZMDomainExtent

public void constructZMDomainExtent(double inMin,
                                    double inMax,
                                    double scale,
                                    double[] outMin,
                                    double[] outMax)
                             throws IOException,
                                    AutomationException
(deprecated, use ConstructZMDomainExtent2) Constructs a low precision Z or M domain extent centered on the specified extent. scale is 1/(desired resolution). If scale is 0.0, a default of 1,000,000.0 is used.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
constructZMDomainExtent in interface IConstructDomainExtent
Parameters:
inMin - The inMin (in)
inMax - The inMax (in)
scale - The scale (in)
outMin - The outMin (out: use single element array)
outMax - The outMax (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryGeometries

public void queryGeometries(IGeometryCollection pGeometryCollection,
                            int index,
                            IGeometry[][] geometries)
                     throws IOException,
                            AutomationException
Populates the array with references to a sub-sequence of geometries.

Description

All development languages compatible version of IGeometryCollection::QueryGeometries.

Product Availability

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

Specified by:
queryGeometries in interface IGeometryBridge
Parameters:
pGeometryCollection - A reference to a com.esri.arcgis.geometry.IGeometryCollection (in)
index - The index (in)
geometries - A reference to a com.esri.arcgis.geometry.IGeometry array (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addGeometries

public void addGeometries(IGeometryCollection pGeometryCollection,
                          IGeometry[] newGeometries)
                   throws IOException,
                          AutomationException
Adds references to the specified geometries.

Description

All development languages compatible version of IGeometryCollection::AddGeometries .

Product Availability

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

Specified by:
addGeometries in interface IGeometryBridge
Parameters:
pGeometryCollection - A reference to a com.esri.arcgis.geometry.IGeometryCollection (in)
newGeometries - A reference to a com.esri.arcgis.geometry.IGeometry array (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

insertGeometries

public void insertGeometries(IGeometryCollection pGeometryCollection,
                             int index,
                             IGeometry[] newGeometries)
                      throws IOException,
                             AutomationException
Inserts at the specified index references to some number of geometries in the input array.

Description

All development languages compatible version of IGeometryCollection::InsertGeometries.

Product Availability

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

Specified by:
insertGeometries in interface IGeometryBridge
Parameters:
pGeometryCollection - A reference to a com.esri.arcgis.geometry.IGeometryCollection (in)
index - The index (in)
newGeometries - A reference to a com.esri.arcgis.geometry.IGeometry array (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setGeometries

public void setGeometries(IGeometryCollection pGeometryCollection,
                          IGeometry[] newGeometries)
                   throws IOException,
                          AutomationException
Replaces all geometries in the collection with the specified number of references to those in the input array.

Description

All development languages compatible version of IGeometryCollection::SetGeometries .

Product Availability

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

Specified by:
setGeometries in interface IGeometryBridge
Parameters:
pGeometryCollection - A reference to a com.esri.arcgis.geometry.IGeometryCollection (in)
newGeometries - A reference to a com.esri.arcgis.geometry.IGeometry array (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryPoints

public void queryPoints(IPointCollection4 pPointCollection,
                        int index,
                        IPoint[][] points)
                 throws IOException,
                        AutomationException
Copies some points to an existing array of points.

Description

All development languages compatible version of IPointCollection::QueryPoints.

When calling this method no count parameter is needed. The length of the array parameter will be used in place of the explicit number given in the IPointCollection::QueryPoints call. This also requires that the array parameter given to IGeometryBridge::QueryPoints can not be longer than the length of the PointCollection minus the index parameter.

Product Availability

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

Specified by:
queryPoints in interface IGeometryBridge
Parameters:
pPointCollection - A reference to a com.esri.arcgis.geometry.IPointCollection4 (in)
index - The index (in)
points - A reference to a com.esri.arcgis.geometry.IPoint array (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

insertPoints

public void insertPoints(IPointCollection4 pPointCollection,
                         int index,
                         IPoint[] newPoints)
                  throws IOException,
                         AutomationException
Inserts copies of the input points as vertices into a Path, Ring, Polyline, or Polygon; or references to the input points into a Multipoint, Triangles, TriangleFan, or TriangleStrip.

Description

All development languages compatible version of IPointCollection::InsertPoints .

Product Availability

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

Specified by:
insertPoints in interface IGeometryBridge
Parameters:
pPointCollection - A reference to a com.esri.arcgis.geometry.IPointCollection4 (in)
index - The index (in)
newPoints - A reference to a com.esri.arcgis.geometry.IPoint array (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addPoints

public void addPoints(IPointCollection4 pPointCollection,
                      IPoint[] newPoints)
               throws IOException,
                      AutomationException
Adds copies of the input points as vertices to this Path, Ring, Polyline, or Polygon; or references to the input points to this Multipoint, Triangles, TriangleFan, or TriangleStrip.

Description

All development languages compatible version of IPointCollection::AddPoints .

Product Availability

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

Specified by:
addPoints in interface IGeometryBridge
Parameters:
pPointCollection - A reference to a com.esri.arcgis.geometry.IPointCollection4 (in)
newPoints - A reference to a com.esri.arcgis.geometry.IPoint array (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setPoints

public void setPoints(IPointCollection4 pPointCollection,
                      IPoint[] newPoints)
               throws IOException,
                      AutomationException
Replaces all existing vertices of this Path, Ring, Polyline, or Polygon with copies of the input points; or all existing points of this Multipoint, Triangles, TriangleFan, or TriangleStrip with references to the input points.

Description

All development languages compatible version of IPointCollection::SetPoints .

Product Availability

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

Specified by:
setPoints in interface IGeometryBridge
Parameters:
pPointCollection - A reference to a com.esri.arcgis.geometry.IPointCollection4 (in)
newPoints - A reference to a com.esri.arcgis.geometry.IPoint array (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getPoints

public void getPoints(IPointCollection4 pPointCollection,
                      int index,
                      IPoint[][] points)
               throws IOException,
                      AutomationException
Populates an array with references to points in the Multipoint. The QueryPoints method on IPointCollection makes copies of the points.

Description

All development languages compatible version of IPointCollection::GetPoints .

Product Availability

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

Specified by:
getPoints in interface IGeometryBridge
Parameters:
pPointCollection - A reference to a com.esri.arcgis.geometry.IPointCollection4 (in)
index - The index (in)
points - A reference to a com.esri.arcgis.geometry.IPoint array (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

replacePoints

public void replacePoints(IPointCollection4 pPointCollection,
                          int index,
                          int goingAway,
                          IPoint[] newPoints)
                   throws IOException,
                          AutomationException
Replaces vertices/points within a PointCollection.

Description

All development languages compatible version of IPointCollection::ReplacePoints .

Product Availability

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

Specified by:
replacePoints in interface IGeometryBridge
Parameters:
pPointCollection - A reference to a com.esri.arcgis.geometry.IPointCollection4 (in)
index - The index (in)
goingAway - The goingAway (in)
newPoints - A reference to a com.esri.arcgis.geometry.IPoint array (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addWKSPointZs

public void addWKSPointZs(IPointCollection4 pPointCollection,
                          _WKSPointZ[] pointStructures)
                   throws IOException,
                          AutomationException
Adds vertices/points to this Path, Ring, Polyline, Polygon, Multipoint, Triangles, TriangleFan, TriangleStrip, or MultiPatch.

Description

All development languages compatible version of IPointCollection4::AddWKSPointsZs .

Product Availability

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

Specified by:
addWKSPointZs in interface IGeometryBridge
Parameters:
pPointCollection - A reference to a com.esri.arcgis.geometry.IPointCollection4 (in)
pointStructures - A Structure: com.esri.arcgis.system._WKSPointZ (An array of com.esri.arcgis.system._WKSPointZ COM typedef) (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setWKSPointZs

public void setWKSPointZs(IPointCollection4 pPointCollection,
                          _WKSPointZ[] pointStructures)
                   throws IOException,
                          AutomationException
Replaces all vertices/points of this Path, Ring, Polyline, Polygon, Multipoint, Triangles, TriangleFan, TriangleStrip, or MultiPatch with new ones.

Description

All development languages compatible version of IPointCollection4::SetWKSPointsZs .

Product Availability

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

Specified by:
setWKSPointZs in interface IGeometryBridge
Parameters:
pPointCollection - A reference to a com.esri.arcgis.geometry.IPointCollection4 (in)
pointStructures - A Structure: com.esri.arcgis.system._WKSPointZ (An array of com.esri.arcgis.system._WKSPointZ COM typedef) (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryWKSPointZs

public void queryWKSPointZs(IPointCollection4 pPointCollection,
                            int index,
                            _WKSPointZ[][] pointStructures)
                     throws IOException,
                            AutomationException
Copies vertices/points coordinates to the array of point structures.

Description

All development languages compatible version of IPointCollection4::QueryWKSPointsZs .

Product Availability

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

Specified by:
queryWKSPointZs in interface IGeometryBridge
Parameters:
pPointCollection - A reference to a com.esri.arcgis.geometry.IPointCollection4 (in)
index - The index (in)
pointStructures - A Structure: com.esri.arcgis.system._WKSPointZ (An array of com.esri.arcgis.system._WKSPointZ COM typedef) (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

insertWKSPointZs

public void insertWKSPointZs(IPointCollection4 pPointCollection,
                             int index,
                             _WKSPointZ[] newPoints)
                      throws IOException,
                             AutomationException
Inserts new vertices/points into this Path, Ring, Polyline, Polygon, Multipoint, Triangles, TriangleFan, TriangleStrip, or MultiPatch.

Description

All development languages compatible version of IPointCollection4::InsertWKSPointsZs .

Product Availability

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

Specified by:
insertWKSPointZs in interface IGeometryBridge
Parameters:
pPointCollection - A reference to a com.esri.arcgis.geometry.IPointCollection4 (in)
index - The index (in)
newPoints - A Structure: com.esri.arcgis.system._WKSPointZ (An array of com.esri.arcgis.system._WKSPointZ COM typedef) (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

querySegments

public void querySegments(ISegmentCollection pSegmentCollection,
                          int index,
                          ISegment[][] segments)
                   throws IOException,
                          AutomationException
Returns references to some of the input segments.

Description

All development languages compatible version of ISegmentCollection::QuerySegments .

Product Availability

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

Specified by:
querySegments in interface IGeometryBridge
Parameters:
pSegmentCollection - A reference to a com.esri.arcgis.geometry.ISegmentCollection (in)
index - The index (in)
segments - A reference to a com.esri.arcgis.geometry.ISegment array (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addSegments

public void addSegments(ISegmentCollection pSegmentCollection,
                        ISegment[] newSegments)
                 throws IOException,
                        AutomationException
Adds references to segments.

Description

All development languages compatible version of ISegmentCollection::AddSegments .

Product Availability

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

Specified by:
addSegments in interface IGeometryBridge
Parameters:
pSegmentCollection - A reference to a com.esri.arcgis.geometry.ISegmentCollection (in)
newSegments - A reference to a com.esri.arcgis.geometry.ISegment array (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

insertSegments

public void insertSegments(ISegmentCollection pSegmentCollection,
                           int index,
                           ISegment[] newSegments)
                    throws IOException,
                           AutomationException
Inserts references to the input segments.

Description

All development languages compatible version of ISegmentCollection::InsertSegments .

Product Availability

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

Specified by:
insertSegments in interface IGeometryBridge
Parameters:
pSegmentCollection - A reference to a com.esri.arcgis.geometry.ISegmentCollection (in)
index - The index (in)
newSegments - A reference to a com.esri.arcgis.geometry.ISegment array (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

replaceSegments

public void replaceSegments(ISegmentCollection pSegmentCollection,
                            int index,
                            int goingAway,
                            ISegment[] newSegments)
                     throws IOException,
                            AutomationException
Removes and inserts from segments.

Description

All development languages compatible version of ISegmentCollection::ReplaceSegments .

Product Availability

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

Specified by:
replaceSegments in interface IGeometryBridge
Parameters:
pSegmentCollection - A reference to a com.esri.arcgis.geometry.ISegmentCollection (in)
index - The index (in)
goingAway - The goingAway (in)
newSegments - A reference to a com.esri.arcgis.geometry.ISegment array (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSegments

public void setSegments(ISegmentCollection pSegmentCollection,
                        ISegment[] newSegments)
                 throws IOException,
                        AutomationException
Replaces all segments with references to the input segments.

Description

All development languages compatible version of ISegmentCollection::SetSegments .

Product Availability

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

Specified by:
setSegments in interface IGeometryBridge
Parameters:
pSegmentCollection - A reference to a com.esri.arcgis.geometry.ISegmentCollection (in)
newSegments - A reference to a com.esri.arcgis.geometry.ISegment array (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

densify

public void densify(ISegment pSegment,
                    double maxDeviation,
                    int[] pcOutSegments,
                    ILine[][] segments)
             throws IOException,
                    AutomationException
Densify segment into the specified number of smaller segments.

Description

All development languages compatible version of ISegment::Densify .

Product Availability

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

Specified by:
densify in interface IGeometryBridge
Parameters:
pSegment - A reference to a com.esri.arcgis.geometry.ISegment (in)
maxDeviation - The maxDeviation (in)
pcOutSegments - The pcOutSegments (in/out: use single element array)
segments - A reference to a com.esri.arcgis.geometry.ILine array (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

constructBuffers

public IEnumGeometry constructBuffers(ITopologicalOperator2 pTopologicalOperator,
                                      double[] distances)
                               throws IOException,
                                      AutomationException
Constructs a set of buffers at various distances. More efficient than calling Buffer repeatedly on the same geometry.

Description

All development languages compatible version of ITopologicalOperator2::ConstructBuffers .

Product Availability

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

Specified by:
constructBuffers in interface IGeometryBridge
Parameters:
pTopologicalOperator - A reference to a com.esri.arcgis.geometry.ITopologicalOperator2 (in)
distances - The distances (in)
Returns:
A reference to a com.esri.arcgis.geometry.IEnumGeometry
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryBeginningRings

public void queryBeginningRings(IMultiPatch pMultiPatch,
                                int ringTypesDesired,
                                IRing[][] beginningRings)
                         throws IOException,
                                AutomationException
Populates an array with references to all beginning rings of the specified types.

Description

All development languages compatible version of IMultipatch::QueryBeginningRings.

Product Availability

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

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

queryFollowingRings

public void queryFollowingRings(IMultiPatch pMultiPatch,
                                IRing beginningRing,
                                IRing[][] followingRings)
                         throws IOException,
                                AutomationException
Populates an array with references to following rings that are in the ring group that starts with the specified beginning ring.

Description

All development languages compatible version of IMultipatch::QueryFollowingRings .

Product Availability

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

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

addWKSPoints

public void addWKSPoints(IPointCollection4 pPointCollection,
                         _WKSPoint[] pointStructures)
                  throws IOException,
                         AutomationException
Adds vertices to this Path, Ring, Polyline, or Polygon, or adds new points to this Multipoint, Triangles, TriangleFan, or TriangleStrip.

Product Availability

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

Specified by:
addWKSPoints in interface IGeometryBridge2
Parameters:
pPointCollection - A reference to a com.esri.arcgis.geometry.IPointCollection4 (in)
pointStructures - A Structure: com.esri.arcgis.system._WKSPoint (An array of com.esri.arcgis.system._WKSPoint COM typedef) (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setWKSPoints

public void setWKSPoints(IPointCollection4 pPointCollection,
                         _WKSPoint[] pointStructures)
                  throws IOException,
                         AutomationException
Replaces all vertices of this Path, Ring, Polyline, or Polygon with new ones, or replaces all points of this Multipoint, Triangles, TriangleFan, or TriangleStrip with new ones.

Product Availability

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

Specified by:
setWKSPoints in interface IGeometryBridge2
Parameters:
pPointCollection - A reference to a com.esri.arcgis.geometry.IPointCollection4 (in)
pointStructures - A Structure: com.esri.arcgis.system._WKSPoint (An array of com.esri.arcgis.system._WKSPoint COM typedef) (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryWKSPoints

public void queryWKSPoints(IPointCollection4 pPointCollection,
                           int index,
                           _WKSPoint[][] pointStructures)
                    throws IOException,
                           AutomationException
Copies vertices'/points' coordinates to the array of point structures.

Product Availability

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

Specified by:
queryWKSPoints in interface IGeometryBridge2
Parameters:
pPointCollection - A reference to a com.esri.arcgis.geometry.IPointCollection4 (in)
index - The index (in)
pointStructures - A Structure: com.esri.arcgis.system._WKSPoint (An array of com.esri.arcgis.system._WKSPoint COM typedef) (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

insertWKSPoints

public void insertWKSPoints(IPointCollection4 pPointCollection,
                            int index,
                            _WKSPoint[] pointStructures)
                     throws IOException,
                            AutomationException
Inserts new vertices/points into this Path, Ring, Polyline, Polygon, Multipoint, Triangles, TriangleFan, TriangleStrip, or MultiPatch.

Product Availability

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

Specified by:
insertWKSPoints in interface IGeometryBridge2
Parameters:
pPointCollection - A reference to a com.esri.arcgis.geometry.IPointCollection4 (in)
index - The index (in)
pointStructures - A Structure: com.esri.arcgis.system._WKSPoint (An array of com.esri.arcgis.system._WKSPoint COM typedef) (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

splitAtDistances

public IEnumSplitPoint splitAtDistances(IPolycurve2 polyCurve,
                                        double[] distances,
                                        boolean asRatios,
                                        boolean createParts)
                                 throws IOException,
                                        AutomationException
Introduces new vertices into this polyline at specified distances from the beginning of the polyline.

Product Availability

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

Specified by:
splitAtDistances in interface IGeometryBridge2
Parameters:
polyCurve - A reference to a com.esri.arcgis.geometry.IPolycurve2 (in)
distances - The distances (in)
asRatios - The asRatios (in)
createParts - The createParts (in)
Returns:
A reference to a com.esri.arcgis.geometry.IEnumSplitPoint
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

splitDivideLength

public void splitDivideLength(ISegment pSegment,
                              double offset,
                              double length,
                              boolean asRatio,
                              int[] numSplitSegments,
                              ISegment[][] splitSegments)
                       throws IOException,
                              AutomationException
Divide segment into smaller segments of the specified length.

Product Availability

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

Specified by:
splitDivideLength in interface IGeometryBridge2
Parameters:
pSegment - A reference to a com.esri.arcgis.geometry.ISegment (in)
offset - The offset (in)
length - The length (in)
asRatio - The asRatio (in)
numSplitSegments - The numSplitSegments (out: use single element array)
splitSegments - A reference to a com.esri.arcgis.geometry.ISegment array (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

mergeGeometries

public IGeometry mergeGeometries(IGeometry pOriginal,
                                 IGeometry pEdit1,
                                 IGeometry pEdit2)
                          throws IOException,
                                 AutomationException
Merges the representation from both versions of a geometry that has been modifed

Description

Constructs a new geometry by merging the two separate edits of the same original geometry. If any portion of the two edited regions or the edits themselves overlaps an error will be returned. Edited regions are the areas of the polygon or polyline where the edits took place in respect to the original geometry. Edits are the changes reflected in the two edited geometries.
In polygons it is the area that the edit has been affected as well as the vertices and edges that participated in the edits that are important. Even if edits are on non-consecutive edges or non-consecutive vertices, if the area that one edit adds or subtracts from the polygon overlaps the second edit this will be viewed as a conflict and the geometries will not be merged.


The functionality is fully implemented for multipart features.

Remarks

IConstructMerge pConstMrg = new GeometryEnvironmentClass() as IConstructMerge;

\/*IGeometry origGeom;

IGeometry geom1;

IGeometry geom2;

...*\/

IGeometry newGeom = pConstMrg.MergeGeometries(origGeom, geom1, geom2);

Product Availability

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

Specified by:
mergeGeometries in interface IConstructMerge
Parameters:
pOriginal - A reference to a com.esri.arcgis.geometry.IGeometry (in)
pEdit1 - A reference to a com.esri.arcgis.geometry.IGeometry (in)
pEdit2 - A reference to a com.esri.arcgis.geometry.IGeometry (in)
Returns:
A reference to a com.esri.arcgis.geometry.IGeometry
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

constructClothoidByLength

public IPolyline constructClothoidByLength(IPoint pFrom,
                                           IPoint pFromTangent,
                                           boolean bCurveRight,
                                           double fromCurvature,
                                           double toCurvature,
                                           double curveLength,
                                           int __MIDL__IConstructClothoid0000,
                                           double densifyParameter)
                                    throws IOException,
                                           AutomationException
Constructs a pieccewise linear approximation to a clothoid spiral. Curvature is the reciprocal of the radius, so specify a curvature of 0 for an infinite radius. curveLength is the design length of the curve.

Product Availability

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

Specified by:
constructClothoidByLength in interface IConstructClothoid
Parameters:
pFrom - A reference to a com.esri.arcgis.geometry.IPoint (in)
pFromTangent - A reference to a com.esri.arcgis.geometry.IPoint (in)
bCurveRight - The bCurveRight (in)
fromCurvature - The fromCurvature (in)
toCurvature - The toCurvature (in)
curveLength - The curveLength (in)
__MIDL__IConstructClothoid0000 - A com.esri.arcgis.geometry.esriCurveDensifyMethod constant (in)
densifyParameter - The densifyParameter (in)
Returns:
A reference to a com.esri.arcgis.geometry.IPolyline
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

constructClothoidByAngle

public IPolyline constructClothoidByAngle(IPoint pFrom,
                                          IPoint pFromTangent,
                                          boolean bCurveRight,
                                          double fromCurvature,
                                          double toCurvature,
                                          double deflectionAngle,
                                          int __MIDL__IConstructClothoid0001,
                                          double densifyParameter)
                                   throws IOException,
                                          AutomationException
Constructs a pieccewise linear approximation to a clothoid spiral. Curvature is the reciprocal of the radius, so specify a curvature of 0 for an infinite radius. deflectionAngle is positive and is the change in direction (in radians) from the starting curve ta?O??&

Product Availability

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

Specified by:
constructClothoidByAngle in interface IConstructClothoid
Parameters:
pFrom - A reference to a com.esri.arcgis.geometry.IPoint (in)
pFromTangent - A reference to a com.esri.arcgis.geometry.IPoint (in)
bCurveRight - The bCurveRight (in)
fromCurvature - The fromCurvature (in)
toCurvature - The toCurvature (in)
deflectionAngle - The deflectionAngle (in)
__MIDL__IConstructClothoid0001 - A com.esri.arcgis.geometry.esriCurveDensifyMethod constant (in)
densifyParameter - The densifyParameter (in)
Returns:
A reference to a com.esri.arcgis.geometry.IPolyline
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

constructSplitClothoidByLength

public void constructSplitClothoidByLength(IPoint pSplitQuery,
                                           IPoint pFrom,
                                           IPoint pFromTangent,
                                           boolean bCurveRight,
                                           double fromCurvature,
                                           double toCurvature,
                                           double curveLength,
                                           double[] pSplitCurvature,
                                           double[] pSplitLength,
                                           double[] pSplitAngle,
                                           ILine[] ppSplitTangent)
                                    throws IOException,
                                           AutomationException
Same as ConstructClothoidByLength but reports curve parameters for point on curve closest to split query point.

Product Availability

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

Specified by:
constructSplitClothoidByLength in interface IConstructClothoid
Parameters:
pSplitQuery - A reference to a com.esri.arcgis.geometry.IPoint (in)
pFrom - A reference to a com.esri.arcgis.geometry.IPoint (in)
pFromTangent - A reference to a com.esri.arcgis.geometry.IPoint (in)
bCurveRight - The bCurveRight (in)
fromCurvature - The fromCurvature (in)
toCurvature - The toCurvature (in)
curveLength - The curveLength (in)
pSplitCurvature - The pSplitCurvature (out: use single element array)
pSplitLength - The pSplitLength (out: use single element array)
pSplitAngle - The pSplitAngle (out: use single element array)
ppSplitTangent - A reference to a com.esri.arcgis.geometry.ILine (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

constructSplitClothoidByAngle

public void constructSplitClothoidByAngle(IPoint pSplitQuery,
                                          IPoint pFrom,
                                          IPoint pFromTangent,
                                          boolean bCurveRight,
                                          double fromCurvature,
                                          double toCurvature,
                                          double deflectionAngle,
                                          double[] pSplitCurvature,
                                          double[] pSplitLength,
                                          double[] pSplitAngle,
                                          ILine[] ppSplitTangent)
                                   throws IOException,
                                          AutomationException
Same as ConstructClothoidByAngle but reports curve parameters for point on curve closest to split query point.

Product Availability

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

Specified by:
constructSplitClothoidByAngle in interface IConstructClothoid
Parameters:
pSplitQuery - A reference to a com.esri.arcgis.geometry.IPoint (in)
pFrom - A reference to a com.esri.arcgis.geometry.IPoint (in)
pFromTangent - A reference to a com.esri.arcgis.geometry.IPoint (in)
bCurveRight - The bCurveRight (in)
fromCurvature - The fromCurvature (in)
toCurvature - The toCurvature (in)
deflectionAngle - The deflectionAngle (in)
pSplitCurvature - The pSplitCurvature (out: use single element array)
pSplitLength - The pSplitLength (out: use single element array)
pSplitAngle - The pSplitAngle (out: use single element array)
ppSplitTangent - A reference to a com.esri.arcgis.geometry.ILine (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.