## com.esri.arcgis.geometry Interface IConstructMultipoint

All Superinterfaces:
Serializable
All Known Implementing Classes:
Multipoint

`public interface IConstructMultipointextends Serializable`

Provides access to members that construct multiple points using other geometries and values.

#### Description

Constructs a Multipoint according to various properties of an input geometry or relations between input geometries. Useful in finding the points corresponding to properties that are not satisfied by a single output Point.

#### Product Availability

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

Method Summary
` void` `constructArcPoints(ICircularArc a)`
Constructs the four arc points (fromPoint, toPoint, center point, intersection point of the tangents at fromPoint and toPoint, in that order) for the specified circular arc.
` void` ```constructDivideEqual(ICurve inCurve, int numInnerPoints)```
Constructs cPoints points evenly distributed along the input curve.
` void` ```constructDivideLength(ICurve inCurve, double separationDistance)```
Places points along the input curve each seperate by the specified distance.
` void` ```constructIntersection(ISegment segment1, int extension1, ISegment segment2, int extension2, Object[] params1, Object[] params2, Object[] isTangentPoint)```
Constructs the point(s) of intersection/tangency between two segments.
` void` ```constructIntersectionEx(ISegment segment1, int extension1, ISegment segment2, int extension2, double[] params1, double[] params2, int[] tangentBits)```
Constructs the point(s) of intersection/tangency between two segments.
` void` ```constructTangent(ICurve inCurve, IPoint p)```
Constructs all points of tangency to a curve from a point.

Method Detail

### constructTangent

```void constructTangent(ICurve inCurve,
IPoint p)
throws IOException,
AutomationException```
Constructs all points of tangency to a curve from a point.

#### Description

Creates a Multipoint consisting of all points along the input Segment that are Tangent to the input Point.

#### Remarks

Input must consist of a single segment and not polycurves.

#### Product Availability

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

#### Supported Platforms

Windows, Solaris, Linux

Parameters:
`inCurve` - A reference to a com.esri.arcgis.geometry.ICurve (in)
`p` - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
`IOException` - If there are interop problems.
`AutomationException` - If the ArcObject component throws an exception.

### constructDivideEqual

```void constructDivideEqual(ICurve inCurve,
int numInnerPoints)
throws IOException,
AutomationException```
Constructs cPoints points evenly distributed along the input curve.

#### Description

Constructs a Multipoint consisting of the From point of the input Curve, n inner points equally spaced over the length of the curve, and the To point of the curve.

#### Remarks

The number of points in the constructed multipoint is equal to the input numPoints plus the 2 endpoints.

#### Product Availability

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

#### Supported Platforms

Windows, Solaris, Linux

Parameters:
`inCurve` - A reference to a com.esri.arcgis.geometry.ICurve (in)
`numInnerPoints` - The numInnerPoints (in)
Throws:
`IOException` - If there are interop problems.
`AutomationException` - If the ArcObject component throws an exception.

### constructDivideLength

```void constructDivideLength(ICurve inCurve,
double separationDistance)
throws IOException,
AutomationException```
Places points along the input curve each seperate by the specified distance.

#### Description

Constructs a Multipoint consisting of the endpoints of the Curve and the points along the length of the curve spaced a given distance apart from each other starting at the curve's From point and ending at the To point.

#### Remarks

If the final inner point is too close to the To point, that inner point is not included in the constructed multipoint.

#### Product Availability

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

#### Supported Platforms

Windows, Solaris, Linux

Parameters:
`inCurve` - A reference to a com.esri.arcgis.geometry.ICurve (in)
`separationDistance` - The separationDistance (in)
Throws:
`IOException` - If there are interop problems.
`AutomationException` - If the ArcObject component throws an exception.

### constructArcPoints

```void constructArcPoints(ICircularArc a)
throws IOException,
AutomationException```
Constructs the four arc points (fromPoint, toPoint, center point, intersection point of the tangents at fromPoint and toPoint, in that order) for the specified circular arc.

#### Description

Constructs a Multipoint consisting of four points (In that order): The Circular arc's From point, To point, Center point and the point of intersection between the tangents at the From and To points.

