

PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: NESTED  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 
@UML(identifier="GM_Arc", specification=ISO_19107) public interface Arc
Arc of the circle determined by 3 points, starting at the first, passing through the second and terminating at the third. If the 3 points are colinear, then the arc shall be a 3point line string, and will not be able to return values for center, radius, start angle and end angle.
NOTE: In the model, anIn its simplest representation, the three points in the control point sequence for anArc
is a subclass ofArcString
, being a trivial arc string consisting of only one arc. This may be counterintuitive in the sense that subclasses are often thought of as more complex than their superclass (with additional methods and attributes). AnArc
is simpler than a arc string in that it has less data, but it is more complex in that it can return geometric information such as "center", "start angle", and "end angle". This additional computational complexity forces the subclassing to be the way it is. In addition the "is type of" semantics works this way and not the other.
Arc
shall consist of, in order, the initial point on the arc, some
point on the arc neither at the start or end, and the end point of the Arc
. If
additional points are given, then all points must lie on the circle defined by any 3 noncolinear
points in the control point array. All points shall lie on the same circle, and shall be given
in the control point array in the order in which they occur on
the arc.
NOTE: The use of the term "midPoint" for the center position of the control point sequence is not meant to require that the position be the geometric midpoint of the arc. This is the best choice for this position from a computational stability perspective, but it is not absolutely necessary for the mathematics to work.
GeometryFactory.createArc(Position,Position,Position)
,
GeometryFactory.createArc(Position,Position,double,double[])
Method Summary  

DirectPosition 
getCenter()
Calculates the center of the circle of which this arc is a portion as a direct position. 
Bearing 
getEndAngle()
Calculates the bearing of the line from the center of the circle of which this arc is a portion to the end point of the arc. 
double 
getRadius()
Calculates the radius of the circle of which this arc is a portion. 
Bearing 
getStartAngle()
Calculates the bearing of the line from the center of the circle of which this arc is a portion to the start point of the arc. 
Methods inherited from interface ArcString 

asArcs, getControlPoints, getInterpolation, getNumArc 
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="center", obligation=MANDATORY, specification=ISO_19107) DirectPosition getCenter()
Arc
. In some extreme cases, the direct
position as calculated may lie outside the domain of validity of the coordinate reference
system used by this Arc
(especially if the underlying arc has a very large
radius). Implementations may choose an appropriate course of action in such cases.
@UML(identifier="radius", obligation=MANDATORY, specification=ISO_19107) double getRadius()
@UML(identifier="startAngle", obligation=MANDATORY, specification=ISO_19107) Bearing getStartAngle()
start point
of this arc.@UML(identifier="endAngle", obligation=MANDATORY, specification=ISO_19107) Bearing getEndAngle()
end point
of this arc.


PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: NESTED  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 