29#ifndef __CLAW_MATH_CURVE_HPP__
30#define __CLAW_MATH_CURVE_HPP__
48 template <
typename C,
typename Traits = coordinate_traits<C> >
101 typedef std::list<control_point> control_point_list;
106 typedef typename control_point_list::iterator
iterator;
147 const section& get_section()
const;
148 double get_date()
const;
167 std::vector<resolved_point>
168 get_point_at_x(
value_type x,
bool off_domain =
false)
const;
183 void ensure_ends_in_points(std::vector<resolved_point>& p,
184 bool ensure_origin,
bool ensure_end)
const;
186 std::vector<resolved_point>
187 extract_domain_points(
const std::vector<resolved_point>& p)
const;
216 std::vector<typename section::resolved_point>
217 get_point_at_x(
value_type x,
bool off_domain =
false)
const;
225 std::vector<typename section::resolved_point>
226 get_point_at_x_before_origin(
value_type x)
const;
227 std::vector<typename section::resolved_point>
232 control_point_list m_points;
239#include "claw/curve.tpp"
The control_point class describes a control point of the curve, with the direction of the curve befor...
C coordinate_type
The type of the coordinates of the curve.
C coordinate_type
The type of the coordinates of the curve.
A section is a part of the curve between two control points.
const_iterator iterator_type
The type of the iterators on the ends of the section.
C coordinate_type
The type of the coordinates of the curve.
Traits traits_type
The traits provide an access to the properties of the coordinates.
traits_type::value_type value_type
The type of the components of the coordinates.
Implementation of the Bézier curve.
control_point_list::iterator iterator
The type of the iterator on the control points of the curve.
traits_type::value_type value_type
The type of the components of the coordinates.
Traits traits_type
The traits provide an access to the properties of the coordinates.
C coordinate_type
The type of the coordinates of the curve.
control_point_list::const_iterator const_iterator
The type of the iterator on the control points of the curve.
The coordinate traits provide an access to the members of the structures representing a coordinate in...
Manipulation of mathematic, geometric, etc. items.
This is the main namespace.