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


IConstructCircularArc.ConstructBearingAngleTangent 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.ConstructBearingAngleTangent Method
ArcGIS Developer Help

IConstructCircularArc.ConstructBearingAngleTangent Method

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

[Visual Basic .NET]
Public Sub ConstructBearingAngleTangent ( _
    ByVal from As IPoint, _
    ByVal inAngle As Double, _
    ByVal isCCW As Boolean, _
    ByVal CentralAngle As Double, _
    ByVal tangentDistance As Double _
)
[C#]
public void ConstructBearingAngleTangent (
    IPoint from,
    double inAngle,
    bool isCCW,
    double CentralAngle,
    double tangentDistance
);
[C++]
HRESULT ConstructBearingAngleTangent(
  IPoint* from,
  double inAngle,
  VARIANT_BOOL isCCW,
  double CentralAngle,
  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 CentralAngle
CentralAngle 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 Central Angle, and the desired Tangent Distance.  The Bearing Angle and Central Angle are measured in radians.  The Central Angle should be less than 2 * Pi to ensure proper results.  If the Central Angle is greater than Pi, the Tangent Distance is measured opposite the direction of the tangents.

Remarks

-isCCW stands for "is counter clockwise"

ConstructCircularArc Bearing Angle Example

[C#]
private void ConstructBearingAngleTangent()
{
  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.ConstructBearingAngleTangent(fromPoint, 0, true, (90 * (Math.PI / 180)), 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 ConstructBearingAngleTangent()
  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.ConstructBearingAngleTangent(pFromPoint, 0, True, (90 * Pi) / 180, 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