An elliptic arc segment for use in a multipart geometry. More...
Header: | #include <EllipticArcSegment.h> |
Since: | Esri::ArcGISRuntime 100.12 |
Inherits: | Esri::ArcGISRuntime::Segment |
Public Functions
EllipticArcSegment() | |
EllipticArcSegment(const Esri::ArcGISRuntime::Point ¢erPoint, double rotationAngle, double semiMajorAxis, double minorMajorRatio, double startAngle, double centralAngle, const Esri::ArcGISRuntime::SpatialReference &spatialReference) | |
EllipticArcSegment(const Esri::ArcGISRuntime::Point &startPoint, const Esri::ArcGISRuntime::Point &endPoint, double rotationAngle, bool isMinor, bool isCounterClockwise, double semiMajorAxis, double minorMajorRatio, const Esri::ArcGISRuntime::SpatialReference &spatialReference) | |
EllipticArcSegment(const Esri::ArcGISRuntime::EllipticArcSegment &other) | |
EllipticArcSegment(const Esri::ArcGISRuntime::Segment &other) | |
EllipticArcSegment(Esri::ArcGISRuntime::EllipticArcSegment &&other) | |
~EllipticArcSegment() | |
Esri::ArcGISRuntime::Point | centerPoint() const |
double | centralAngle() const |
double | endAngle() const |
bool | isCircular() const |
bool | isCounterClockwise() const |
double | minorMajorRatio() const |
double | rotationAngle() const |
double | semiMajorAxis() const |
double | semiMinorAxis() const |
double | startAngle() const |
Esri::ArcGISRuntime::EllipticArcSegment & | operator=(const Esri::ArcGISRuntime::EllipticArcSegment &other) |
Esri::ArcGISRuntime::EllipticArcSegment & | operator=(Esri::ArcGISRuntime::EllipticArcSegment &&other) |
Static Public Members
Esri::ArcGISRuntime::EllipticArcSegment | createCircularEllipticArc(const Esri::ArcGISRuntime::Point ¢erPoint, double radius, double startAngle, double centralAngle, const Esri::ArcGISRuntime::SpatialReference &spatialReference) |
Esri::ArcGISRuntime::EllipticArcSegment | createCircularEllipticArc(const Esri::ArcGISRuntime::Point &startPoint, const Esri::ArcGISRuntime::Point &endPoint, const Esri::ArcGISRuntime::Point &interiorPoint, const Esri::ArcGISRuntime::SpatialReference &spatialReference) |
Detailed Description
An elliptic arc is the portion of the boundary of a 2D ellipse that connects two points.
Member Function Documentation
EllipticArcSegment::EllipticArcSegment ()
Default constructor. Creates an empty EllipticArcSegment.
See also isEmpty.
EllipticArcSegment::EllipticArcSegment (const Esri::ArcGISRuntime::Point ¢erPoint , double rotationAngle , double semiMajorAxis , double minorMajorRatio , double startAngle , double centralAngle , const Esri::ArcGISRuntime::SpatialReference &spatialReference )
Creates an elliptic arc based on parameters that define an ellipse and the portion of that ellipse that defines the arc.
- centerPoint - The center point of the embedded ellipse
- rotationAngle - The angle in radians by which the major axis of the embedded ellipse is rotated from the x-axis. A positive value corresponds to a counterclockwise rotation from the x-axis. The value is taken in form of the modulo of 2 * PI (360 degrees); for example an input rotation angle of 7.5 radians (430 degrees) would return a segment with a rotation angle of 1.22 radians (70 degrees).
- semiMajorAxis - The length of the semi-major axis of the embedded ellipse in the units of the spatial reference.
- minorMajorRatio - The ratio of the length of the semi-minor axis to the length of the semi-major axis of the embedded ellipse
- startAngle - The parametric angle in radians of the start of the arc relative to the major axis of the embedded ellipse. A positive value corresponds to a counterclockwise rotation from the major axis. The value is taken in form of the modulo of 2 * PI (360 degrees); for example an input rotation angle of 7.5 radians (430 degrees) would return a segment with a rotation angle of 1.22 radians (70 degrees).
- centralAngle - The parametric angle in radians measuring the span of the arc from startAngle to endAngle. A positive value corresponds to a counterclockwise arc sweep. Values larger than 2 * PI (360 degrees) return a segment with a central angle of exactly 2 * PI (360 degrees), resulting in a full ellipse where the start and end points are identical.
- spatialReference - A spatial reference to use for the segment if the center point parameter does not have a spatial reference set
The spatial reference parameter is used if the center point parameter has a nullptr
spatial reference. If both spatial references are supplied, they must be equal.
The z-value and m-value of the center point (if present) are ignored. Use EllipticArcSegment(const Esri::ArcGISRuntime::Point&, const Esri::ArcGISRuntime::Point&, double, bool, bool, double, double, const Esri::ArcGISRuntime::SpatialReference&, QObject*) to create an EllipticArcSegment with end points with z-value and/or m-value.
EllipticArcSegment::EllipticArcSegment (const Esri::ArcGISRuntime::Point &startPoint , const Esri::ArcGISRuntime::Point &endPoint , double rotationAngle , bool isMinor , bool isCounterClockwise , double semiMajorAxis , double minorMajorRatio , const Esri::ArcGISRuntime::SpatialReference &spatialReference )
Creates an elliptic arc segment from the given start and end points, and other parameters that define an ellipse.
- startPoint - The start point of the segment
- endPoint - The end point of the segment
- rotationAngle - The angle in radians by which the major axis of the embedded ellipse is rotated from the x-axis
- isMinor -
true
if centralAngle of the segment is less than PI - isCounterClockwise -
true
if the direction of the segment, from start point to end point, proceeds in a counterclockwise direction, otherwisefalse
- semiMajorAxis - The length of the semi-major axis of the embedded ellipse in the units of the spatial reference.
- minorMajorRatio - The ratio of the length of the semi-minor axis to the length of the semi-major axis of the embedded ellipse
- spatialReference - A spatial reference to use for the segment if the points do not have spatial references set
The z-value and m-value of the start and end points (if present) are used in the EllipticArcSegment.
To maintain the given startPoint and endPoint in the new segment, the other parameters may be adjusted if required. Such adjustments are made according to the Scalable Vector Graphics 1.1 Specification, Appendix F.6.5. If these cannot be adjusted sufficiently, an arc represented with a straight line is returned.
EllipticArcSegment::EllipticArcSegment (const Esri::ArcGISRuntime::EllipticArcSegment &other)
Copy constructor from other EllipticArcSegment.
[explicit]
EllipticArcSegment::EllipticArcSegment (const Esri::ArcGISRuntime::Segment &other)
Copy constructor from other Segment.
EllipticArcSegment::EllipticArcSegment (Esri::ArcGISRuntime::EllipticArcSegment &&other)
Move constructor from other EllipticArcSegment.
EllipticArcSegment::~EllipticArcSegment ()
Destructor.
Esri::ArcGISRuntime::Point EllipticArcSegment::centerPoint () const
Returns the center point of the ellipse that this segment is defined on.
double EllipticArcSegment::centralAngle () const
Returns the parametric angle in radians measuring the span of the arc from startAngle to endAngle.
A positive value corresponds to a counterclockwise arc sweep.
This value is always between -2*PI and 2*PI, these limits indicating this arc forms a complete ellipse in either clockwise or counterclockwise direction.
[static]
Esri::ArcGISRuntime::EllipticArcSegment EllipticArcSegment::createCircularEllipticArc (const Esri::ArcGISRuntime::Point ¢erPoint , double radius, double startAngle , double centralAngle , const Esri::ArcGISRuntime::SpatialReference &spatialReference )
Returns an EllipticArcSegment that is a partial circle shape from the center point and radius of the embedded circle, and the start and central angle around that circle.
- centerPoint - The center point of the embedded circle
- radius - The distance from the center of the embedded circle to its perimeter
- startAngle - The parametric angle in radians of the start of the arc relative to the major axis of the embedded ellipse ``
- centralAngle - The parametric angle in radians measuring the span of the arc from startAngle to endAngle
- spatialReference - The spatial reference of the new segment
The z-value and m-value of the center point (if present) are ignored. Use createCircularEllipticArc(const Esri::ArcGISRuntime::Point&, const Esri::ArcGISRuntime::Point&, const Esri::ArcGISRuntime::Point&, const Esri::ArcGISRuntime::SpatialReference&, QObject*) to create a circular EllipticArcSegment with end points with z-value and/or m-value.
[static]
Esri::ArcGISRuntime::EllipticArcSegment EllipticArcSegment::createCircularEllipticArc (const Esri::ArcGISRuntime::Point &startPoint , const Esri::ArcGISRuntime::Point &endPoint , const Esri::ArcGISRuntime::Point &interiorPoint , const Esri::ArcGISRuntime::SpatialReference &spatialReference )
Returns an EllipticArcSegment from start, end, and interior points that is a partial circle shape.
- startPoint - The start point of the segment
- endPoint - The end point of the segment
- interiorPoint - A point along the circular arc, between the start and end points
- spatialReference - The spatial reference of the new segment
The z-value and m-value of the start and end points (if present) are used in the circular EllipticArcSegment. The z-value and m-value of the interior point (if present) are ignored.
double EllipticArcSegment::endAngle () const
Returns the parametric angle in radians of the end of the arc relative to the major axis of the embedded ellipse.
A positive value corresponds to a counterclockwise rotation from the major axis.
bool EllipticArcSegment::isCircular () const
Returns if this arc is a portion of the boundary of a 2D circle.
An elliptic arc is circular if the ellipse on which it is based is a circle, meaning the lengths of its major and minor axes are equal.
Use createCircularEllipticArc(const Esri::ArcGISRuntime::Point&, double, double, double, const Esri::ArcGISRuntime::SpatialReference&, QObject*) and createCircularEllipticArc(const Esri::ArcGISRuntime::Point&, const Esri::ArcGISRuntime::Point&, const Esri::ArcGISRuntime::Point&, const Esri::ArcGISRuntime::SpatialReference&, QObject*) to create circular arcs.
bool EllipticArcSegment::isCounterClockwise () const
Returns if the direction of the segment, from start point to end point, proceeds in a counterclockwise direction.
double EllipticArcSegment::minorMajorRatio () const
Returns the ratio of the length of the semi-minor axis to the semi-major axis.
double EllipticArcSegment::rotationAngle () const
Returns the angle in radians, by which the major axis of the ellipse this segment is based on, is rotated from the x-axis.
double EllipticArcSegment::semiMajorAxis () const
Returns the length of the longer of the two axes of the ellipse on which this arc is based.
The semi-major axis always lies on the line between 0 and PI radians.
double EllipticArcSegment::semiMinorAxis () const
Returns the length of the shorter of the two axes of the ellipse on which this arc is based.
The semi-minor axis always lies on the line between PI/2 and 3*PI/2 radians.
double EllipticArcSegment::startAngle () const
Returns the parametric angle in radians of the start of the arc relative to the major axis of the embedded ellipse.
A positive value corresponds to a counterclockwise rotation from the major axis.
Esri::ArcGISRuntime::EllipticArcSegment &EllipticArcSegment::operator=(const Esri::ArcGISRuntime::EllipticArcSegment &other)
Assignment operator from other EllipticArcSegment.
Esri::ArcGISRuntime::EllipticArcSegment &EllipticArcSegment::operator=(Esri::ArcGISRuntime::EllipticArcSegment &&other)
Move operator from other EllipticArcSegment.