# bspline< T, K, C, D > Class Template Reference

`#include <_bspline.h>`

List of all members.

## Public Types

typedef T | value_type
typedef K | knot_type
typedef std::vector< knot_type > | knot_container
typedef std::vector< value_type > | cpoint_container
typedef knot_container::iterator | knot_iterator
typedef cpoint_container::iterator | cpoint_iterator
typedef C | affine_func_type
typedef D | distance_func_type

## Public Member Functions

| bspline ()
int | get_m () const
int | set_m (int new_m)
bool | set_loop (bool x)
knot_container & | knots ()
cpoint_container & | cpoints ()
const knot_container & | knots () const
const cpoint_container & | cpoints () const
void | reset_knots ()
int | calc_curve_segment (knot_type t) const
knot_container | get_segment_knots (int i) const
cpoint_container | get_segment_cpoints (int i) const
cpoint_container | calc_shell (knot_type t, int level) const
value_type | operator() (knot_type t) const
value_type | get_curve_val (int i, knot_type t) const
cpoint_iterator | find_closest_cpoint (const value_type &point, typename distance_func_type::result_type max)

## Protected Attributes

affine_func_type | affine_func
distance_func_type | distance_func

## Private Attributes

int | m
knot_container | _knots
cpoint_container | _cpoints
bool | _loop

## Detailed Description

### template<class T, class K = float, class C = affine_combo<T,K>, class D = distance_func<T>>
class bspline< T, K, C, D >

======================================================================== Extended Template and Library B-Spline Class Implementation $Id$

Copyright (c) 2002 Robert B. Quattlebaum Jr.

This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

=== N O T E S ===========================================================

This is an internal header file, included by other ETL headers. You should not attempt to use it directly.

=========================================================================

Definition at line 45 of file _bspline.h.

## Member Typedef Documentation

template<class T, class K = float, class C = affine_combo<T,K>, class D = distance_func<T>>

typedef T bspline< T, K, C, D >::value_type

Definition at line 48 of file _bspline.h.

template<class T, class K = float, class C = affine_combo<T,K>, class D = distance_func<T>>

typedef K bspline< T, K, C, D >::knot_type

Definition at line 49 of file _bspline.h.

template<class T, class K = float, class C = affine_combo<T,K>, class D = distance_func<T>>

typedef std::vector<knot_type> bspline< T, K, C, D >::knot_container

Definition at line 50 of file _bspline.h.

template<class T, class K = float, class C = affine_combo<T,K>, class D = distance_func<T>>

typedef std::vector<value_type> bspline< T, K, C, D >::cpoint_container

Definition at line 51 of file _bspline.h.

template<class T, class K = float, class C = affine_combo<T,K>, class D = distance_func<T>>

typedef knot_container::iterator bspline< T, K, C, D >::knot_iterator

Definition at line 52 of file _bspline.h.

template<class T, class K = float, class C = affine_combo<T,K>, class D = distance_func<T>>

typedef cpoint_container::iterator bspline< T, K, C, D >::cpoint_iterator

Definition at line 53 of file _bspline.h.

template<class T, class K = float, class C = affine_combo<T,K>, class D = distance_func<T>>

typedef C bspline< T, K, C, D >::affine_func_type

Definition at line 55 of file _bspline.h.

template<class T, class K = float, class C = affine_combo<T,K>, class D = distance_func<T>>

typedef D bspline< T, K, C, D >::distance_func_type

Definition at line 56 of file _bspline.h.

## Constructor & Destructor Documentation

template<class T, class K = float, class C = affine_combo<T,K>, class D = distance_func<T>>

bspline< T, K, C, D >::bspline | ( |  | ) | `[inline]`

Definition at line 69 of file _bspline.h.

## Member Function Documentation

template<class T, class K = float, class C = affine_combo<T,K>, class D = distance_func<T>>

int bspline< T, K, C, D >::get_m | ( |  | ) | const`[inline]`

Definition at line 71 of file _bspline.h.

