Click or drag to resize

CircularBase Class

[This is preliminary documentation and is subject to change.]

Base class for any kind of circular geometry
Inheritance Hierarchy
SystemObject
  Infrastructure.Geometry.CurvesCurve
    Infrastructure.Geometry.CurvesCircularBase
      Infrastructure.Geometry.CurvesCircle3Points
      Infrastructure.Geometry.CurvesCircularArc

Namespace:  Infrastructure.Geometry.Curves
Assembly:  Infrastructure.Geometry (in Infrastructure.Geometry.dll) Version: 1.13.0+Branch.master.Sha.d583fc64569355d188a9c0818d257b6d0d3e1339
Syntax
C#
public abstract class CircularBase : Curve

The CircularBase type exposes the following members.

Constructors
  NameDescription
Protected methodCircularBase
Creates a circular curve from the provided points
Top
Properties
  NameDescription
Public propertyBegin
The first point of the curve
(Inherited from Curve.)
Public propertyCenter
The center point of the circle on which the arc is positioned
Protected propertyCenterAngle
The angle formed between the lines of center to head and center to tail
Public propertyEnd
The last point of the curve
(Inherited from Curve.)
Public propertyIsValid
Determines if the data provided makes for a valid circle
Public propertyNumberOfPointsRequiredForRendering
Determines how many points the curve needs in order to be rendered correctly
(Overrides CurveNumberOfPointsRequiredForRendering.)
Public propertyPoints
The list of points that make up the curve
(Inherited from Curve.)
Public propertyRadius
The distance between the center and any point on the arc
Top
Methods
  NameDescription
Protected methodCalculatePointOnPosition
Calculates the coordinates of the point at the requested, relative, position
Protected methodCheckRelativeParameters
Checks the given relative parameters if they are OK
(Overrides CurveCheckRelativeParameters(Double, Double).)
Protected methodDetermineRelativePart (Overrides CurveDetermineRelativePart(Double, Double).)
Public methodGetAbsolutePart(Double, Double)
Retrieves an absolute part of the curve as new curve
(Inherited from Curve.)
Public methodGetAbsolutePart(Double, Double, Origin)
Retrieves an absolute part of the curve as a new curve. The origin parameter will dictate the direction of the curve
(Inherited from Curve.)
Public methodGetCoordinateSystemOnRelativePosition
Returns the coordinate system in a given point on the curve
(Overrides CurveGetCoordinateSystemOnRelativePosition(Double, CoordinateSystemAdjustment).)
Public methodGetPointOnPosition
Retrieve a point on the specified position of the curve
(Overrides CurveGetPointOnPosition(Double).)
Public methodGetPositions
Generate a list of relative values that represent positions on the curve. All values are between 0 and 1
(Inherited from Curve.)
Public methodGetPositionsByApproximation
Generate a list of relative values that represent positions on the curve. The amount of values returned is determined by GetSegmentCount
(Inherited from Curve.)
Public methodGetPositionsByCount
Generate a number of relative values that represent positions on the curve. All values are between 0 and 1
(Inherited from Curve.)
Public methodGetRelativePart(Double, Double)
Retrieves a relative part of the curve as new curve
(Inherited from Curve.)
Public methodGetRelativePart(Double, Double, Origin)
Retrieves a relative part of the curve as a new curve. The origin parameter will dictate the direction of the curve
(Inherited from Curve.)
Public methodCode exampleGetSegmentCount
Determines out of how many "segments" the curve should exist when rendering.
(Overrides CurveGetSegmentCount.)
Public methodGetTangentVector
Retrieves the tangent vector of the curve at the specified position
(Overrides CurveGetTangentVector(Double).)
Public methodIsPointOn
Verifies the given point is on the curve
(Inherited from Curve.)
Public methodLength
Determines the length of the curve, in meters
(Overrides CurveLength.)
Top
Fields
  NameDescription
Protected fieldCenterToHead
Vector that describes the change in XYZ from the center point of the circle to the head of the circumference
Protected fieldCenterToIntermediate
Vector that describes the change in XYZ from the center point to an intermediate point on the circumference
Protected fieldStatic memberPrecision
The precision of doubles used when doing calculations / comparisons
Protected fieldZNormalVector
Vector that describes the normal of the Z axis
Top
Remarks
The code found in CreateVectors(IEnumerablePoint) and SolveArc(Double) comes from the following SO: https://stackoverflow.com/a/16641390
See Also