|
| Spline (double geometric_resolution=0.1, int order=3) |
|
| Spline (double geometric_resolution, SISLCurve *curve) |
|
| Spline (SplineBase const &base) |
|
vector_t | getStartPoint () const |
|
vector_t | getEndPoint () const |
|
void | setSingleton (vector_t const &v) |
|
vector_t | getPoint (double _param) const |
|
std::vector< vector_t > | getPoints (std::vector< double > const ¶meters) const |
|
Spline | derive (int order) const |
|
bool | doAdvance (double &result, double &cur_length, double target, double start, vector_t const &start_p, double end, vector_t const &end_p, double _geores) const |
|
std::pair< double, double > | advance (double t, double length, double _geores) const |
|
double | length (double start, double end, double _geores) const |
|
std::pair< vector_t, vector_t > | getPointAndTangent (double _param) const |
|
std::vector< vector_t > | sample (double _geores, std::vector< double > *parameters=0, int max_recursion=20) const |
|
void | sample (std::vector< vector_t > &result, double _geores, std::vector< double > *parameters=0, int max_recursion=20) const |
|
void | sample (std::vector< vector_t > &result, double start, vector_t const &start_p, double end, vector_t const &end_p, double _geores, std::vector< double > *parameters, int max_recursion=20) const |
|
void | interpolate (std::vector< vector_t > const &points, std::vector< double > const ¶meters=std::vector< double >(), std::vector< SplineBase::CoordinateType > const &coord_types=std::vector< SplineBase::CoordinateType >()) |
|
void | interpolate (std::vector< vector_t > const &points, std::vector< double > ¶metersOut, std::vector< double > const ¶metersIn=std::vector< double >(), std::vector< SplineBase::CoordinateType > const &coord_types=std::vector< SplineBase::CoordinateType >()) |
|
void | interpolate (std::vector< vector_ta > const &points, std::vector< double > ¶metersOut, std::vector< double > const ¶metersIn=std::vector< double >(), std::vector< SplineBase::CoordinateType > const &coord_types=std::vector< SplineBase::CoordinateType >()) |
|
void | interpolate (std::vector< vector_ta > const &points, std::vector< double > const ¶meters=std::vector< double >(), std::vector< SplineBase::CoordinateType > const &coord_types=std::vector< SplineBase::CoordinateType >()) |
|
void | interpolate (std::vector< double > const &coordinates, std::vector< double > const ¶meters=std::vector< double >(), std::vector< SplineBase::CoordinateType > const &coord_types=std::vector< SplineBase::CoordinateType >()) |
|
void | interpolate (std::vector< double > const &coordinates, std::vector< double > ¶meterOut, std::vector< double > const ¶meterIn=std::vector< double >(), std::vector< SplineBase::CoordinateType > const &coord_types=std::vector< SplineBase::CoordinateType >()) |
|
double | distanceTo (vector_t const &_pt) const |
|
template<typename Test > |
std::pair< double, double > | dichotomic_search (double start_t, double end_t, Test test, double resolution, double parameter_threshold) const |
|
template<typename Test > |
std::pair< double, double > | dichotomic_search (double start_t, vector_t const &start_p, double end_t, vector_t const &end_p, Test test, double resolution, double parameter_threshold) const |
|
void | findSphereIntersections (vector_t const &_center, double _radius, std::vector< double > &points, std::vector< std::pair< double, double > > &segments) const |
|
void | findSphereIntersections (vector_t const &_center, double _radius, std::vector< double > &points, std::vector< std::pair< double, double > > &segments, double _geores) const |
|
void | findPointIntersections (vector_t const &_point, std::vector< double > &_result_points, std::vector< std::pair< double, double > > &_result_curves, double _geores) const |
|
std::pair< double, bool > | findOneLineIntersection (vector_t const &_pt, vector_t const &_normal) const |
|
std::pair< double, bool > | findOneLineIntersection (vector_t const &_pt, vector_t const &_normal, double geometric_resolution) const |
|
std::pair< double, bool > | findOneLineIntersection (vector_t const &_pt, vector_t const &_normal, double _guess, double _geometric_resolution) const |
|
std::pair< double, bool > | findOneLineIntersection (vector_t const &_pt, vector_t const &_normal, vector_t const &_guess, double _geometric_resolution) const |
|
void | findLineIntersections (vector_t const &_point, vector_t const &_normal, std::vector< double > &_result_points, std::vector< std::pair< double, double > > &_result_curves, double _geores) const |
|
void | findSegmentIntersections (vector_t const &_p0, vector_t const &_p1, std::vector< double > &_result_points, std::vector< std::pair< double, double > > &_result_curves, double _geores) const |
|
bool | isIntersectingSegment (vector_t const &_p0, vector_t const &_p1, double _geores) |
|
double | findOneClosestPoint (vector_t const &_pt) const |
|
bool | isCloser (const vector_t &p, const double &squaredDist, const double param, vector_t &pOfParam, double &squaredDistOfParam) const |
|
double | findOneClosestPoint (vector_t const &_pt, double _geometric_resolution) const |
|
double | findOneClosestPoint (vector_t const &_pt, double _guess, double _geometric_resolution) const |
|
void | findClosestPoints (vector_t const &_pt, std::vector< double > &_points, std::vector< std::pair< double, double > > &_curves) const |
|
void | findClosestPoints (vector_t const &_pt, std::vector< double > &_points, std::vector< std::pair< double, double > > &_curves, double _geores) const |
|
double | localClosestPointSearch (vector_t const &_pt, double _guess, double _start, double _end) |
|
double | localClosestPointSearch (vector_t const &_pt, double _guess, double _start, double _end, double _geores) |
|
template<typename Transform > |
void | transform (Transform const &t) |
|
| SplineBase (SplineBase const &source) |
|
| ~SplineBase () |
|
| SplineBase (int dimension, double geometric_resolution=0.1, int order=3) |
|
| SplineBase (double geometric_resolution, SISLCurve *curve) |
|
void | setGeometricResolution (double _geores) |
|
double | getGeometricResolution () const |
|
bool | isEmpty () const |
|
bool | isSingleton () const |
|
int | getDimension () const |
|
int | getPointCount () const |
|
void | setCurveOrder (int value) |
|
int | getCurveOrder () const |
|
double | getCurveLength (double relative_resolution=0.01) const |
|
double | getCurveLength (double startParam, double relative_resolution) const |
|
double | getCurveLength (double startParam, double endParam, double relative_resolution) const |
|
double | getCurvatureMax () |
|
double | getStartParam () const |
|
double | getEndParam () const |
|
SISLCurve const * | getSISLCurve () const |
|
SISLCurve * | getSISLCurve () |
|
double | getCurvature (double _param) const |
|
double | getVariationOfCurvature (double _param) |
|
std::vector< double > | getCoordinates () const |
|
std::vector< double > | getKnots () const |
|
int | getSISLCurveType () const |
|
void | printCurveProperties (std::ostream &io) |
|
void | interpolate (std::vector< double > const &coordinates, std::vector< double > const ¶meters=std::vector< double >(), std::vector< CoordinateType > const &coord_types=std::vector< CoordinateType >()) |
|
void | interpolate (std::vector< double > const &coordinates, std::vector< double > ¶meterOut, std::vector< double > const ¶meterIn=std::vector< double >(), std::vector< CoordinateType > const &coord_types=std::vector< CoordinateType >()) |
|
bool | testIntersection (SplineBase const &other, double resolution=0.01) const |
|
void | clear () |
|
std::vector< double > | simplify () |
|
std::vector< double > | simplify (double tolerance) |
|
SplineBase const & | operator= (SplineBase const &base) |
|
bool | isNURBS () const |
|
void | reset (std::vector< double > const &coordinates, std::vector< double > const &knots, int kind=-1) |
|
void | reverse () |
|
void | append (SplineBase const &other) |
|
void | append (SplineBase const &other, double tolerance) |
|
double | join (SplineBase const &other, double tolerance, bool with_tangents) |
|
void | split (SplineBase &second_part, double parameter) |
|
void | crop (double start_t, double end_t) |
|
SplineBase * | getSubSpline (double start_t, double end_t) const |
|
int | getCoordinatesStride () const |
|
void | setSingleton (double const *coordinates) |
|
void | derive (unsigned int order, SplineBase &result) const |
|
|
bool | checkAndNormalizeParam (double ¶m, double equalDistance=0.001) const |
|
void | reset (SISLCurve *curve) |
|
void | getPoint (double *result, double _param) const |
|
void | getPointAndTangent (double *result, double _param) const |
|
void | findPointIntersections (double const *_point, std::vector< double > &_result_points, std::vector< std::pair< double, double > > &_result_curves, double _geores) const |
|
std::pair< double, bool > | findOneLineIntersection (double const *_point, double const *_normal, double _guess, double _geores) const |
|
void | findLineIntersections (double const *_point, double const *_normal, std::vector< double > &_result_points, std::vector< std::pair< double, double > > &_result_curves, double _geores) const |
|
void | findSphereIntersections (double const *_center, double radius, std::vector< double > &points, std::vector< std::pair< double, double > > &segments, double _geores) const |
|
double | findOneClosestPoint (double const *_pt, double _guess, double _geores) const |
|
void | findClosestPoints (double const *ref_point, std::vector< double > &_result_points, std::vector< std::pair< double, double > > &_result_curves, double _geores) const |
|
double | localClosestPointSearch (double const *ref_point, double _guess, double _start, double _end, double _geores) const |
|
void | getPointAndTangentHelper (double *result, double _param, bool with_tangent) const |
|
double | getResultClosestToGuess (double _guess, std::vector< double > points, std::vector< std::pair< double, double > > curves) const |
|
base::Matrix3d | getFrenetFrame (double _param) |
| available only in Spline<3> More...
|
|
double | getHeading (double _param) |
| available only in Spline<3> More...
|
|
double | headingError (double _actHeading, double _param) |
| available only in Spline<3> More...
|
|
double | distanceError (base::Vector3d _pt, double _param) |
| available only in Spline<3> More...
|
|
base::Vector3d | poseError (base::Vector3d _pt, double _actZRot, double _st_para) |
| available only in Spline<3> More...
|
|
base::Vector3d | poseError (base::Vector3d _pt, double _actZRot, double _st_para, double minParam) |
| available only in Spline<3> More...
|
|