This document is archived and information here might be outdated. Recommended version. |
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*
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.
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"
);
}
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