#### Product Availability

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

#### Supported Platforms

Windows, Solaris, Linux

Parameters:
`a` - A reference to a com.esri.arcgis.geometry.ICircularArc (in)
Throws:
`IOException` - If there are interop problems.
`AutomationException` - If the ArcObject component throws an exception.

### constructIntersectionEx

```void constructIntersectionEx(ISegment segment1,
int extension1,
ISegment segment2,
int extension2,
double[] params1,
double[] params2,
int[] tangentBits)
throws IOException,
AutomationException```
Constructs the point(s) of intersection/tangency between two segments. Different ways of extending the segments in order to locate additional points can be specified.

#### Description

Constructs a Multipoint containing the points of intersection and tangency between two input geometries. The input geometries can be extended by any of the esriSegmentExtension methods. Optionally, the construction method also returns the relative position and tangency of the intersection point along each curve.

#### Product Availability

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

#### Supported Platforms

Windows, Solaris, Linux

Parameters:
`segment1` - A reference to a com.esri.arcgis.geometry.ISegment (in)
`extension1` - A com.esri.arcgis.geometry.esriSegmentExtension constant (in)
`segment2` - A reference to a com.esri.arcgis.geometry.ISegment (in)
`extension2` - A com.esri.arcgis.geometry.esriSegmentExtension constant (in)
`params1` - The params1 (out: use single element array, optional, pass single element of null if not required)
`params2` - The params2 (out: use single element array, optional, pass single element of null if not required)
`tangentBits` - The tangentBits (out: use single element array, optional, pass single element of null if not required)
Throws:
`IOException` - If there are interop problems.
`AutomationException` - If the ArcObject component throws an exception.
`IConstructMultipoint.constructIntersectionEx(com.esri.arcgis.geometry.ISegment, int, com.esri.arcgis.geometry.ISegment, int, double[], double[], int[])`, `IConstructMultipoint.constructIntersection(com.esri.arcgis.geometry.ISegment, int, com.esri.arcgis.geometry.ISegment, int, Object[], Object[], Object[])`, `ITopologicalOperator.intersect(com.esri.arcgis.geometry.IGeometry, int)`

### constructIntersection

```void constructIntersection(ISegment segment1,
int extension1,
ISegment segment2,
int extension2,
Object[] params1,
Object[] params2,
Object[] isTangentPoint)
throws IOException,
AutomationException```
Constructs the point(s) of intersection/tangency between two segments. Different ways of extending the segments in order to locate additional points can be specified.

#### Description

Constructs a Multipoint containing the points of intersection and tangency between two input geometries. The input geometries can be extended by any of the esriSegmentExtension methods. Optionally, the construction method also returns the relative position and tangency of the intersection point along each curve.

#### Product Availability

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

#### Supported Platforms

Windows, Solaris, Linux

Parameters:
`segment1` - A reference to a com.esri.arcgis.geometry.ISegment (in)
`extension1` - A com.esri.arcgis.geometry.esriSegmentExtension constant (in)
`segment2` - A reference to a com.esri.arcgis.geometry.ISegment (in)
`extension2` - A com.esri.arcgis.geometry.esriSegmentExtension constant (in)
`params1` - A Variant (out: use single element array, optional, pass single element of null if not required)
`params2` - A Variant (out: use single element array, optional, pass single element of null if not required)
`isTangentPoint` - A Variant (out: use single element array, optional, pass single element of null if not required)
Throws:
`IOException` - If there are interop problems.
`AutomationException` - If the ArcObject component throws an exception.
`IConstructMultipoint.constructIntersectionEx(com.esri.arcgis.geometry.ISegment, int, com.esri.arcgis.geometry.ISegment, int, double[], double[], int[])`, `IConstructMultipoint.constructIntersection(com.esri.arcgis.geometry.ISegment, int, com.esri.arcgis.geometry.ISegment, int, Object[], Object[], Object[])`, `ITopologicalOperator.intersect(com.esri.arcgis.geometry.IGeometry, int)`