HistoInfo

     Clases

bicotiDexelHistogram
HistoInfo
bicotiPixelAttributeSelector
bicotiPixelOperatorUnary

     Templates Clases

CoordType
ColotType
PixelType


class HistoInfo < class CoorType , class ColorType >



    Esta clase es el nodo de la lista principal de bicotiDexelHistogram. Tiene dos miembros privados, una variable de tipo ColorType, que indica el valor del atributo y una lista de coordenadas de tipo CoordType ( esta es un "vector" de la STL ). Internamente también se tiene un iterador para recorrer la lista de coordenadas y se definen las funciones típicas First( ), Next( ), Current( ), IsDone( ) para recorrerla.
Ver iteradores para más detalles.


 Public Methods

HistoInfo ( ColorType )
HistoInfo ( const HistoInfo< CoordType, ColorType >& )
void operator = ( const HistoInfo< CoordType, ColorType >& )

ColorType&ColorValue ( )

void Append ( const CoordType & )
unsigned Number ( )
bool IsIn ( const CoordType & )
void First ( )
void Next ( )
CoordType & Current ( )
bool IsDone ( )



HistoInfo ( ColorType )

          Constructor al que paso como parámetro el valor del atributo.
          Si por ejemplo hago :

                   HistoInfo< bicotiCoordinate2D<INTEGER> , int >   nodo ( 3 );

         Creo un nodo con un atributo de tipo entero igual a 3 y una lista de coordenadas 2D que
          inicialmente estará vacía.



HistoInfo ( const HistoInfo< CoordType, ColorType >& )

         Constructor de copia.



void operator = ( const HistoInfo< CoordType, ColorType >& )

        Operador de asignación.



ColorType&ColorValue ( )

         Este operador permite leer o setear el valor del atributo.
          Si por ejemplo defino :

                   HistoInfo< bicotiCoordinate2D<INTEGER> , int >   nodo ( 0 );

          El nodo se crea con atributo 0, si quiere saber el valor del atributo hago:

                   atributo = nodo.ColorValue( );

          y si quiero cambiarlo ( a 3 por ejemplo ) puedo hacer :

                   nodo.ColorValue( ) = 3;



void Append ( const CoordType & )

          Esta función me permite agregar una coordenada a la lista.
           Si defino :

                   HistoInfo< bicotiCoordinate2D<INTEGER> , int >   nodo ( 0 );

          El nodo se crea con atributo 0 y una lista vacía. Para agragar una coordenada ,
          por ejemplo ( 1,2 ) hago:

                   bicotiCoordinate2D< int > coord ( 1,2 );
                   nodo.Append ( coord );

          Se hace una copia de la coordenadad para agragarla a la lista.
           Si la coordenada ya está en la lista se la agrega igual , aparecerá repetida.



unsigned Number ( )

         Retorna el número de coordenadas de la lista.



bool IsIn ( const CoordType &  coord )

         Devuelve true, si la coordenada que se pasa como argumento ( coord ) está en la lista.



void First ( )

         Función típica de los iteradores , ubica un puntero interno en el primer lugar de la lista de
          coordenadas para recorrerla.
          Una forma típica de recorrer la lista es hacer un loop del tipo :

          for ( nodo.First( ) ; ! nodo.IsDone( ) ; nodo.Next( ) )
                  coordenada = nodo.Current( );

         Donde nodo es una variable de tipo HistoInfo.



void Next ( )

         Función típica de los iteradores , mueve el iterador interno al siguiente lugar en la lista de
          coordenadas.



CoordType & Current ( )

         Permite leer o setear la coordenada actualmente apuntada por el iterador sobre la lista.
          Podemos hacer :

                        coordenada = nodo.Current( );
          o
                        nodo.Current( ) = coordenada;

         Donde nodo es una variable de tipo HistoInfo.



bool IsDone ( )

         Función típica de los iteradores , devuelve true cuando el iterador interno está apuntando al último
          lugar de la lista de coordenadas.