34 #ifndef AIMS_CURVE_CURVE_H 35 #define AIMS_CURVE_CURVE_H 60 inline size_t size()
const;
67 inline const_iterator
begin()
const;
71 inline const_iterator
end()
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 > & );
121 bool isValid()
const;
136 unsigned _splineIndex;
147 Tangent_t a, b, c, d;
152 splineArcLength(
const Spline &si,
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 );
239 #endif // ifndef AIMS_CURVE_H Scalar_t length() const
Compute the line's length (sum of every segment's length)
const Point_t & operator[](size_t) const
Return the point corresponding to an index.
Sampler sampler(Polyline::Scalar_t start=0) const
Polyline::Point_t Tangent_t
The class for EcatSino data write operation.
void reserve(size_t)
Reserve space for the points (does not change the points in the line).
size_t size() const
Return the number of points.
AimsVector< Scalar_t, 3 > Point_t
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
const_iterator end() const
Forward iterator after the last point.
void resample(size_t numberOfPoints, std::vector< Point_t > &)
Resample the Polyline and fills a vector with result.
const_iterator begin() const
Forward iterator on the first point.
PolylinePolynomialInterpolator(const Polyline &)
void clear()
Remove all points.