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


IConstructCircularArc.ConstructBearingArcTangent Method (ArcObjects .NET 10.8 SDK)
ArcObjects Help for .NET developers > ArcObjects Help for .NET developers > ArcObjects namespaces > Geometry > ESRI.ArcGIS.Geometry > Interfaces > IC > IConstructCircularArc Interface > IConstructCircularArc.ConstructBearingArcTangent Method
ArcGIS Developer Help

IConstructCircularArc.ConstructBearingArcTangent Method

Constructs an arc with the given chord bearing, arc distance and tangent distance.

[Visual Basic .NET]
Public Sub ConstructBearingArcTangent ( _
    ByVal from As IPoint, _
    ByVal inAngle As Double, _
    ByVal isCCW As Boolean, _
    ByVal arcDistance As Double, _
    ByVal tangentDistance As Double _
)
[C#]
public void ConstructBearingArcTangent (
    IPoint from,
    double inAngle,
    bool isCCW,
    double arcDistance,
    double tangentDistance
);
[C++]
HRESULT ConstructBearingArcTangent(
  IPoint* from,
  double inAngle,
  VARIANT_BOOL isCCW,
  double arcDistance,
  double tangentDistance
);
[C++]
Parameters
from 

from is a parameter of type IPoint* inAngle
inAngle is a parameter of type double isCCW
isCCW is a parameter of type bool arcDistance
arcDistance is a parameter of type double tangentDistance
tangentDistance is a parameter of type double

Product Availability

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

Description

Constructs a CircularArc given the From Point, the Bearing Angle, the desired orientation, the desired CircularArc Length, and the desired Tangent Distance.  The Bearing Angle is measured in radians.  The Tangent Distance must be greater than half the Arc Distance, otherwise an error is returned.

Remarks

-isCCW stands for "is counter clockwise"

ConstructCircularArc Bearing Angle Example

[C#]
private void ConstructBearingArcTangent()
{
  IConstructCircularArc constructCircularArc = new CircularArcClass();
  ICircularArc circularArc = constructCircularArc as ICircularArc;
  
  IPoint fromPoint = new PointClass();
  fromPoint.PutCoords(100, 100);
 
  //The angles should be in Radians (Radians = Degrees * PI/180)
  constructCircularArc.ConstructBearingArcTangent(fromPoint, 0, true, 100, 300);
   
  String report = "Length : " + circularArc.Length + "\n" +
                  "Radius : " + circularArc.Radius + "\n" +
                  "Chord Height : " + circularArc.ChordHeight + "\n" +
                  "Central Angle (Rad) : " + circularArc.CentralAngle + "\n" +
                  "From Angle (Rad) : " + circularArc.FromAngle + "\n" +
                  "To Angle (Rad) : " + circularArc.ToAngle + "\n" +
                  "Center Point : " + circularArc.CenterPoint.X + " , " + circularArc.CenterPoint.Y + "\n" +
                  "From Point : " + circularArc.FromPoint.X + " , " + circularArc.FromPoint.Y + "\n" +
                  "To Point : " + circularArc.ToPoint.X + " , " + circularArc.ToPoint.Y;
  System.Windows.Forms.MessageBox.Show(report);


}

[Visual Basic .NET]

Private Sub ConstructBearingArcTangent()
  Dim pConstructCircularArc As ESRI.ArcGIS.Geometry.IConstructCircularArc
  Dim pCArc As ESRI.ArcGIS.Geometry.ICircularArc
  Dim Pi As Double
  Dim pFromPoint As ESRI.ArcGIS.Geometry.IPoint
  pConstructCircularArc = New ESRI.ArcGIS.Geometry.CircularArc
  pCArc = pConstructCircularArc
  Pi = 4 * Math.Atan(1) 'Calculate the value of pi.
  pFromPoint = New ESRI.ArcGIS.Geometry.Point
  pFromPoint.PutCoords(100, 100)
  'The angles should be in Radians (Radians = Degrees * PI/180)
  pConstructCircularArc.ConstructBearingArcTangent(pFromPoint, 0, True, 100, 300)
  Debug.Print("Length : " & pCArc.Length)
  Debug.Print("Radius : " & pCArc.Radius)
  Debug.Print("Chord Height : " & pCArc.ChordHeight)
  Debug.Print("Central Angle (Rad) : " & pCArc.CentralAngle)
  Debug.Print("From Angle (Rad) : " & pCArc.FromAngle)
  Debug.Print("To Angle (Rad) : " & pCArc.ToAngle)
  Debug.Print("Center Point : " & pCArc.CenterPoint.X & " , " & pCArc.CenterPoint.Y)
  Debug.Print("From Point : " & pCArc.FromPoint.X & " , " & pCArc.FromPoint.Y)
  Debug.Print("To Point : " & pCArc.ToPoint.X & " , " & pCArc.ToPoint.Y)
End Sub

See Also

IConstructCircularArc Interface | IConstructCircularArc.ConstructBearingAngleTangent Method | IConstructCircularArc.ConstructBearingRadiusChord Method | IConstructCircularArc.ConstructBearingArcTangent Method | IConstructCircularArc.ConstructBearingChordTangent Method | IConstructCircularArc.ConstructBearingChordArc Method | IConstructCircularArc.ConstructBearingRadiusAngle Method | IConstructCircularArc.ConstructBearingRadiusArc Method | IConstructCircularArc.ConstructBearingRadiusTangent Method | IConstructCircularArc.ConstructBearingAngleChord Method | IConstructCircularArc.ConstructBearingAngleArc Method | IConstructAngle.ConstructThreePoint Method | IConstructAngle.ConstructLine Method