bicotiFrame3DInternal

     Clases

bicotiFrame
bicotiFrame2D
bicotiFrame3D
bicotiFrame2DInternal
bicotiFrame2DExternal
bicotiFrame3DInternal
bicotiFrame3DExternal

     Templates Clases

PixelType


class bicotiFrame3DInternal < class PixelType >



 Public Methods

bicotiFrame3DInternal ( PixelType , int  )
~bicotiFrame3DInternal ( )
bicotiFrame3DInternal ( const bicotiFrame3DInternal< PixelType > & )
void operator = ( const bicotiFrame3DInternal< PixelType >  & )
PixelType& operator ( int , int , int )
void First (  )
void Next (  )
PixelType& CurrentPixel (  )
bool IsDone (  )
int GetFrameSize (  )



bicotiFrame3DInternal ( PixelType def_pixel , int frame_size )

        Es el constructor de la clase , al que hay que pasarle como parámetro el pixel por defecto y el tamaño del frame. Por ejemplo si quiero crear un Frame 3D , 3 x 3 x 3 , de enteros , lleno de ceros,
puedo hacer :

                 bicotiFrame3DInternal< int > frame( 0 , 3 );

Un frame 3D crea la zona de memoria para almacenar sus pixeles, se encarga de administrarla y liberarla.
Es importante notar que no hay constructor por defecto, siempre hay que pasar los parámetros al constructor.



~bicotiFrame3DInternal ( )

        Destructor, libera la memoria.



bicotiFrame3DInternal ( constbicotiFrame3DInternal< PixelType > & )

        Constructor de copia.
        Puedo definir :

                 bicotiFrame3DInternal< int > frame( 0 , 3 );

        y luego usar el constructor de copia, para crear un nuevo frame :

                 bicotiFrame3DInternal< int > frame_cpy( frame );



void operator = ( const bicotiFrame3DInternal< PixelType > &  frame_src )

        Operador de Asignación, hace una copia sin crear un nuevo objeto. Si las dimensiones son diferentes las ajusta a las del Frame fuente ( el que paso como parámetro ).
Es decir , si defino :

                 bicotiFrame3DInternal< int > frame_a( 1 , 3 );
                 bicotiFrame3DInternal< int > frame_b( 0 , 5 );

        frame_a es 3 x 3 x 3, lleno de unos y frame_b es 5 x 5 x 5, lleno de ceros.
        Si hago :

                 frame_b = frame_a ;

        frame_b pasa a ser una copia de frame_a , 3 x 3 x 3 , lleno de unos y frame_a no cambia.



void operator( ) ( int index_0 , int index_1 , int index_2 )

        Esta función se define virtual en bicotiFrame3D y se implementa en las clases derivadas.
        Ver operator( ) de bicotiFrame3D .



void First ( )

        Esta función se define virtual en bicotiFrame y se implementa en las clases derivadas.
        Ver First( ) de bicotiFrame .



void Next ( )

        Esta función se define virtual en bicotiFrame y se implementa en las clases derivadas.
        Ver Next( ) de bicotiFrame .



PixelType & CurrentPixel ( )

        Esta función se define virtual en bicotiFrame y se implementa en las clases derivadas.
        Ver CurrentPixel( ) de bicotiFrame .



bool IsDone ( )

        Esta función se define virtual en bicotiFrame y se implementa en las clases derivadas.
        Ver IsDone( ) de bicotiFrame .



int GetFrameSize ( )

        Esta función se define virtual en bicotiFrame y se implementa en las clases derivadas.
        Ver GetFrameSize( ) de bicotiFrame .