QGIS API Documentation
3.6.0-Noosa (5873452)
|
Regular Polygon geometry type. More...
#include <qgsregularpolygon.h>
Public Types | |
enum | ConstructionOption { InscribedCircle, CircumscribedCircle } |
A regular polygon can be constructed inscribed in a circle or circumscribed about a circle. More... | |
Public Member Functions | |
QgsRegularPolygon ()=default | |
Constructor for QgsRegularPolygon. More... | |
QgsRegularPolygon (const QgsPoint ¢er, double radius, double azimuth, unsigned int numberSides, ConstructionOption circle) | |
Constructs a regular polygon by center and parameters for the first vertex. More... | |
QgsRegularPolygon (const QgsPoint ¢er, const QgsPoint &pt1, unsigned int numberSides, ConstructionOption circle) | |
Constructs a regular polygon by center and another point. More... | |
QgsRegularPolygon (const QgsPoint &pt1, const QgsPoint &pt2, unsigned int numberSides) | |
Constructs a regular polygon by two points of the first side. More... | |
double | apothem () const |
Returns the apothem of the regular polygon. More... | |
double | area () const |
Returns the area. More... | |
QgsPoint | center () const |
Returns the center point of the regular polygon. More... | |
double | centralAngle () const |
Returns the measure of the central angle (the angle subtended at the center of the polygon by one of its sides) in degrees. More... | |
QgsCircle | circumscribedCircle () const |
Returns the circumscribed circle. More... | |
QgsPoint | firstVertex () const |
Returns the first vertex (corner) of the regular polygon. More... | |
QgsCircle | inscribedCircle () const |
Returns the inscribed circle. More... | |
double | interiorAngle () const |
Returns the measure of the interior angles in degrees. More... | |
bool | isEmpty () const |
A regular polygon is empty if radius equal to 0 or number of sides < 3. More... | |
double | length () const |
Returns the length of a side. More... | |
unsigned int | numberSides () const |
Returns the number of sides of the regular polygon. More... | |
bool | operator!= (const QgsRegularPolygon &rp) const |
bool | operator== (const QgsRegularPolygon &rp) const |
double | perimeter () const |
Returns the perimeter. More... | |
QgsPointSequence | points () const |
Returns a list including the vertices of the regular polygon. More... | |
double | radius () const |
Returns the radius. More... | |
void | setCenter (const QgsPoint ¢er) |
Sets the center point. More... | |
void | setFirstVertex (const QgsPoint &firstVertex) |
Sets the first vertex. More... | |
void | setNumberSides (unsigned int numberSides) |
Sets the number of sides. More... | |
void | setRadius (double radius) |
Sets the radius. More... | |
QgsLineString * | toLineString () const |
Returns as a linestring. More... | |
QgsPolygon * | toPolygon () const |
Returns as a polygon. More... | |
QString | toString (int pointPrecision=17, int radiusPrecision=17, int anglePrecision=2) const |
Returns a string representation of the regular polygon. More... | |
QgsTriangle | toTriangle () const |
Returns as a triangle. More... | |
QVector< QgsTriangle > | triangulate () const |
Returns a triangulation (vertices from sides to the center) of the regular polygon. More... | |
Regular Polygon geometry type.
A regular polygon is a polygon that is equiangular (all angles are equal in measure) and equilateral (all sides have the same length). The regular polygon is defined by a center point with a number of sides/vertices, a radius and the first vertex.
Definition at line 41 of file qgsregularpolygon.h.
A regular polygon can be constructed inscribed in a circle or circumscribed about a circle.
Enumerator | |
---|---|
InscribedCircle | |
CircumscribedCircle |
Definition at line 49 of file qgsregularpolygon.h.
|
default |
Constructor for QgsRegularPolygon.
QgsRegularPolygon::QgsRegularPolygon | ( | const QgsPoint & | center, |
double | radius, | ||
double | azimuth, | ||
unsigned int | numberSides, | ||
ConstructionOption | circle | ||
) |
Constructs a regular polygon by center and parameters for the first vertex.
An empty regular polygon is returned if numberSides < 3 or ConstructionOption isn't valid.
center | The center of the regular polygon. |
radius | Distance from the center and the first vertex or sides (see ConstructionOption). |
azimuth | Angle in degrees started from the North to the first vertex. |
numberSides | Number of sides of the regular polygon. |
circle | Option to create the polygon. |
Definition at line 23 of file qgsregularpolygon.cpp.
QgsRegularPolygon::QgsRegularPolygon | ( | const QgsPoint & | center, |
const QgsPoint & | pt1, | ||
unsigned int | numberSides, | ||
ConstructionOption | circle | ||
) |
Constructs a regular polygon by center and another point.
center | The center of the regular polygon. |
pt1 | The first vertex if the polygon is inscribed in circle or the midpoint of a side if the polygon is circumscribed about circle. |
numberSides | Number of sides of the regular polygon. |
circle | Option to create the polygon inscribed in circle (the radius is the distance between the center and vertices) or circumscribed about circle (the radius is the distance from the center to the midpoints of the sides). |
Definition at line 52 of file qgsregularpolygon.cpp.
QgsRegularPolygon::QgsRegularPolygon | ( | const QgsPoint & | pt1, |
const QgsPoint & | pt2, | ||
unsigned int | numberSides | ||
) |
Constructs a regular polygon by two points of the first side.
pt1 | The first vertex of the first side, also first vertex of the regular polygon. |
pt2 | The second vertex of the first side. |
numberSides | Number of sides of the regular polygon. |
Definition at line 81 of file qgsregularpolygon.cpp.
|
inline |
Returns the apothem of the regular polygon.
The apothem is the radius of the inscribed circle.
Definition at line 118 of file qgsregularpolygon.h.
double QgsRegularPolygon::area | ( | ) | const |
Returns the area.
Returns 0 if the regular polygon is empty.
Definition at line 275 of file qgsregularpolygon.cpp.
|
inline |
Returns the center point of the regular polygon.
Definition at line 97 of file qgsregularpolygon.h.
double QgsRegularPolygon::centralAngle | ( | ) | const |
Returns the measure of the central angle (the angle subtended at the center of the polygon by one of its sides) in degrees.
Definition at line 325 of file qgsregularpolygon.cpp.
QgsCircle QgsRegularPolygon::circumscribedCircle | ( | ) | const |
Returns the circumscribed circle.
Definition at line 252 of file qgsregularpolygon.cpp.
|
inline |
Returns the first vertex (corner) of the regular polygon.
Definition at line 111 of file qgsregularpolygon.h.
QgsCircle QgsRegularPolygon::inscribedCircle | ( | ) | const |
Returns the inscribed circle.
Definition at line 246 of file qgsregularpolygon.cpp.
double QgsRegularPolygon::interiorAngle | ( | ) | const |
Returns the measure of the interior angles in degrees.
Definition at line 320 of file qgsregularpolygon.cpp.
bool QgsRegularPolygon::isEmpty | ( | ) | const |
A regular polygon is empty if radius equal to 0 or number of sides < 3.
Definition at line 114 of file qgsregularpolygon.cpp.
double QgsRegularPolygon::length | ( | ) | const |
Returns the length of a side.
Returns 0 if the regular polygon is empty.
Definition at line 295 of file qgsregularpolygon.cpp.
|
inline |
Returns the number of sides of the regular polygon.
Definition at line 124 of file qgsregularpolygon.h.
bool QgsRegularPolygon::operator!= | ( | const QgsRegularPolygon & | rp | ) | const |
Definition at line 109 of file qgsregularpolygon.cpp.
bool QgsRegularPolygon::operator== | ( | const QgsRegularPolygon & | rp | ) | const |
Definition at line 101 of file qgsregularpolygon.cpp.
double QgsRegularPolygon::perimeter | ( | ) | const |
Returns the perimeter.
Returns 0 if the regular polygon is empty.
Definition at line 285 of file qgsregularpolygon.cpp.
QgsPointSequence QgsRegularPolygon::points | ( | ) | const |
Returns a list including the vertices of the regular polygon.
Definition at line 153 of file qgsregularpolygon.cpp.
|
inline |
Returns the radius.
This is also the radius of the circumscribing circle.
Definition at line 105 of file qgsregularpolygon.h.
void QgsRegularPolygon::setCenter | ( | const QgsPoint & | center | ) |
Sets the center point.
Radius is unchanged. The first vertex is reprojected from the new center.
Definition at line 121 of file qgsregularpolygon.cpp.
void QgsRegularPolygon::setFirstVertex | ( | const QgsPoint & | firstVertex | ) |
Sets the first vertex.
Radius is unchanged. The center is reprojected from the new first vertex.
Definition at line 137 of file qgsregularpolygon.cpp.
void QgsRegularPolygon::setNumberSides | ( | unsigned int | numberSides | ) |
Sets the number of sides.
If numberSides < 3, the number of sides is unchanged.
Definition at line 145 of file qgsregularpolygon.cpp.
void QgsRegularPolygon::setRadius | ( | double | radius | ) |
Sets the radius.
Center is unchanged. The first vertex is reprojected from the center with the new radius.
Definition at line 129 of file qgsregularpolygon.cpp.
QgsLineString * QgsRegularPolygon::toLineString | ( | ) | const |
Returns as a linestring.
Definition at line 194 of file qgsregularpolygon.cpp.
QgsPolygon * QgsRegularPolygon::toPolygon | ( | ) | const |
Returns as a polygon.
Definition at line 181 of file qgsregularpolygon.cpp.
QString QgsRegularPolygon::toString | ( | int | pointPrecision = 17 , |
int | radiusPrecision = 17 , |
||
int | anglePrecision = 2 |
||
) | const |
Returns a string representation of the regular polygon.
Members will be truncated to the specified precision.
Definition at line 258 of file qgsregularpolygon.cpp.
QgsTriangle QgsRegularPolygon::toTriangle | ( | ) | const |
Returns as a triangle.
An empty triangle is returned if the regular polygon is empty or if the number of sides is different from 3.
Definition at line 211 of file qgsregularpolygon.cpp.
QVector< QgsTriangle > QgsRegularPolygon::triangulate | ( | ) | const |
Returns a triangulation (vertices from sides to the center) of the regular polygon.
An empty list is returned if the regular polygon is empty.
Definition at line 224 of file qgsregularpolygon.cpp.