bicotiCoordinateInterpolator1D


Figura 1.1.1.1

     Clases

bicotiCoordinateInterpolator1D
bicotiCoordinateInterpolator1DOpen
bicotiCoordinateInterpolator1DClosed
bicotiCoordinateInterpolator1DOpenLinear
bicotiCoordinateInterpolator1DClosedLinear
bicotiCoordinateInterpolator1DOpenSimpson
bicotiCoordinateInterpolator1DClosedSimpson
bicotiCoordinateInterpolator1DOpenSpline
bicotiCoordinateInterpolator1DClosedSpline

     Templates Clases

CoordType


class bicotiCoordinateInterpolator1D < class CoordType >



 Public Methods

virtual ~bicotiCoordinateInterpolator1D ( )

virtual void Initiate ( const vector< CoordType >& ) = 0

virtual CoordType operator() ( double ) = 0
virtual CoordType GetDerivate ( double ) = 0
virtual CoordType GetDerivate2 ( double ) = 0
virtual CoordType GetDerivate3 ( double ) = 0

double GetLength ( )

virtual unsigned GetPointsNumber ( )
virtual CoordType GetPoint ( int )
virtual double GetOffset ( int )



~bicotiCoordinateInterpolator1D ( )

    Destructor. Se declara virtual en la clase base para que sean visibles los destructores de las especializaciones.



void Initiate ( const vector< CoordType >&  vect_coords )

    Esta función permite que el interpolador calcule sus parámetros a partir del vector de coordenadas que le pasemos. El vector es una de las estructuras definidas en la STL.

Por ejemplo podemos crear un interpolador sin puntos :

        bocotiCoordinateInterpolator1DOpenLinear < bicotiCoordinate2D< REAL > >  interpol;

Aquí se trata de un interpolador lineal cerrado, para una curva en 2D, las coordenadas deben ser reales.

Ahora creo el vector de puntos:

        vector< bicotiCoordinate2D< REAL > >  vect_coord( 4 );  // 4 puntos;

Luego le doy valores a los puntos y se lo paso al interpolador.

        interpol.Initiate( vect_coord );

Recién en este punto, el iterador calcula sus parámetros y puede ser usado para estimar valores sobre la curva que pasa por los 4 puntos del vector.

Obs : Esta función es virtual pura , se implementa en las clases dereivadas.



CoordType operator( ) ( double offset )

    Este operador devuelve las coordenadas del punto con el offset indicado en la curva.

        Para una curva abierta ( interpolador "Open" ) :
                 offset = 0   da el primer punto.
                 offset = 1   da el último punto.
        Para una curva cerrada ( interpolador "Closed") :
                 offset = 0   da el primer punto.
                 offset = 1   da el primer punto.

El offset es la longitud de arco normalizada. Debe tener un valor entre 0 y 1.

Obs : Esta función es virtual pura , se implementa en las clases dereivadas.



CoordType GetDerivate ( double )

        Devuelve la derivada de la curva respecto al offset en el punto cuyo offset corresponde al indicado.

Ver Interpoladores de Coordenadas para más detalles.
Ver ejemplos para más casos.

Obs : La derivada respecto al offset no es lo mismo que la derivada respecto a la longitud de arco.

Obs : Esta función es virtual pura , se implementa en las clases dereivadas.



CoordType GetDerivate2 ( double )

        Devuelve la derivada segunda de la curva respecto al offset en el punto cuyo offset corresponde al indicado.

Ver Interpoladores de Coordenadas para más detalles.
Ver ejemplos para más casos.

Obs : La derivada respecto al offset no es lo mismo que la derivada respecto a la longitud de arco.

Obs : Esta función es virtual pura , se implementa en las clases dereivadas.



CoordType GetDerivate3 ( double )

        Devuelve la derivada tercera de la curva respecto al offset en el punto cuyo offset corresponde al indicado.

Ver Interpoladores de Coordenadas para más detalles.
Ver ejemplos para más casos.

Obs : La derivada respecto al offset no es lo mismo que la derivada respecto a la longitud de arco.

Obs : Esta función es virtual pura , se implementa en las clases dereivadas.



double GetLength ( )

        Devuelve la longitud de la curva. Esto se define como la longitud de arco por la escala de la imagen.



unsigned GetPointsNumber ( )

        Devuelve el número de puntos que tiene la lista de coordenadas.



CoordType GetPoint ( int index )

        Además del offset cada punto en la lista tiene asociado un índice que va de 0 al número de puntos menos 1. Esta función retorna las coordenadas del punto cuyo índice en la lista es index.



double GetOffset ( int index )

        Devuelve el offset correspondiente al punto cuyo índice en la lista de coordenadas es index.