claw::math::curve< C, Traits > Class Template Reference

Implementation of the Bézier curve. More...

`#include <curve.hpp>`

## Classes

class | control_point
| The control_point class describes a control point of the curve, with the direction of the curve before and after the point. More...
class | section
| A section is a part of the curve between two control points. More...

## Public Types

typedef C | coordinate_type
| The type of the coordinates of the curve.
typedef Traits | traits_type
| The traits provide an access to the properties of the coordinates.
typedef traits_type::value_type | value_type
| The type of the components of the coordinates.
typedef control_point_list::iterator | iterator
| The type of the iterator on the control points of the curve.
typedef control_point_list::const_iterator | const_iterator
| The type of the iterator on the control points of the curve.

## Public Member Functions

void | push_back (const control_point &p)
void | push_front (const control_point &p)
void | insert (const iterator &pos, const control_point &p)
section | get_section (const const_iterator &pos) const
std::vector< typename section::resolved_point > | get_point_at_x (value_type x, bool off_domain=false) const
iterator | begin ()
iterator | end ()
const_iterator | begin () const
const_iterator | end () const

## Detailed Description

template<typename C, typename Traits = coordinate_traits<C>>
class claw::math::curve< C, Traits >

Implementation of the Bézier curve.

The curve is made of a sequence of points, each of which having a direction telling how the curve enters the point and how to leave.

Author
  Julien Jorge

Definition at line 49 of file curve.hpp.

## Member Typedef Documentation

## const_iterator

template<typename C, typename Traits = coordinate_traits<C>>

typedef control_point_list::const_iterator claw::math::curve< C, Traits >::const_iterator

The type of the iterator on the control points of the curve.

Definition at line 108 of file curve.hpp.

## coordinate_type

template<typename C, typename Traits = coordinate_traits<C>>

typedef C claw::math::curve< C, Traits >::coordinate_type

The type of the coordinates of the curve.

Definition at line 53 of file curve.hpp.

## iterator

template<typename C, typename Traits = coordinate_traits<C>>

typedef control_point_list::iterator claw::math::curve< C, Traits >::iterator

The type of the iterator on the control points of the curve.

Definition at line 105 of file curve.hpp.

## traits_type

template<typename C, typename Traits = coordinate_traits<C>>

typedef Traits claw::math::curve< C, Traits >::traits_type

The traits provide an access to the properties of the coordinates.

Definition at line 57 of file curve.hpp.

## value_type

template<typename C, typename Traits = coordinate_traits<C>>

typedef traits_type::value_type claw::math::curve< C, Traits >::value_type

The type of the components of the coordinates.

Definition at line 60 of file curve.hpp.

The documentation for this class was generated from the following file:

- curve.hpp