|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
@UML(identifier="GM_ArcStringByBulge", specification=ISO_19107) public interface ArcStringByBulge
A variant of the arc that stores the parameters of the second constructor of the component arcs and recalculates the other attributes of the standard arc. The control point sequence is similar to that in arc string, but the midPoint position is not needed since it is to be calculated. The control point sequence shall consist of the start and end points of each arc.
GeometryFactory.createArcStringByBulge(java.util.List, double[], java.util.List)
Method Summary | |
---|---|
ArcString |
asArcString()
Recast as a base arc string. |
double[] |
getBulges()
Returns the offset of each arc's midpoint. |
CurveInterpolation |
getInterpolation()
The interpolation for a ArcStringByBulge is
"Circular arc by 2 points and bulge factor". |
List<double[]> |
getNormals()
Returns a vector normal (perpendicular) to the chord of the arc, the line joining the first and last point of the arc. |
int |
getNumArc()
Returns the number of circular arcs in the string. |
Methods inherited from interface CurveSegment |
---|
getBoundary, getCurve, getNumDerivativesAtEnd, getNumDerivativesAtStart, getNumDerivativesInterior, getSamplePoints, reverse |
Methods inherited from interface GenericCurve |
---|
asLineString, forConstructiveParam, forParam, getEndConstructiveParam, getEndParam, getEndPoint, getParamForPoint, getStartConstructiveParam, getStartParam, getStartPoint, getTangent, length, length |
Method Detail |
---|
@UML(identifier="bulge", obligation=MANDATORY, specification=ISO_19107) double[] getBulges()
The bulge is not given by a distance, since it is simply a multiplier for the normal, the unit of the offset distance is determined by the length function for vectors in the coordinate reference system. In the examples in this specification, the normal is often given as a Euclidean unit vector, which may or may not fix its length to one depending of the distance formulae used for the coordinate reference system.
The midpoint of the resulting arc is given by:
midPoint = ((startPoint
+
endPoint
)/2.0)
+ bulge×normal
@UML(identifier="numArc", obligation=MANDATORY, specification=ISO_19107) int getNumArc()
numArc =controlPoints
.length - 1
@UML(identifier="normal", obligation=MANDATORY, specification=ISO_19107) List<double[]> getNormals()
The normal is usually a unit vector, but this is not absolutely necessary. If the normal is a zero vector, the geometric object becomes equivalent to the straight line between the two end points. The length of the normal sequence is exactly the same as for the bulge sequence, 1 less than the control point sequence length.
@UML(identifier="interpolation", obligation=MANDATORY, specification=ISO_19107) CurveInterpolation getInterpolation()
ArcStringByBulge
is
"Circular arc by 2 points and bulge factor".
getInterpolation
in interface CurveSegment
CurveInterpolation.CIRCULAR_ARC_2_POINTS_WITH_BULGE
.@UML(identifier="asGM_ArcString", obligation=MANDATORY, specification=ISO_19107) ArcString asArcString()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |