34 #ifndef CARTOBASE_TYPE_HSV_H    35 #define CARTOBASE_TYPE_HSV_H    42 #ifdef CARTO_DEBUG_RGB    75                 const uint8_t &v = 0 );
   104       inline const uint8_t& 
hue        ()
 const { 
return (*
this)[0]; }
   105       inline const uint8_t& 
saturation ()
 const { 
return (*
this)[1]; }
   106       inline const uint8_t& 
value      ()
 const { 
return (*
this)[2]; }
   107       inline       uint8_t& 
hue        ()       { 
return (*
this)[0]; }
   109       inline       uint8_t& 
value      ()       { 
return (*
this)[2]; }
   151     #ifdef CARTO_DEBUG_RGB   152       std::cout << 
"HSV:: Constructor( HSV )" << std::endl;
   160     #ifdef CARTO_DEBUG_RGB   161       std::cout << 
"HSV:: Constructor( VV<3> )" << std::endl;
   168     #ifdef CARTO_DEBUG_RGB   169       std::cout << 
"HSV:: Constructor( h,s,v )" << std::endl;
   179     #ifdef CARTO_DEBUG_RGB   180       std::cout << 
"HSV:: Destructor" << std::endl;
   189     #ifdef CARTO_DEBUG_RGB   190       std::cout << 
"HSV:: operator = ( HSV )" << std::endl;
   201     #ifdef CARTO_DEBUG_RGB   202       std::cout << 
"HSV:: operator = ( uint8_t )" << std::endl;
   215     #ifdef CARTO_DEBUG_RGB   216       std::cout << 
"HSV:: operator += ( HSV )" << std::endl;
   227     #ifdef CARTO_DEBUG_RGB   228       std::cout << 
"HSV:: operator -= ( HSV )" << std::endl;
   239     #ifdef CARTO_DEBUG_RGB   240       std::cout << 
"HSV:: operator += ( uint8_t )" << std::endl;
   251     #ifdef CARTO_DEBUG_RGB   252       std::cout << 
"HSV:: operator -= ( uint8_t )" << std::endl;
   263     #ifdef CARTO_DEBUG_RGB   264       std::cout << 
"HSV:: operator *= ( uint8_t )" << std::endl;
   266     hue()        *= 
static_cast<uint8_t
>( val );
   268     value()      *= 
static_cast<uint8_t
>( val );
   275     #ifdef CARTO_DEBUG_RGB   276       std::cout << 
"HSV:: operator *= ( uint16_t )" << std::endl;
   278     hue()        *= 
static_cast<uint8_t
>( val );
   280     value()      *= 
static_cast<uint8_t
>( val );
   287     #ifdef CARTO_DEBUG_RGB   288       std::cout << 
"HSV:: operator *= ( uint32_t )" << std::endl;
   290     hue()        *= 
static_cast<uint8_t
>( val );
   292     value()      *= 
static_cast<uint8_t
>( val );
   299     #ifdef CARTO_DEBUG_RGB   300       std::cout << 
"HSV:: operator *= ( uint64_t )" << std::endl;
   302     hue()        *= 
static_cast<uint8_t
>( val );
   304     value()      *= 
static_cast<uint8_t
>( val );
   311     #ifdef CARTO_DEBUG_RGB   312       std::cout << 
"HSV:: operator *= ( float )" << std::endl;
   314     hue()        *= 
static_cast<uint8_t
>( val );
   316     value()      *= 
static_cast<uint8_t
>( val );
   323     #ifdef CARTO_DEBUG_RGB   324       std::cout << 
"HSV:: operator *= ( double )" << std::endl;
   326     hue()        *= 
static_cast<uint8_t
>( val );
   328     value()      *= 
static_cast<uint8_t
>( val );
   335     #ifdef CARTO_DEBUG_RGB   336       std::cout << 
"HSV:: operator /= ( uint8_t )" << std::endl;
   339     hue()        /= 
static_cast<uint8_t
>( val );
   341     value()      /= 
static_cast<uint8_t
>( val );
   348     #ifdef CARTO_DEBUG_RGB   349       std::cout << 
"HSV:: operator /= ( uint16_t )" << std::endl;
   352     hue()        /= 
static_cast<uint8_t
>( val );
   354     value()      /= 
static_cast<uint8_t
>( val );
   361     #ifdef CARTO_DEBUG_RGB   362       std::cout << 
"HSV:: operator /= ( uint32_t )" << std::endl;
   365     hue()        /= 
static_cast<uint8_t
>( val );
   367     value()      /= 
