Package com.luciad.shape
Interface ILcdCircularArcByBulge
- All Superinterfaces:
Cloneable
,ILcdBounded
,ILcdCircularArc
,ILcdCloneable
,ILcdCurve
,ILcdShape
,Serializable
- All Known Subinterfaces:
ILcd2DEditableCircularArcByBulge
- All Known Implementing Classes:
TLcdGML31ArcByBulge
,TLcdGML32ArcByBulge
,TLcdLonLatCircularArcByBulge
,TLcdXYCircularArcByBulge
A circular arc that is defined by a start point, end point and a bulge factor.
A bulge factor of 1 means that the arc defines half a circle.
As the bulge factor goes towards 0 the arc becomes flatter (i.e. the radius of the arc's circle increases).
The sign of the bulge indicates whether the bulge is on the left side (positive) or right side (negative)
of the vector from start to end point.
More specifically, consider the chord between start and end point
(dashed line between S and E in the picture),
with a point C in the middle of it. The midpoint M of the arc is located on a line that starts
from C and is oriented along the normal. The bulge factor is the ratio of the distance of MC and SC.
The sign of the bulge indicates whether the midpoint is on the left side (positive, as in the picture)
or right side (negative) of the vector from start to end point.
The following image clarifies the properties of a circular arc-by-bulge. The arc is represented
in black, the start, end and mid points in red and the chord and line from the mid point to the
chord in grey.
A circular arc-by-bulge where the start and end point coincide represents an arc on a circle
with these points as its center and a radius of 0. The start angle and arc angle are undefined
in this case.
- Since:
- 9.0
-
Field Summary
Fields inherited from interface com.luciad.shape.ILcdCurve
INTERPOLATION_CIRCLE_BY_3POINTS, INTERPOLATION_CIRCLE_BY_CENTERPOINT, INTERPOLATION_CIRCULARARC_BY_3POINTS, INTERPOLATION_CIRCULARARC_BY_BULGE, INTERPOLATION_CIRCULARARC_BY_CENTERPOINT, INTERPOLATION_ELLIPTICAL, INTERPOLATION_GEODESIC, INTERPOLATION_LINEAR, INTERPOLATION_MIXED, INTERPOLATION_RHUMB
-
Method Summary
Modifier and TypeMethodDescriptiondouble
getBulge()
Returns the bulge factor of this arc.Returns the interpolation method used by this curve, which isILcdCurve.INTERPOLATION_CIRCULARARC_BY_BULGE
.Methods inherited from interface com.luciad.shape.ILcdBounded
getBounds
Methods inherited from interface com.luciad.shape.ILcdCircularArc
getArcAngle, getCenter, getRadius, getStartAngle
Methods inherited from interface com.luciad.util.ILcdCloneable
clone
Methods inherited from interface com.luciad.shape.ILcdCurve
computePointSFCT, getEndPoint, getEndTangent2D, getLength2D, getLineSegmentIntersectionCount, getStartPoint, getStartTangent2D, getTangent2D
Methods inherited from interface com.luciad.shape.ILcdShape
contains2D, contains2D, contains3D, contains3D, getFocusPoint
-
Method Details
-
getBulge
double getBulge()Returns the bulge factor of this arc. The bulge factor is the ratio of (1) the distance between the arc midpoint and the center of the arc's chord, and (2) half the length of the arc's chord. The sign of the bulge indicates whether the midpoint is on the left side (positive) or right side (negative) of the vector from start to end point. So a bulge factor with an absolute value of 1 means a half-circle, smaller than 1 means a less bulging arc and larger than 1 means an arc that bulges out in the start and end point.- Returns:
- the bulge factor of this arc.
-
getInterpolation
String getInterpolation()Returns the interpolation method used by this curve, which isILcdCurve.INTERPOLATION_CIRCULARARC_BY_BULGE
.- Specified by:
getInterpolation
in interfaceILcdCircularArc
- Specified by:
getInterpolation
in interfaceILcdCurve
- Returns:
- the interpolation method used by this curve,
which is
INTERPOLATION_CIRCULARARC_BY_BULGE
.
-