Class Arc
  
  An arc is any portion (other than the entire curve) of the circumference of a circle.
Represents the value of a plane, two angles (interval in radians) and a radius (radians).
The arc run ccw rotation where Xaxis and Yaxis form a orthonormal frame.
    Inheritance
    System.Object
    
    
    Arc
   
   
  
    Inherited Members
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
      System.Object.Equals(System.Object, System.Object)
    
    
      System.Object.GetType()
    
    
      System.Object.MemberwiseClone()
    
    
      System.Object.ReferenceEquals(System.Object, System.Object)
    
   
  Syntax
  
    public class Arc : Circle, IGeometry<NurbsBase>, IEquatable<NurbsBase>, ITransformable<NurbsBase>, IGeometry<Circle>, IEquatable<Circle>, ITransformable<Circle>, IGeometry<Arc>, IEquatable<Arc>, ITransformable<Arc>
   
  Examples
  // Initializes an arc by plane, radius and angle.
double angle = GSharkMath.ToRadians(40);
_exampleArc2D = new Arc(Plane.PlaneXY, 15, angle);
// Initializes an arc by 3 points.
Point3 pt1 = new Point3(74.264416, 36.39316, -1.884313);
Point3 pt2 = new Point3(97.679126, 13.940616, 3.812853);
Point3 pt3 = new Point3(100.92443, 30.599893, -0.585116);
_exampleArc3D = new Arc(pt1, pt2, pt3);
  Constructors
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Arc(Plane, Double, Interval)
  Initializes an arc from a plane, a radius and an angle domain expressed as an interval in radians.
Declaration
  
    public Arc(Plane plane, double radius, Interval angleDomainRadians)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | Plane | plane | Base plane. | 
      
        | System.Double | radius | Radius value in radians. | 
      
        | Interval | angleDomainRadians | Interval defining the angle in radians of the arc. Interval should be between 0.0 to 2Pi | 
    
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Arc(Plane, Double, Double)
  Initializes an arc from a plane, a radius and an angle in radians.
Declaration
  
    public Arc(Plane plane, double radius, double angleRadians)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | Plane | plane | Base plane. | 
      
        | System.Double | radius | Radius value. | 
      
        | System.Double | angleRadians | Angle of the arc in radians. | 
    
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Arc(Point3, Point3, Point3)
  Initializes an arc from three points.
Declaration
  
    public Arc(Point3 pt1, Point3 pt2, Point3 pt3)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | Point3 | pt1 | Start point of the arc. | 
      
        | Point3 | pt2 | Interior point on arc. | 
      
        | Point3 | pt3 | End point of the arc. | 
    
  
  Properties
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Angle
  Gets the angle of this arc.
Angle value in radians.
Declaration
  
    public double Angle { get; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | System.Double |  | 
    
  
  Methods
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  BoundingBox()
  
  
  Declaration
  
    public BoundingBox BoundingBox()
   
  Returns
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  ByStartEndDirection(Point3, Point3, Vector3)
  Creates an arc defined by a start point, end point and a direction at the first point.
Declaration
  
    public static Arc ByStartEndDirection(Point3 ptStart, Point3 ptEnd, Vector3 dir)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | Point3 | ptStart | Start point arc. | 
      
        | Point3 | ptEnd | End point arc. | 
      
        | Vector3 | dir | TangentAt direction at start. | 
    
  
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | Arc | An arc. | 
    
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Equals(Arc)
  Determines whether the arc is equal to another.
The arcs are equal if have the same plane, radius and angle.
Declaration
  
    public bool Equals(Arc other)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | Arc | other | The arc to compare to. | 
    
  
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | System.Boolean | True if the arc are equal, otherwise false. | 
    
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  GetHashCode()
  Computes a hash code for the arc.
Declaration
  
    public override int GetHashCode()
   
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | System.Int32 | A unique hashCode of an arc. | 
    
  
  Overrides
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Offset(Double)
  Computes the offset of the arc.
Declaration
  
    public Arc Offset(double distance)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | System.Double | distance | The distance of the offset. | 
    
  
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | Arc | The offset arc. | 
    
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  ToString()
  Gets the text representation of an arc.
Declaration
  
    public override string ToString()
   
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | System.String | Text value. | 
    
  
  Overrides
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  
  Applies a transformation to the plane where the arc is on.
Declaration
  
    public Arc Transform(TransformMatrix t)
   
  Parameters
  
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | Arc | A transformed arc. | 
    
  
  Implements
  
  
      System.IEquatable<T>
  
  
  
  
      System.IEquatable<T>
  
  
  
  
      System.IEquatable<T>