This document is archived and information here might be outdated.  Recommended version.


IConstructMultipoint.ConstructArcPoints Method (ArcObjects .NET 10.6 SDK)
ArcObjects Library Reference (Geometry)  

IConstructMultipoint.ConstructArcPoints Method

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.

[Visual Basic .NET]
Public Sub ConstructArcPoints ( _
    ByVal a As ICircularArc _
)
[C#]
public void ConstructArcPoints (
    ICircularArc a
);
[C++]
HRESULT ConstructArcPoints(
  ICircularArc* a
);
[C++]

Parameters a
a is a parameter of type ICircularArc*

Product Availability

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

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.

Remarks

 

ConstructMultipoint ConstructArcPoints Example

[C#]

        private void ConstrConstructArcPoints()
        {
            IPoint centerPoint=new PointClass();
            centerPoint.PutCoords(10, 0);
            IPoint fromPoint=new PointClass();
            fromPoint.PutCoords(0, 0);
            IPoint toPoint=new PointClass();
            toPoint.PutCoords(0, 20);
            IConstructCircularArc circularArcConstruction=new CircularArcClass();
            circularArcConstruction.ConstructThreePoints(fromPoint, centerPoint, toPoint, false);

            IConstructMultipoint constructMultipoint=new MultipointClass();
            constructMultipoint.ConstructArcPoints(circularArcConstruction as ICircularArc);
            IPointCollection pointCollection=constructMultipoint as IPointCollection;

            System.Windows.Forms.MessageBox.Show("From Point : " + pointCollection.get_Point(0).X + " , " + pointCollection.get_Point(0).Y + "\n" +
                                                 "To Point : " + pointCollection.get_Point(1).X + " , " + pointCollection.get_Point(1).Y + "\n" +
                                                 "Center Point : " + pointCollection.get_Point(2).X + " , " + pointCollection.get_Point(2).Y + "\n" +
                                                 "Intersection Point : " + pointCollection.get_Point(3).X + " , " + pointCollection.get_Point(3).Y + "\n"
                                                 );

        }

[Visual Basic .NET]

    Private Sub ConstructArcPoints()
        Dim pConstructCircularArc As ESRI.ArcGIS.Geometry.IConstructCircularArc
        Dim pCArc As ESRI.ArcGIS.Geometry.ICircularArc
        Dim pPoint1 As ESRI.ArcGIS.Geometry.IPoint
        Dim pPoint2 As ESRI.ArcGIS.Geometry.IPoint
        Dim pPoint3 As ESRI.ArcGIS.Geometry.IPoint
        Dim pTcoll As ESRI.ArcGIS.Geometry.IPointCollection
        Dim pConstructMultipoint As ESRI.ArcGIS.Geometry.IConstructMultipoint
        Dim pMultipoint As ESRI.ArcGIS.Geometry.IMultipoint
        pConstructMultipoint=New ESRI.ArcGIS.Geometry.Multipoint
        pConstructCircularArc=New ESRI.ArcGIS.Geometry.CircularArc
        pCArc=pConstructCircularArc
        pPoint1=New ESRI.ArcGIS.Geometry.Point
        pPoint2=New ESRI.ArcGIS.Geometry.Point
        pPoint3=New ESRI.ArcGIS.Geometry.Point
        pPoint1.PutCoords(100, 100)
        pPoint2.PutCoords(300, 300)
        pPoint3.PutCoords(500, 150)
        pConstructCircularArc.ConstructThreePoints(pPoint1, pPoint2, pPoint3, False)
        pConstructMultipoint.ConstructArcPoints(pCArc)
        pMultipoint=pConstructMultipoint
        pTcoll=pMultipoint
        Debug.Print("*********************************************")
        Debug.Print(" Report the points")
        Debug.Print("*********************************************")
        Debug.Print("From Point : " & pTcoll.Point(0).X & " , " & pTcoll.Point(0).Y)
        Debug.Print("To Point : " & pTcoll.Point(1).X & " , " & pTcoll.Point(1).Y)
        Debug.Print("Center Point : " & pTcoll.Point(2).X & " , " & pTcoll.Point(2).Y)
        Debug.Print("Intersection Point : " & pTcoll.Point(3).X & " , " & pTcoll.Point(3).Y)
    End Sub

See Also

IConstructMultipoint Interface