ArcObjects Library Reference (Geometry)  

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 VARIANT_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.ConstructBearingRadiusChord Method | IConstructCircularArc.ConstructBearingRadiusTangent Method | IConstructCircularArc.ConstructBearingRadiusAngle Method | IConstructCircularArc.ConstructBearingRadiusArc Method | IConstructCircularArc.ConstructBearingChordTangent Method | IConstructCircularArc.ConstructBearingChordArc Method | IConstructCircularArc.ConstructBearingArcTangent Method | IConstructCircularArc.ConstructBearingAngleTangent Method | IConstructCircularArc.ConstructBearingAngleArc Method | IConstructCircularArc.ConstructBearingAngleChord Method | IConstructAngle.ConstructThreePoint Method | IConstructAngle.ConstructLine Method