References bspline< T, K, C, D >::m.

template<class T, class K = float, class C = affine_combo<T,K>, class D = distance_func<T>>

int bspline< T, K, C, D >::set_m | ( | int | new_m | ) | `[inline]`

Definition at line 72 of file _bspline.h.

References bspline< T, K, C, D >::m.

template<class T, class K = float, class C = affine_combo<T,K>, class D = distance_func<T>>

bool bspline< T, K, C, D >::set_loop | ( | bool | x | ) | `[inline]`

Definition at line 74 of file _bspline.h.

References bspline< T, K, C, D >::_loop, and bspline< T, K, C, D >::reset_knots().

template<class T, class K = float, class C = affine_combo<T,K>, class D = distance_func<T>>

knot_container& bspline< T, K, C, D >::knots | ( |  | ) | `[inline]`

Definition at line 76 of file _bspline.h.

References bspline< T, K, C, D >::_knots.

template<class T, class K = float, class C = affine_combo<T,K>, class D = distance_func<T>>

cpoint_container& bspline< T, K, C, D >::cpoints | ( |  | ) | `[inline]`

Definition at line 77 of file _bspline.h.

References bspline< T, K, C, D >::_cpoints.

template<class T, class K = float, class C = affine_combo<T,K>, class D = distance_func<T>>

const knot_container& bspline< T, K, C, D >::knots | ( |  | ) | const`[inline]`

Definition at line 79 of file _bspline.h.

References bspline< T, K, C, D >::_knots.

template<class T, class K = float, class C = affine_combo<T,K>, class D = distance_func<T>>

const cpoint_container& bspline< T, K, C, D >::cpoints | ( |  | ) | const`[inline]`

Definition at line 80 of file _bspline.h.

References bspline< T, K, C, D >::_cpoints.

template<class T, class K = float, class C = affine_combo<T,K>, class D = distance_func<T>>

void bspline< T, K, C, D >::reset_knots | ( |  | ) | `[inline]`

Definition at line 82 of file _bspline.h.

References bspline< T, K, C, D >::_cpoints, bspline< T, K, C, D >::_knots, bspline< T, K, C, D >::_loop, and bspline< T, K, C, D >::m.

Referenced by bspline< T, K, C, D >::set_loop().

template<class T, class K = float, class C = affine_combo<T,K>, class D = distance_func<T>>

int bspline< T, K, C, D >::calc_curve_segment | ( | knot_type | t | ) | const`[inline]`

Definition at line 112 of file _bspline.h.

References bspline< T, K, C, D >::_knots.

Referenced by bspline< T, K, C, D >::calc_shell(), and bspline< T, K, C, D >::operator()().

template<class T, class K = float, class C = affine_combo<T,K>, class D = distance_func<T>>

knot_container bspline< T, K, C, D >::get_segment_knots | ( | int | i | ) | const`[inline]`

Definition at line 125 of file _bspline.h.

References bspline< T, K, C, D >::_knots, and bspline< T, K, C, D >::m.

Referenced by bspline< T, K, C, D >::calc_shell(), and bspline< T, K, C, D >::get_curve_val().

template<class T, class K = float, class C = affine_combo<T,K>, class D = distance_func<T>>

cpoint_container bspline< T, K, C, D >::get_segment_cpoints | ( | int | i | ) | const`[inline]`

Definition at line 141 of file _bspline.h.

References bspline< T, K, C, D >::_cpoints, bspline< T, K, C, D >::_knots, and bspline< T, K, C, D >::m.

Referenced by bspline< T, K, C, D >::calc_shell(), and bspline< T, K, C, D >::get_curve_val().

template<class T, class K = float, class C = affine_combo<T,K>, class D = distance_func<T>>

cpoint_container bspline< T, K, C, D >::calc_shell | ( | knot_type | t,
|  | int | level |
| ) |  |  | const`[inline]`

Definition at line 154 of file _bspline.h.

