bicotiImage2DSparseRGBChar


Figura 5.1.21

     Clases

bicotiImage

bicotiImage2D
bicotiImage3D

bicotiImage2DSingle
bicotiImage2DVectorial
bicotiImage3DSingle
bicotiImage3DVectorial

bicotiImage2DSparseRGBChar


class bicotiImage2DSparseRGBChar



Esta clase deriva de bicotiImage2DVectorial , instanciando los templates :

        ColorType = unsigned char
        PixelType = bicotiRGB< unsigned char >
        PrecisionType = bicotiRGB< REAL >
        ImageType = bicotiImageImplementation2DSparse< bicotiRGB< unsigned char > >


 Public Types

  typedef  PixelType  Pixel
  typedef  ImageType  Implementation
  typedef  bicotiImageIterator< PixelType > Iterator
  typedef  bicotiOperatorUnaryFacade< PixelType >  OperatorUnary
  typedef  bicotiOperatorMultipleFacade< PixelType >  OperatorMultiple
  typedef  bicotiDexelFacade2D< PixelType > Dexel
  typedef  bicotiPropertyFacade< bicotiCoordinate2D< INTEGER > , ColorType , PixelType ,
                                                                                                                                 PrecisionType > Property
  typedef bicotiNeighbourFilterFacade2D< PixelType, PrecisionType > NeighbourFilter
  typedef  bicotiGeometricalFacade2D< PixelType, PrecisionType > Geometrical

 Public Methods

bicotiImage2DSparseRGBChar( unsigned, unsigned )
bicotiImage2DSparseRGBChar( )
~bicotiImage2DSparseRGBChar( )

void BuildImplementation( unsigned, unsigned )
ImageType * GetImplementation( )
void SetImplementation ( ImageType * )

void DestroyImplementation( )

void BuildOperatorUnary( )
bicotiOperatorUnaryFacade< PixelType > * CreateOperatorUnary( )
bicotiOperatorUnaryFacade< PixelType > * GetOperatorUnary( )
void DestroyOperatorUnary( )

void BuildOperatorMultiple( )
bicotiOperatorMultipleFacade< PixelType > * CreateOperatorMultiple( )
bicotiOperatorMultipleFacade< PixelType > * GetOperatorMultiple( )
void DestroyOperatorMultiple( )

bicotiImageIterator< PixelType > * CreateIterator( )

void BuildDexel( )
bicotiDexelFacade2D< PixelType > * GetDexel( )
void DestroyDexel( )

void BuildProperty( )
bicotiPropertyFacade< bicotiCoordinate2D< INTEGER >, ColorType, PixelType, PrecisionType > *
                                                                                                                                                    CreateProperty( )
bicotiPropertyFacade< bicotiCoordinate2D< INTEGER >, ColorType, PixelType, PrecisionType > *
                                                                                                                                                       GetProperty( )
void DestroyProperty( )

void BuildNeighbourFilter( )
bicotiNeighbourFilterFacade2D< ColorType, REAL > * CreateNeighbourFilter( )
bicotiNeighbourFilterFacade2D< PixelType, PrecisionType > * GetNeighbourFilter( )
void DestroyNeighbourFilter( )
void LoadNeighbourFilterResult( )
ImageType * GetNeighbourFilterResult( )

void BuildGeometrical( )
void DestroyGeometrical( )
bicotiGeometricalFacade2D< PixelType, PrecisionType > * GetGeometrical( )
ImageType * GetGeometricalResult( )
void LoadGeometricalResult( )



bicotiImage2DSparseRGBChar( unsigned x_0_size , unsigned x_1_size )

    Constructor al que paso como parámetro el tamaño de la implementación:
        x_0_size -- número de columnas.
        x_1_size -- número de filas.
    Se toma ( 0, 0, 0 ) como pixel por defecto.

    Por ejemplo si creo :

        bicotiImage2DSparseRGBChar  imagen( 10 , 20 );

    Se crea una implementación con 20 filas y 10 columnas llena de ( 0 , 0 , 0 ).

    El constructor pone en NULL todos los punteros a las fachadas a las que se tiene referencia.

        ptr_operator_unary = NULL;      // fachada de Operator Unary
        ptr_operator_multiple = NULL;  // fachada de Operator Multiple
        ptr_dexel = NULL;                 // fachada de Dexel
        ptr_property = NULL;            // fachada de Property
        ptr_neighbour_filter = NULL;     // fachada de Neighbour Filter
        ptr_geometrical = NULL;           // fachada de Geometrical

    Si quiero crear alguna de las fachadas tengo que usar la función Build correspondiente.

