bicotiImageBorderStrategy2D

     Clases

bicotiImageBorderStrategy
        bicotiImageBorderStrategy2D
                    bicotiImageBorderStrategy2DX0
                    bicotiImageBorderStrategy2DX1
        bicotiImageBorderStrategy3D
                    bicotiImageBorderStrategy3DX0
                    bicotiImageBorderStrategy3DX1
                    bicotiImageBorderStrategy3DX2

     Templates Clases

PixelType


class bicotiImageBorderStrategy2D < class PixelType >



 Public Methods

virtual void SetNextCoordinates ( ) = 0
void UseIterator ( bicotiImageIterator2D< PixelType > * )
void UseStep ( int )



void SetNextCoordinates ( )

        Esta función se declara en la clase base bicotiImageBorderStrategy y se define en las clases derivadas. Ver SetNextCoordinates( ) en bicotiImageBorderStrategy



void UseIterator ( bicotiImageIterator2D< PixelType > * )

     Esta función asigna un iterador a la estrategia. Dado que iterador - estrategia de borde tienen referencias cruzadas, hay que crear uno y luego asignar al otro. La estrategia es parte del iterador, pero esta necesita ver sus variable, entonces tiene un puntero al iterador.

    Cuando se crea una nueva estrategia, por ejemplo en 2D :

            bicotiImageBorderStrategy2DX0< int >  x0_strategy;

    Luego hay que asignarsela a un iterador mediante la función UseBorderStrategyX0 del iterador

            iterator.UseBorderStrategyX0( x0_strategy );

     Internamente esta usa la función UseIterator de la estrategia asignándose a si mismo como iterador,
     haciendo :

            x0_strategy.UseIterator( this )

      Este procedimiento es análogo para las estrategias en x0 y x1, usando las correspondientes funciones
      del iterador.



void UseStep ( int step )

        Asigna el valor del paso del salto cuando se llega al borde.
        Por ejemplo hacemos:

                bicotiImageBorderStrategy2DX0< int >  x0_strategy;
                x0_strategy.UseStep( 2 );         // estrategia horizontal con paso 2
                iterator.UseBorderStrategyX0( x0_strategy );

         Le asigno al iterador una estrategia en x0 con paso 2, entonces cuando hago una recorrida por filas
         me voy a saltear una fila por medio.

         Ver la clase base bicotiImageBorderStrategy o el archivo recorridos.cpp para más ejemplos.