17#include <geos/export.h>
18#include <geos/constants.h>
19#include <geos/util/IllegalArgumentException.h>
23class GEOS_DLL LineToCurveParams {
29 double getRadiusTolerance()
const {
30 return radiusTolerance;
34 double getMaxAngleDegrees()
const {
35 return maxAngleRadians * 180 / MATH_PI;
39 double getMaxAngleRadians()
const {
40 return maxAngleRadians;
44 double getMaxAngleDifferenceRadians()
const {
45 return maxAngleDifferenceRadians;
48 void setRadiusTolerance(
double tol) {
50 throw geos::util::IllegalArgumentException(
"Radius tolerance must be positive");
52 radiusTolerance = tol;
55 void setMaxAngleDifferenceRadians(
double tol) {
57 throw geos::util::IllegalArgumentException(
"Angle tolerance must be positive");
59 maxAngleDifferenceRadians = tol;
62 void setMaxAngleDifferenceDegrees(
double tol) {
63 setMaxAngleDifferenceRadians(tol * MATH_PI / 180.0);
66 void setMaxStepDegrees(
double tol) {
68 throw util::IllegalArgumentException(
"Angle step tolerance must be positive");
70 maxAngleRadians = tol * MATH_PI / 180.0;
74 double radiusTolerance{1e-6};
75 double maxAngleRadians{45.01 * MATH_PI / 180.0};
76 double maxAngleDifferenceRadians{0.01};
Contains classes and interfaces implementing fundamental computational geometry algorithms.
Definition Angle.h:32