Create a sample polyline geometry using the GeometryBridge singleton object.
[C#]
///<summary>
///Create a sample polyline geometry using the GeometryBridge singleton object.
///</summary>
///<param name="spatialReference">An ESRI.ArcGIS.Geometry.ISpatialReference that will define where the newly created polyline object will exist in space.</param>
///<returns>An ESRI.ArcGIS.Geometry.IPolyline interface that is a sample polyline in the shape of a backwards C.</returns>
///<remarks></remarks>
public ESRI.ArcGIS.Geometry.IPolyline CreateTestPolylineFromGeometryEnvironment(ESRI.ArcGIS.Geometry.ISpatialReference spatialReference)
{
if (spatialReference.Name == "Unknown")
{
System.Windows.Forms.MessageBox.Show("An Unknown SpatialReference was supplied.", System.Reflection.MethodBase.GetCurrentMethod().Name);
return null;
}
//Create an array of WKSPoint structures starting in the middle of the x,y domain of the
//projected coordinate system.
System.Double xMin = 0;
System.Double xMax = 0;
System.Double yMin = 0;
System.Double yMax = 0;
spatialReference.GetDomain(out xMin, out xMax, out yMin, out yMax);
System.Double xFactor = (System.Math.Abs(xMax) / 2);
System.Double yFactor = (System.Math.Abs(yMax) / 2);
//Define what the shape looks like (a backwards C)
ESRI.ArcGIS.esriSystem.WKSPoint[] wksPoint = new ESRI.ArcGIS.esriSystem.WKSPoint[4];
wksPoint[0].X = xMin + xFactor;
wksPoint[0].Y = yMin + yFactor;
wksPoint[1].X = xMax - xFactor;
wksPoint[1].Y = yMin + yFactor;
wksPoint[2].X = xMax - xFactor;
wksPoint[2].Y = yMax - yFactor;
wksPoint[3].X = xMin + xFactor;
wksPoint[3].Y = yMax - yFactor;
ESRI.ArcGIS.Geometry.IPointCollection4 pointCollection4 = new ESRI.ArcGIS.Geometry.PolylineClass();
// The GeometryEnvironmentClass is a singleton object.
ESRI.ArcGIS.Geometry.IGeometryBridge2 geometryBridge2 = new ESRI.ArcGIS.Geometry.GeometryEnvironmentClass();
geometryBridge2.AddWKSPoints(pointCollection4, ref wksPoint);
ESRI.ArcGIS.Geometry.IPolyline polyline = pointCollection4 as ESRI.ArcGIS.Geometry.IPolyline;
polyline.SpatialReference = spatialReference;
return polyline;
}
[Visual Basic .NET]
'''<summary>
'''Create a sample polyline geometry using the GeometryBridge singleton object.
'''</summary>
'''<param name="spatialReference">An ESRI.ArcGIS.Geometry.ISpatialReference that will define where the newly created polyline object will exist in space.</param>
'''<returns>An ESRI.ArcGIS.Geometry.IPolyline interface that is a sample polyline in the shape of a backwards C.</returns>
'''<remarks></remarks>
Public Function CreateTestPolylineFromGeometryEnvironment(ByVal spatialReference As ESRI.ArcGIS.Geometry.ISpatialReference) As ESRI.ArcGIS.Geometry.IPolyline
If spatialReference.Name = "Unknown" Then
System.Windows.Forms.MessageBox.Show("An Unknown SpatialReference was supplied.", System.Reflection.MethodBase.GetCurrentMethod.Name)
Return Nothing
End If
'Create an array of WKSPoint structures starting in the middle of the x,y domain of the
'projected coordinate system.
Dim xMin As System.Double
Dim xMax As System.Double
Dim yMin As System.Double
Dim yMax As System.Double
spatialReference.GetDomain(xMin, xMax, yMin, yMax)
Dim xFactor As System.Double = (System.Math.Abs(xMax) / 2)
Dim yFactor As System.Double = (System.Math.Abs(yMax) / 2)
'Define what the shape looks like (a backwards C)
Dim wksPoint As ESRI.ArcGIS.esriSystem.WKSPoint() = New ESRI.ArcGIS.esriSystem.WKSPoint(3) {}
wksPoint(0).X = xMin + xFactor
wksPoint(0).Y = yMin + yFactor
wksPoint(1).X = xMax - xFactor
wksPoint(1).Y = yMin + yFactor
wksPoint(2).X = xMax - xFactor
wksPoint(2).Y = yMax - yFactor
wksPoint(3).X = xMin + xFactor
wksPoint(3).Y = yMax - yFactor
Dim pointCollection4 As ESRI.ArcGIS.Geometry.IPointCollection4 = New ESRI.ArcGIS.Geometry.PolylineClass()
' The GeometryEnvironmentClass is a singleton object.
Dim geometryBridge2 As ESRI.ArcGIS.Geometry.IGeometryBridge2 = New ESRI.ArcGIS.Geometry.GeometryEnvironmentClass()
geometryBridge2.AddWKSPoints(pointCollection4, wksPoint)
Dim polyline As ESRI.ArcGIS.Geometry.IPolyline = TryCast(pointCollection4, ESRI.ArcGIS.Geometry.IPolyline)
polyline.SpatialReference = spatialReference
Return polyline
End Function