com.esri.arcgis.geometry
Interface IGeometryBag

All Superinterfaces:
IGeometry, Serializable
All Known Implementing Classes:
GeometryBag

public interface IGeometryBag
extends IGeometry, Serializable

Provides access to members that identify a geometry bag.

Description

A GeometryBag is a heterogeneous collection of references to objects that support the IGeometry interface. Operations on GeometryBags that depend upon a specific interface require that all geometries within the Bag support that interface. Otherwise, an error will be returned. (ex. To Buffer the elements of a GeometryBag using the ITopologicalOperator, only geometries that support ITopologicalOperator can be collected in the Bag.)

When adding elements to a GeometryBag, keep in mind that the elements acquire the spatial reference of the bag. If the spatial reference of the bag is nil, for example, and the element references a well-defined spatial reference, then the element will lose that reference when it is added to the bag.

Remarks

Every Geometry created within ArcGIS should be assigned a spatial reference. Always attach well-defined spatial references to new geometries. This improves processing efficiency, in particular, when using ITopologicalOperator on geometries that contain curved segments (circular arcs, bezier curves, elliptical arcs). New geometries include any geometry that is created in memory. It does not matter whether it will be stored in a feature class or not. Well-defined as applied to a spatial reference means that it not only has its coordinate system (projection) defined, but also its coordinate grid. The coordinate grid consists of the xy domain, xy resolution, and xy cluster tolerance properties of a spatial reference. If the Geometry includes z or m values, the z or m domains, z or m resolutions, and z or m cluster tolerance properties must also be defined. The cluster tolerance and resolutions can be quickly and easily set using SetDefault methods on ISpatialReferenceResolution and ISpatialReferenceTolerance interfaces.

Example:

ISegmentCollectionpPath= null;
pPath = new Path()
pPath.addSegment(pMyLine);
IGeometryCollection pPolyL = null;
pPolyL = new Polyline();
pPolyL.addGeometry(pPath);

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

See Also:
IConstructGeometryCollection, IGeometryCollection

Method Summary
 boolean isLosslessExport()
          Indicates if this geometry bag exported itself to a shapefile buffer with no loss of information.
 
Methods inherited from interface com.esri.arcgis.geometry.IGeometry
geoNormalize, geoNormalizeFromLongitude, getDimension, getEnvelope, getGeometryType, getSpatialReference, isEmpty, project, queryEnvelope, setEmpty, setSpatialReferenceByRef, snapToSpatialReference
 

Method Detail

isLosslessExport

boolean isLosslessExport()
                         throws IOException,
                                AutomationException
Indicates if this geometry bag exported itself to a shapefile buffer with no loss of information. Currently always returns false.

Remarks

currently not implemented; always returns FALSE.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Returns:
The nothingLost
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.