static_cast<uint8_t
>( val );
   374     #ifdef CARTO_DEBUG_RGB   375       std::cout << 
"HSV:: operator /= ( uint64_t )" << std::endl;
   378     hue()        /= 
static_cast<uint8_t
>( val );
   380     value()      /= 
static_cast<uint8_t
>( val );
   387     #ifdef CARTO_DEBUG_RGB   388       std::cout << 
"HSV:: operator /= ( float )" << std::endl;
   391     hue()        /= 
static_cast<uint8_t
>( val );
   393     value()      /= 
static_cast<uint8_t
>( val );
   400     #ifdef CARTO_DEBUG_RGB   401       std::cout << 
"HSV:: operator /= ( double )" << std::endl;
   404     hue()        /= 
static_cast<uint8_t
>( val );
   406     value()      /= 
static_cast<uint8_t
>( val );
   415     #ifdef CARTO_DEBUG_RGB   416       std::cout << 
"HSV:: HSV + HSV" << std::endl;
   425     #ifdef CARTO_DEBUG_RGB   426       std::cout << 
"HSV:: HSV + uint8_t" << std::endl;
   435     #ifdef CARTO_DEBUG_RGB   436       std::cout << 
"HSV:: HSV + uint16_t" << std::endl;
   445     #ifdef CARTO_DEBUG_RGB   446       std::cout << 
"HSV:: HSV + uint32_t" << std::endl;
   455     #ifdef CARTO_DEBUG_RGB   456       std::cout << 
"HSV:: HSV + uint64_t" << std::endl;
   465     #ifdef CARTO_DEBUG_RGB   466       std::cout << 
"HSV:: HSV + float" << std::endl;
   469     return result += 
static_cast<uint8_t
>(bb);
   475     #ifdef CARTO_DEBUG_RGB   476       std::cout << 
"HSV:: HSV + double" << std::endl;
   479     return result += 
static_cast<uint8_t
>(bb);
   485     #ifdef CARTO_DEBUG_RGB   486       std::cout << 
"HSV:: uint8_t + HSV" << std::endl;
   495     #ifdef CARTO_DEBUG_RGB   496       std::cout << 
"HSV:: uint16_t + HSV" << std::endl;
   505     #ifdef CARTO_DEBUG_RGB   506       std::cout << 
"HSV:: uint32_t + HSV" << std::endl;
   515     #ifdef CARTO_DEBUG_RGB   516       std::cout << 
"HSV:: uint64_t + HSV" << std::endl;
   525     #ifdef CARTO_DEBUG_RGB   526       std::cout << 
"HSV:: float + HSV" << std::endl;
   528     VoxelHSV result( static_cast<uint8_t>(aa) );
   535     #ifdef CARTO_DEBUG_RGB   536       std::cout << 
"HSV:: double + HSV" << std::endl;
   538     VoxelHSV result( static_cast<uint8_t>(aa) );
   545     #ifdef CARTO_DEBUG_RGB   546       std::cout << 
"HSV:: HSV - HSV" << std::endl;
   555     #ifdef CARTO_DEBUG_RGB   556       std::cout << 
"HSV:: HSV - uint8_t" << std::endl;
   565     #ifdef CARTO_DEBUG_RGB   566       std::cout << 
"HSV:: HSV - uint16_t" << std::endl;
   575     #ifdef CARTO_DEBUG_RGB   576       std::cout << 
"HSV:: HSV - uint32_t" << std::endl;
   585     #ifdef CARTO_DEBUG_RGB   586       std::cout << 
"HSV:: HSV - uint64_t" << std::endl;
   595     #ifdef CARTO_DEBUG_RGB   596       std::cout << 
"HSV:: HSV - float" << std::endl;
   599     return result -= 
static_cast<uint8_t
>(bb);
   605     #ifdef CARTO_DEBUG_RGB   606       std::cout << 
"HSV:: HSV - double" << std::endl;
   609     return result -= 
static_cast<uint8_t
>(bb);
   615     #ifdef CARTO_DEBUG_RGB   616       std::cout << 
"HSV:: uint8_t - HSV" << std::endl;
   625     #ifdef CARTO_DEBUG_RGB   626       std::cout << 
"HSV:: uint16_t - HSV" << std::endl;
   635     #ifdef CARTO_DEBUG_RGB   636       std::cout << 
"HSV:: uint32_t - HSV" << std::endl;
   645     #ifdef CARTO_DEBUG_RGB   646       std::cout << 
"HSV:: uint64_t - HSV" << std::endl;
   655     #ifdef CARTO_DEBUG_RGB   656       std::cout << 
