38 #define MAX_NUM_ITERATIONS 50000
131 double k0(
double start_angle,
double end_angle);
132 double k1(
double start_angle,
double end_angle);
133 double gamma(
double start_angle,
double end_angle);
134 double L(
double start_angle,
double end_angle);
147 std::vector <Point2D<double> >
pts;
170 params.
end_angle = start_angle + 0.5*gamma*L*L + k0*L;
double L(double start_angle, double end_angle)
EulerSpiralParams(const EulerSpiralParams &rhs)
std::vector< Point2D< double > > pts
void set_end_params(Point2D< double > end_pt, double end_angle)
void set_params(Point2D< double > start_pt, double start_angle, Point2D< double > end_pt, double end_angle)
double compute_error(double k0, double L)
~EulerSpiralLookupTable()
static EulerSpiralLookupTable * get_globalEulerSpiralLookupTable()
double angle0To2Pi(double angle)
void computeSpiral(std::vector< Point2D< double > > &spiral, double ds=0, int NPts=0)
EulerSpiralParams & operator=(const EulerSpiralParams &rhs)
double k0(double start_angle, double end_angle)
Point2D< double > get_fresnel_integral(double value)
Point2D< double > compute_es_point(EulerSpiralParams &es_params, double arclength, bool bNormalized=false)
Point2D< double > compute_end_pt(double arclength, bool bNormalized=false)
EulerSpiral(Point2D< double > start_pt, double start_angle, double k0, double gamma, double L)
void set_start_params(Point2D< double > start_pt, double start_angle)
double gamma(double start_angle, double end_angle)
EulerSpiral(Point2D< double > start_pt, double start_angle, Point2D< double > end_pt, double end_angle)
Point2D< double > start_pt
double k1(double start_angle, double end_angle)