References bspline< T, K, C, D >::affine_func, bspline< T, K, C, D >::calc_curve_segment(), bspline< T, K, C, D >::get_segment_cpoints(), bspline< T, K, C, D >::get_segment_knots(), and bspline< T, K, C, D >::m.

template<class T, class K = float, class C = affine_combo<T,K>, class D = distance_func<T>>

value_type bspline< T, K, C, D >::operator() | ( | knot_type | t | ) | const`[inline]`

Definition at line 177 of file _bspline.h.

References bspline< T, K, C, D >::calc_curve_segment(), and bspline< T, K, C, D >::get_curve_val().

template<class T, class K = float, class C = affine_combo<T,K>, class D = distance_func<T>>

value_type bspline< T, K, C, D >::get_curve_val | ( | int | i,
|  | knot_type | t |
| ) |  |  | const`[inline]`

Definition at line 182 of file _bspline.h.

References bspline< T, K, C, D >::affine_func, bspline< T, K, C, D >::get_segment_cpoints(), bspline< T, K, C, D >::get_segment_knots(), and bspline< T, K, C, D >::m.

Referenced by bspline< T, K, C, D >::operator()().

template<class T, class K = float, class C = affine_combo<T,K>, class D = distance_func<T>>

cpoint_iterator bspline< T, K, C, D >::find_closest_cpoint | ( | const value_type & | point,
|  | typename distance_func_type::result_type | max |
| ) |  |  | `[inline]`

Definition at line 204 of file _bspline.h.

References bspline< T, K, C, D >::_cpoints, and bspline< T, K, C, D >::distance_func.

## Member Data Documentation

template<class T, class K = float, class C = affine_combo<T,K>, class D = distance_func<T>>

affine_func_type bspline< T, K, C, D >::affine_func `[protected]`

Definition at line 59 of file _bspline.h.

Referenced by bspline< T, K, C, D >::calc_shell(), and bspline< T, K, C, D >::get_curve_val().

template<class T, class K = float, class C = affine_combo<T,K>, class D = distance_func<T>>

distance_func_type bspline< T, K, C, D >::distance_func `[protected]`

Definition at line 60 of file _bspline.h.

Referenced by bspline< T, K, C, D >::find_closest_cpoint().

template<class T, class K = float, class C = affine_combo<T,K>, class D = distance_func<T>>

int bspline< T, K, C, D >::m `[private]`

Definition at line 63 of file _bspline.h.

Referenced by bspline< T, K, C, D >::calc_shell(), bspline< T, K, C, D >::get_curve_val(), bspline< T, K, C, D >::get_m(), bspline< T, K, C, D >::get_segment_cpoints(), bspline< T, K, C, D >::get_segment_knots(), bspline< T, K, C, D >::reset_knots(), and bspline< T, K, C, D >::set_m().

template<class T, class K = float, class C = affine_combo<T,K>, class D = distance_func<T>>

knot_container bspline< T, K, C, D >::_knots `[private]`

Definition at line 64 of file _bspline.h.

Referenced by bspline< T, K, C, D >::calc_curve_segment(), bspline< T, K, C, D >::get_segment_cpoints(), bspline< T, K, C, D >::get_segment_knots(), bspline< T, K, C, D >::knots(), and bspline< T, K, C, D >::reset_knots().

template<class T, class K = float, class C = affine_combo<T,K>, class D = distance_func<T>>

cpoint_container bspline< T, K, C, D >::_cpoints `[private]`

Definition at line 65 of file _bspline.h.

Referenced by bspline< T, K, C, D >::cpoints(), bspline< T, K, C, D >::find_closest_cpoint(), bspline< T, K, C, D >::get_segment_cpoints(), and bspline< T, K, C, D >::reset_knots().

template<class T, class K = float, class C = affine_combo<T,K>, class D = distance_func<T>>

bool bspline< T, K, C, D >::_loop `[private]`

Definition at line 66 of file _bspline.h.

Referenced by bspline< T, K, C, D >::reset_knots(), and bspline< T, K, C, D >::set_loop().

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

- _bspline.h