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_typeknot_container
typedef std::vector< value_typecpoint_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_containerknots ()
cpoint_containercpoints ()
const knot_containerknots () const
const cpoint_containercpoints () 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
_bspline.h 334 2007-03-16 00:37:48Z dooglus

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 124 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 140 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 153 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 176 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 181 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 203 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:
Generated on Sat Oct 27 22:32:48 2007 for ETL by  doxygen 1.5.3-20071008