bicotiImage3DLinearRGBChar


Figura 5.1.29

     Clases

bicotiImage

bicotiImage2D
bicotiImage3D

bicotiImage2DSingle
bicotiImage2DVectorial
bicotiImage3DSingle
bicotiImage3DVectorial

bicotiImage3DLinearRGBChar


class bicotiImage3DLinearRGBChar



Esta clase deriva de bicotiImage3DVectorial , instanciando los templates :

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



 Public Types

  typedef  PixelType  Pixel
  typedef  ImageType  Implementation
  typedef  bicotiImageIterator< PixelType > Iterator
  typedef  bicotiOperatorUnaryFacade< PixelType >  OperatorUnary
  typedef  bicotiOperatorMultipleFacade< PixelType >  OperatorMultiple
  typedef  bicotiDexelFacade3D< PixelType > Dexel
  typedef  bicotiPropertyFacade< bicotiCoordinate3D< INTEGER > , ColorType , PixelType ,
                                                                                                                                 PrecisionType > Property
  typedef bicotiNeighbourFilterFacade3D< PixelType, PrecisionType > NeighbourFilter
  typedef  bicotiGeometricalFacade3D< PixelType, PrecisionType > Geometrical

 Public Methods

bicotiImage3DLinearRGBChar( unsigned, unsigned, unsigned )
bicotiImage3DLinearRGBChar( )
~bicotiImage3DLinearRGBChar( )

void BuildImplementation( unsigned , 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( )
bicotiDexelFacade3D< PixelType > * GetDexel( )
void DestroyDexel( )

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

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

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



bicotiImage3DLinearRGBChar( unsigned x_0_size , unsigned x_1_size, unsigned x_2_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.
        x_2_size -- profundidad
    Se toma 0 como pixel por defecto.

    Por ejemplo si creo :

        bicotiImage3DLinearRGBChar  imagen( 10 , 20 , 3 );

    Se crea una implementación con 20 filas, 10 columnas y 3 de profundidad, 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_3D_LINEAR_RGB_CHAR.

         Es decir que hay que poner en el archivo :

         #defineIMAGE_3D_LINEAR_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.



bicotiImage3DLinearRGBChar( )

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



~bicotiImage3DLinearRGBChar( )

        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 , unsigned x_2_size )

    Ver BuildImplementation en bicotiImage3DVectorial.



ImageType * GetImplementation( )

    Ver GetImplementation en bicotiImage.



void SetImplementation ( ImageType * )

    Ver SetImplementation en bicotiImage.



void DestroyImplementation( )

    Ver DestroyImplementation en bicotiImage.



void BuildOperatorUnary( )

    Ver BuildOperatorUnary en bicotiImage3D.



bicotiOperatorUnaryFacade< PixelType > * CreateOperatorUnary( )

    Ver CreateOperatorUnary en bicotiImage3D.



bicotiOperatorUnaryFacade< PixelType > * GetOperatorUnary( )

    Ver GetOperatorUnary en bicotiImage.



void DestroyOperatorUnary( )

    Ver DestroyOperatorUnary en bicotiImage.



void BuildOperatorMultiple( )

    Ver BuildOperatorMultiple en bicotiImage3D.



bicotiOperatorMultipleFacade< PixelType > * CreateOperatorMultiple( )

    Ver CreateOperatorMultiple en bicotiImage3D.



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 bicotiImage3DVectorial.



bicotiDexelFacade3D< PixelType > * GetDexel( )

    Ver GetDexel en bicotiImage3D.



void DestroyDexel( )

    Ver DestroyDexel en bicotiImage.



void BuildProperty( )

    Ver BuildProperty en bicotiImage3DVectorial.



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

    Ver CreateProperty en bicotiImage3DVectorial.



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

    Ver GetProperty en bicotiImage3D.



void DestroyProperty( )

    Ver DestroyProperty en bicotiImage3D.



void BuildNeighbourFilter( )

    Ver BuildNeighbourFilter en bicotiImage3DVectorial.



bicotiNeighbourFilterFacade3D< ColorType, REAL > * CreateNeighbourFilter( )

    Ver CreateNeighbourFilter en bicotiImage3DVectorial.



bicotiNeighbourFilterFacade3D< PixelType, PrecisionType > * GetNeighbourFilter( )

    Ver GetNeighbourFilter en bicotiImage3D.



void DestroyNeighbourFilter( )

    Ver DestroyNeighbourFilter en bicotiImage3D.



void LoadNeighbourFilterResult( )

    Ver LoadNeighbourFilterResult en bicotiImage3D.



ImageType * GetNeighbourFilterResult( )

    Ver GetNeighbourFilterResult en bicotiImage3D.



void BuildGeometrical( )

    Ver BuildGeometrical en bicotiImage3D.



void DestroyGeometrical( )

    Ver DestroyGeometrical en bicotiImage3D.



bicotiGeometricalFacade3D< PixelType, PrecisionType > * GetGeometrical( )

    Ver GetGeometrical en bicotiImage3D.



ImageType * GetGeometricalResult( )

    Ver GetGeometricalResult en bicotiImage3D.



void LoadGeometricalResult( )

    Ver LoadGeometricalResult en bicotiImage3D.