ETL  0.04.19
Public Types | Public Member Functions | Protected Attributes | Private Attributes | List of all members
bspline< T, K, C, D > Class Template Reference

#include <_bspline.h>

Inheritance diagram for bspline< T, K, C, D >:
unary_function

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$

Copyright (c) 2002 Robert B. Quattlebaum Jr. Copyright (c) 2010 Nikita Kitaev

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 46 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 49 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 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<knot_type> bspline< T, K, C, D >::knot_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 std::vector<value_type> bspline< T, K, C, D >::cpoint_container

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 knot_container::iterator bspline< T, K, C, D >::knot_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 cpoint_container::iterator bspline< T, K, C, D >::cpoint_iterator

Definition at line 54 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 56 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 57 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 70 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 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>>
int bspline< T, K, C, D >::set_m ( int  new_m)
inline

Definition at line 73 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
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 77 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 78 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 80 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 81 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
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
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
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
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
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
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
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

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
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 61 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
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
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
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

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