21 #include <geos/export.h> 22 #include <geos/algorithm/Orientation.h> 41 static constexpr
double PI_TIMES_2 = 2.0 * MATH_PI;
42 static constexpr
double PI_OVER_2 = MATH_PI / 2.0;
43 static constexpr
double PI_OVER_4 = MATH_PI / 4.0;
46 static const int COUNTERCLOCKWISE = Orientation::COUNTERCLOCKWISE;
49 static const int CLOCKWISE = Orientation::CLOCKWISE;
52 static const int NONE = Orientation::COLLINEAR;
59 static double toDegrees(
double radians);
66 static double toRadians(
double angleDegrees);
77 static double angle(
const geom::CoordinateXY& p0,
78 const geom::CoordinateXY& p1);
89 static double angle(
const geom::CoordinateXY& p);
102 static bool isAcute(
const geom::CoordinateXY& p0,
103 const geom::CoordinateXY& p1,
104 const geom::CoordinateXY& p2);
117 static bool isObtuse(
const geom::CoordinateXY& p0,
118 const geom::CoordinateXY& p1,
119 const geom::CoordinateXY& p2);
130 static double angleBetween(
const geom::CoordinateXY& tip1,
131 const geom::CoordinateXY& tail,
132 const geom::CoordinateXY& tip2);
146 static double angleBetweenOriented(
const geom::CoordinateXY& tip1,
147 const geom::CoordinateXY& tail,
148 const geom::CoordinateXY& tip2);
163 static double interiorAngle(
const geom::CoordinateXY& p0,
164 const geom::CoordinateXY& p1,
165 const geom::CoordinateXY& p2);
176 static int getTurn(
double ang1,
double ang2);
185 static double normalize(
double angle);
205 static double normalizePositive(
double angle);
218 static double diff(
double ang1,
double ang2);
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:216
Basic namespace for all GEOS functionalities.
Definition: Angle.h:25
Utility functions for working with angles.
Definition: Angle.h:38