Clases
bicotiImageBorderStrategy
bicotiImageBorderStrategy2D
bicotiImageBorderStrategy2DX0
bicotiImageBorderStrategy2DX1
bicotiImageBorderStrategy3D
bicotiImageBorderStrategy3DX0
bicotiImageBorderStrategy3DX1
bicotiImageBorderStrategy3DX2
Templates Clases
PixelType
class bicotiImageBorderStrategy3D < class PixelType >
virtual
void SetNextCoordinates ( ) = 0
void
UseIterator
(
bicotiImageIterator3D< PixelType > * )
void
UseStep
( int )
void
UseLevel
(
int )
Esta función se declara en la clase base bicotiImageBorderStrategy y se define en las clases derivadas. Ver SetNextCoordinates( ) en bicotiImageBorderStrategy
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 3D :
bicotiImageBorderStrategy3DX0< 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, x1 y x2, usando las correspondientes
funcionesdel iterador.
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.
Asigna
el valor del paso del salto en profundidad cuando se llega al borde.
Por ejemplo hacemos:
bicotiImageBorderStrategy2DX0< int > x0_strategy;
x0_strategy.UseStep( 2 ); //
estrategia horizontal con paso 2
x0_strategy.UseLevel( 1 ); // estrategia
profundidad con salto 1
iterator.UseBorderStrategyX0( x0_strategy );
Le
asigno al iterador una estrategia en x0 con paso 2 y salto 1, entonces
cuando hago una recorrida
por
filas me voy a saltear una fila por medio y a subir de plano.
Ver la clase base bicotiImageBorderStrategy .