34 #ifndef AIMS_CURVE_CURVE_H
35 #define AIMS_CURVE_CURVE_H
60 inline size_t size()
const;
91 void resample(
size_t numberOfPoints, std::vector< Point_t > & );
95 std::vector< Point_t > _points;
112 const std::vector< Tangent_t > & );
115 const std::vector< Tangent_t > & );
136 unsigned _splineIndex;
157 std::vector< Spline > _splines;
169 return _points.size();
176 return _points.begin();
183 return _points.end();
190 return _points[ index ];
197 return _points.reserve( space );
204 return _points.clear();
222 const std::vector< Tangent_t > &tangents )
224 reset( line, tangents );
232 return Sampler( *
this, start );
PolylinePolynomialInterpolator::Tangent_t tangent() const
Polyline::Scalar_t curvature() const
PolylinePolynomialInterpolator::Tangent_t normal() const
Polyline::Point_t point() const
void step(Polyline::Scalar_t)
Polyline::Point_t Tangent_t
friend Polyline::Scalar_t splineArcLength(const Spline &si, const Polyline::Scalar_t &from, const Polyline::Scalar_t &to)
void reset(const Polyline &, const std::vector< Tangent_t > &)
Sampler sampler(Polyline::Scalar_t start=0) const
void reset(const Polyline &)
PolylinePolynomialInterpolator(const Polyline &)
Polyline::Scalar_t length() const
const_iterator begin() const
Forward iterator on the first point.
void resample(size_t numberOfPoints, std::vector< Point_t > &)
Resample the Polyline and fills a vector with result.
size_t size() const
Return the number of points.
const Point_t & operator[](size_t) const
Return the point corresponding to an index.
void clear()
Remove all points.
Scalar_t length() const
Compute the line's length (sum of every segment's length)
AimsVector< Scalar_t, 3 > Point_t
const_iterator end() const
Forward iterator after the last point.
void reserve(size_t)
Reserve space for the points (does not change the points in the line).
bool push_back(const Point_t &)
Add a point if it is different from the last point.
std::vector< Point_t >::const_iterator const_iterator
The class for EcatSino data write operation.