Obs :  Para que el código de esta clase se incluya en la biblioteca hay que definir la variable macro
          IMAGE_2D_SPARSE_RGB_CHAR.

         Es decir que hay que poner en el archivo :

         #defineIMAGE_2D_SPARSE_RGB_CHAR
            # include < bicoti.hpp >

          De lo contrario se tendrá un error de compilación.

          Otra opción es editar el archivo bicoti_basic.hpp y descomentar la linea donde se define este macro.



bicotiImage2DSparseRGBChar( )

    Constructor por defecto, no le paso parámetros.
    Este constructor crea una implementación 0 x 0 con pixel por defecto ( 0, 0, 0 ) y pone en NULL todos
    los punteros a las fachadas.



~bicotiImage2DSparseRGBChar( )

        Destructor. Libera la memoria ocupada por la implementación y todas las fachadas asociadas a la imagen, si es que se ha creado alguna.



void BuildImplementation( unsigned x_0_size , unsigned x_1_size )

    Ver BuildImplementation en bicotiImage2DVectorial.



ImageType * GetImplementation( )

    Ver GetImplementation en bicotiImage.



void SetImplementation ( ImageType * )

    Ver SetImplementation en bicotiImage.



void DestroyImplementation( )

    Ver DestroyImplementation en bicotiImage.



void BuildOperatorUnary( )

    Ver BuildOperatorUnary en bicotiImage2D.



bicotiOperatorUnaryFacade< PixelType > * CreateOperatorUnary( )

    Ver CreateOperatorUnary en bicotiImage2D.



bicotiOperatorUnaryFacade< PixelType > * GetOperatorUnary( )

    Ver GetOperatorUnary en bicotiImage.



void DestroyOperatorUnary( )

    Ver DestroyOperatorUnary en bicotiImage.



void BuildOperatorMultiple( )

    Ver BuildOperatorMultiple en bicotiImage2D.



bicotiOperatorMultipleFacade< PixelType > * CreateOperatorMultiple( )

    Ver CreateOperatorMultiple en bicotiImage2D.



bicotiOperatorMultipleFacade< PixelType > * GetOperatorMultiple( )

    Ver GetOperatorMultiple en bicotiImage.



void DestroyOperatorMultiple( )

    Ver DestroyOperatorMultiple en bicotiImage.



bicotiImageIterator< PixelType > * CreateIterator( )

    Ver CreateIterator en bicotiImage.



void BuildDexel( )

    Ver BuildDexel en bicotiImage2DVectorial.



bicotiDexelFacade2D< PixelType > * GetDexel( )

    Ver GetDexel en bicotiImage2D.



void DestroyDexel( )

    Ver DestroyDexel en bicotiImage.



void BuildProperty( )

    Ver BuildProperty en bicotiImage2DVectorial.



bicotiPropertyFacade < bicotiCoordinate2D< INTEGER >, ColorType, PixelType ,
                                                                                           PrecisionType > *  CreateProperty( )

    Ver CreateProperty en bicotiImage2DVectorial.



bicotiPropertyFacade < bicotiCoordinate2D< INTEGER > , ColorType ,
                                                            PixelType,PrecisionType > * GetProperty( )

    Ver GetProperty en bicotiImage2D.



void DestroyProperty( )

    Ver DestroyProperty en bicotiImage2D.



void BuildNeighbourFilter( )

    Ver BuildNeighbourFilter en bicotiImage2DVectorial.



bicotiNeighbourFilterFacade2D< ColorType, REAL > * CreateNeighbourFilter( )

    Ver CreateNeighbourFilter en bicotiImage2DVectorial.



bicotiNeighbourFilterFacade2D< PixelType, PrecisionType > * GetNeighbourFilter( )

    Ver GetNeighbourFilter en bicotiImage2D.



void DestroyNeighbourFilter( )

    Ver DestroyNeighbourFilter en bicotiImage2D.



void LoadNeighbourFilterResult( )

    Ver LoadNeighbourFilterResult en bicotiImage2D.



ImageType * GetNeighbourFilterResult( )

    Ver GetNeighbourFilterResult en bicotiImage2D.



void BuildGeometrical( )

    Ver BuildGeometrical en bicotiImage2D.



void DestroyGeometrical( )

    Ver DestroyGeometrical en bicotiImage2D.



bicotiGeometricalFacade2D< PixelType, PrecisionType > * GetGeometrical( )

    Ver GetGeometrical en bicotiImage2D.



ImageType * GetGeometricalResult( )

    Ver GetGeometricalResult en bicotiImage2D.



void LoadGeometricalResult( )

    Ver LoadGeometricalResult en bicotiImage2D.