User Manual, Developers Guide and API Documentation

wns::wns::NLinear< T, 1, M > Class Template Reference

One dimensional specialization of NLinear Interpolation.

#include <NLinear.hpp>

Inheritance diagram for wns::wns::NLinear< T, 1, M >:

Inheritance graph
[legend]
Collaboration diagram for wns::wns::NLinear< T, 1, M >:

Collaboration graph
[legend]

List of all members.

Public Types

typedef std::list< CoordTypeCoordList
typedef SuperType::CoordType CoordType
typedef
SuperType::DiscreteContainer 
DiscreteContainer
typedef
DiscreteContainer::IndexType 
IndexType
 The type of indexes in the [] operator.
typedef SuperType::InitType InitType
typedef SuperType::ValueType ValueType
 The type of the values that are accessed.

Public Member Functions

 NLinear (const DiscreteContainer &discreteValues, const void *const universe=0, CoordList *const coords=0)
virtual ValueType operator[] (const CoordType &coord) const
virtual ~NLinear ()

Private Types

typedef std::list< IndexTypeIndexList
typedef Interpolation< T, 1 > SuperType
typedef Interpolation< T, M >
::DiscreteContainer 
UniverseType
 Type of the container passed to the top recursion level template.

Private Member Functions

ValueType interpolate (const CoordList &coords, const IndexList &indices=IndexList()) const
 Perform linear interpolation with coords.

Private Attributes

CoordList *const coords
const bool deleteCoords
const void *const universe


Detailed Description

template<typename T, InterpolationDefs::SizeType M>
class wns::wns::NLinear< T, 1, M >

Definition at line 197 of file NLinear.hpp.


Member Typedef Documentation

template<typename T, InterpolationDefs::SizeType M>
typedef std::list<CoordType> wns::wns::NLinear< T, 1, M >::CoordList

Definition at line 207 of file NLinear.hpp.

template<typename T, InterpolationDefs::SizeType M>
typedef SuperType::CoordType wns::wns::NLinear< T, 1, M >::CoordType

Reimplemented from wns::wns::Interpolation< T, 1 >.

Definition at line 202 of file NLinear.hpp.

template<typename T, InterpolationDefs::SizeType M>
typedef SuperType::DiscreteContainer wns::wns::NLinear< T, 1, M >::DiscreteContainer

Reimplemented from wns::wns::Interpolation< T, 1 >.

Definition at line 203 of file NLinear.hpp.

template<typename T, InterpolationDefs::SizeType M>
typedef std::list<IndexType> wns::wns::NLinear< T, 1, M >::IndexList [private]

Definition at line 239 of file NLinear.hpp.

template<typename T, InterpolationDefs::SizeType M>
typedef DiscreteContainer::IndexType wns::wns::NLinear< T, 1, M >::IndexType

Reimplemented from wns::container::MultiReadAccessible< T, N, R, I >.

Definition at line 205 of file NLinear.hpp.

template<typename T, InterpolationDefs::SizeType M>
typedef SuperType::InitType wns::wns::NLinear< T, 1, M >::InitType

Reimplemented from wns::wns::Interpolation< T, 1 >.

Definition at line 204 of file NLinear.hpp.

template<typename T, InterpolationDefs::SizeType M>
typedef Interpolation<T, 1> wns::wns::NLinear< T, 1, M >::SuperType [private]

Reimplemented from wns::wns::Interpolation< T, 1 >.

Definition at line 199 of file NLinear.hpp.

template<typename T, InterpolationDefs::SizeType M>
typedef Interpolation<T, M>::DiscreteContainer wns::wns::NLinear< T, 1, M >::UniverseType [private]

For internal use only.

The original value of N is passed down by M for this.

Definition at line 238 of file NLinear.hpp.

template<typename T, InterpolationDefs::SizeType M>
typedef SuperType::ValueType wns::wns::NLinear< T, 1, M >::ValueType

Reimplemented from wns::wns::Interpolation< T, 1 >.

Definition at line 201 of file NLinear.hpp.


Constructor & Destructor Documentation

template<typename T, InterpolationDefs::SizeType M>
virtual wns::wns::NLinear< T, 1, M >::~NLinear (  )  [inline, virtual]

Definition at line 218 of file NLinear.hpp.


Member Function Documentation

template<typename T, InterpolationDefs::SizeType M>
ValueType wns::wns::NLinear< T, 1, M >::interpolate ( const CoordList coords,
const IndexList indices = IndexList() 
) const [inline, private]

For internal use only.

Parameters:
coords (in) List of the coords to interpolate with.
indices (in) Internal list of indices to access.
Returns:
Interpolated value.
This function recursivly calculates a nlinear interpolation for the coordinates specified by coords. This is done by reducing the size of coords in each recursion step by one and calling interpolate two times with indices lengthened by floor resp. ceil of the removed coordinate. The returned values are then interpolated. If coords is empty, interpolate accesses the discreteContainer (*universe) with the indices list and returns that value.

Definition at line 263 of file NLinear.hpp.

template<typename T, InterpolationDefs::SizeType M>
wns::wns::NLinear< T, 1, M >::NLinear ( const DiscreteContainer discreteValues,
const void *const   universe = 0,
CoordList *const   coords = 0 
) [inline]

Definition at line 209 of file NLinear.hpp.

template<typename T, InterpolationDefs::SizeType M>
virtual ValueType wns::wns::NLinear< T, 1, M >::operator[] ( const CoordType coord  )  const [inline, virtual]

Definition at line 223 of file NLinear.hpp.


Member Data Documentation

template<typename T, InterpolationDefs::SizeType M>
CoordList* const wns::wns::NLinear< T, 1, M >::coords [private]

Definition at line 242 of file NLinear.hpp.

template<typename T, InterpolationDefs::SizeType M>
const bool wns::wns::NLinear< T, 1, M >::deleteCoords [private]

Definition at line 243 of file NLinear.hpp.

template<typename T, InterpolationDefs::SizeType M>
const void* const wns::wns::NLinear< T, 1, M >::universe [private]

Definition at line 241 of file NLinear.hpp.


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

Generated on Sat May 26 03:32:51 2012 for openWNS by  doxygen 1.5.5