"HSV:: float - HSV" << std::endl;
   658     VoxelHSV result( static_cast<uint8_t>(aa) );
   665     #ifdef CARTO_DEBUG_RGB   666       std::cout << 
"HSV:: double - HSV" << std::endl;
   668     VoxelHSV result( static_cast<uint8_t>(aa) );
   675     #ifdef CARTO_DEBUG_RGB   676       std::cout << 
"HSV:: HSV * uint8_t" << std::endl;
   685     #ifdef CARTO_DEBUG_RGB   686       std::cout << 
"HSV:: HSV * uint16_t" << std::endl;
   695     #ifdef CARTO_DEBUG_RGB   696       std::cout << 
"HSV:: HSV * uint32_t" << std::endl;
   705     #ifdef CARTO_DEBUG_RGB   706       std::cout << 
"HSV:: HSV * uint64_t" << std::endl;
   715     #ifdef CARTO_DEBUG_RGB   716       std::cout << 
"HSV:: HSV * float" << std::endl;
   725     #ifdef CARTO_DEBUG_RGB   726       std::cout << 
"HSV:: HSV * double" << std::endl;
   735     #ifdef CARTO_DEBUG_RGB   736       std::cout << 
"HSV:: uint8_t * HSV" << std::endl;
   745     #ifdef CARTO_DEBUG_RGB   746       std::cout << 
"HSV:: uint16_t * HSV" << std::endl;
   755     #ifdef CARTO_DEBUG_RGB   756       std::cout << 
"HSV:: uint32_t * HSV" << std::endl;
   765     #ifdef CARTO_DEBUG_RGB   766       std::cout << 
"HSV:: uint64_t * HSV" << std::endl;
   775     #ifdef CARTO_DEBUG_RGB   776       std::cout << 
"HSV:: float * HSV" << std::endl;
   785     #ifdef CARTO_DEBUG_RGB   786       std::cout << 
"HSV:: double * HSV" << std::endl;
   795     #ifdef CARTO_DEBUG_RGB   796       std::cout << 
"HSV:: HSV / uint8_t" << std::endl;
   805     #ifdef CARTO_DEBUG_RGB   806       std::cout << 
"HSV:: HSV / uint16_t" << std::endl;
   815     #ifdef CARTO_DEBUG_RGB   816       std::cout << 
"HSV:: HSV / uint32_t" << std::endl;
   825     #ifdef CARTO_DEBUG_RGB   826       std::cout << 
"HSV:: HSV / uint64_t" << std::endl;
   835     #ifdef CARTO_DEBUG_RGB   836       std::cout << 
"HSV:: HSV / float" << std::endl;
   845     #ifdef CARTO_DEBUG_RGB   846       std::cout << 
"HSV:: HSV / double" << std::endl;
   857     #ifdef CARTO_DEBUG_RGB   858       std::cout << 
"HSV:: operator *= ( long )" << std::endl;
   860     hue()        *= 
static_cast<uint8_t
>( val );
   862     value()      *= 
static_cast<uint8_t
>( val );
   869     #ifdef CARTO_DEBUG_RGB   870       std::cout << 
"HSV:: operator /= ( long )" << std::endl;
   873     hue()        /= 
static_cast<uint8_t
>( val );
   875     value()      /= 
static_cast<uint8_t
>( val );
   882     #ifdef CARTO_DEBUG_RGB   883       std::cout << 
"HSV:: HSV * long" << std::endl;
   892     #ifdef CARTO_DEBUG_RGB   893       std::cout << 
"HSV:: long * HSV" << std::endl;
   902     #ifdef CARTO_DEBUG_RGB   903       std::cout << 
"HSV:: HSV / long" << std::endl;
 
VoxelHSV & operator=(const VoxelHSV &other)
VoxelRGB operator/(const VoxelRGB &aa, const uint8_t &bb)
VoxelHSV & operator*=(const uint8_t &val)
VoxelRGB operator+(const VoxelRGB &aa, const VoxelRGB &bb)
Base class for any multichannel data (RGB, RGBA, HSV, ...) 
VoxelRGB operator*(const VoxelRGB &aa, const uint8_t &bb)
VoxelHSV & operator+=(const VoxelHSV &other)
VoxelHSV & operator-=(const VoxelHSV &other)
const uint8_t & hue() const
const uint8_t & value() const
VoxelHSV & operator/=(const uint8_t &val)
VoxelRGB operator-(const VoxelRGB &aa, const VoxelRGB &bb)
static std::string dataType()
const uint8_t & saturation() const
VoxelHSV(const VoxelHSV &other)