com.esri.arcgis.geometry
Interface IConstructMultiPatch

All Superinterfaces:
Serializable
All Known Implementing Classes:
MultiPatch

public interface IConstructMultiPatch
extends Serializable

Provides access to members that can be used to construct MultiPatches.

Description

Constructs a MultiPatch by extruding a non-point based 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. Polygon geometry is assumed to be planar.

Remarks

To Extrude Points and Multipoints to create Polylines, use IExtrude.

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
 void constructExtrude(double offsetZ, IGeometry baseGeom)
          Construct a MultiPatch by using an input (non-point) geometry as one base and offsetting the Zs already set on the input geometry to get the second base.
 void constructExtrudeAbsolute(double toZ, IGeometry baseGeom)
          Construct a MultiPatch by extruding a (non-point) geometry using its initial Zs for one base, and a uniform input Z for the other.
 void constructExtrudeAlongLine(ILine extrusionLine, IGeometry baseGeom)
          Construct a MultiPatch by extruding a (non-point) geometry along a specified line, using the Zs on the two ends of the line to set Zs on the top and bottom.
 void constructExtrudeBetween(IFunctionalSurface fromSurface, IFunctionalSurface toSurface, IGeometry baseGeom)
          Construct a MultiPatch by extruding a (non-point) geometry between two functional surfaces.
 void constructExtrudeFromTo(double fromZ, double toZ, IGeometry baseGeom)
          Construct a MultiPatch by extruding a (non-point) geometry between two specified Z values.
 void constructExtrudeRelative(IVector3D extrusionVector, IGeometry baseGeom)
          Construct a MultiPatch by extruding a (non-point) geometry along a specified vector, using Zs already set on the input geometry.
 

Method Detail

constructExtrudeFromTo

void constructExtrudeFromTo(double fromZ,
                            double toZ,
                            IGeometry baseGeom)
                            throws IOException,
                                   AutomationException
Construct a MultiPatch by extruding a (non-point) geometry between two specified Z values.

Description

Creates a MultiPatch from a base non-point 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, and Envelopes are allowed as input geometries.

ConstructMultiPatch 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)
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)

constructExtrudeAbsolute

void constructExtrudeAbsolute(double toZ,
                              IGeometry baseGeom)
                              throws IOException,
                                     AutomationException
Construct a MultiPatch by extruding a (non-point) geometry using its initial Zs for one base, and a uniform input Z for the other.

Description

Creates a MultiPatch from a base non-point 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.

Remarks

All non-linear segments are treated as linear segments when extrusion is performed. Only Polylines, Polygons, and Envelopes are allowed as input geometries.

ConstructMultiPatch 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)
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)

constructExtrudeBetween

void constructExtrudeBetween(IFunctionalSurface fromSurface,
                             IFunctionalSurface toSurface,
                             IGeometry baseGeom)
                             throws IOException,
                                    AutomationException
Construct a MultiPatch by extruding a (non-point) geometry between two functional surfaces.

Description

Constructs a MultiPatch from a base non-point 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, and Envelopes are allowed as input geometries. Z values from the FunctionalSurfaces are only calculated at Points in the input Geometry. If the input Geometry extents exceed the extents of the Functional Surfaces then an output Oeometry with NaNs will be produced. Currently not implemented for RasterSurfaces.

IConstructMultiPatch 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)
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)

constructExtrudeAlongLine

void constructExtrudeAlongLine(ILine extrusionLine,
                               IGeometry baseGeom)
                               throws IOException,
                                      AutomationException
Construct a MultiPatch by extruding a (non-point) 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 from a base non-point 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.

Remarks

All non-linear segments are treated as linear segments when extrusion is performed. Only Polylines, Polygons, and Envelopes are allowed as input geometries.

ConstructMultiPatch 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)
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)

constructExtrudeRelative

void constructExtrudeRelative(IVector3D extrusionVector,
                              IGeometry baseGeom)
                              throws IOException,
                                     AutomationException
Construct a MultiPatch by extruding a (non-point) geometry along a specified vector, using Zs already set on the input geometry.

Description

Creates a MultiPatch from a base non-point 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.

Remarks

All non-linear segments are treated as linear segments when extrusion is performed. Only Polylines, Polygons, and Envelopes are allowed as input geometries.

ConstructMultiPatch 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)
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)

constructExtrude

void constructExtrude(double offsetZ,
                      IGeometry baseGeom)
                      throws IOException,
                             AutomationException
Construct a MultiPatch by using an input (non-point) geometry as one base and offsetting the Zs already set on the input geometry to get the second base.

Description

Creates a MultiPatch from a base non-point 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.

Remarks

All non-linear segments are treated as linear segments when extrusion is performed. Only Polylines, Polygons, and Envelopes are allowed as input geometries.

ConstructMultiPatch 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)
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)