com.esri.arcgis.geometry
Interface IExtrude

All Superinterfaces:
Serializable
All Known Subinterfaces:
IExtrude2
All Known Implementing Classes:
GeometryEnvironment, IExtrude2Proxy, IExtrudeProxy

public interface IExtrude
extends Serializable

Provides access to members that can be used to take a geometry and connect it to a translated version of itself to generate a higher-dimensional geometry.

Superseded By

IExtrude2

Description

Constructs a MultiPatch or Polyline by extruding a base geometry. Extrusion adds another dimension to the base geometry. Generally, this dimension is along the Z-Axis, but some extrusions allow the axis of extrusion to be defined by an input Line or Vector3D. Depending on the extrusion method, the base geometry may be preserved or may by projected to the XY-Plane and then extruded. Polylines, Polygons, and Envelopes can be extruded to produce MultiPatches. Points and Multipoints are extruded into Polylines. Polygon geometry is assumed to be planar. All input geometries should be topologically KnownSimple (Calling either IsSimple or Simplify makes the IsSimple state known to the geometry). If an input Polygon is not topologically simple, it will be simplified.

Remarks

Extrusion on Polylines, Polygons, and Envelopes is the same as the extrusion performed by IConstructMultiPatch.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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)

Method Summary
 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.
 

Method Detail

extrudeFromTo

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

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

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

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

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

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

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

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

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

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

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

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)