/usr/include/ossim/base/ossimHsvVector.h is in libossim-dev 2.2.2-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | //*******************************************************************
//
// License: See top level LICENSE.txt file.
//
// Author: Garrett Potts
// Description:
//
//*************************************************************************
// $Id: ossimHsvVector.h 14789 2009-06-29 16:48:14Z dburken $
#ifndef ossimHsvVector_HEADER
#define ossimHsvVector_HEADER
#include <iostream>
using namespace std;
#include <ossim/base/ossimConstants.h>
class ossimRgbVector;
class OSSIMDLLEXPORT ossimHsvVector
{
public:
friend ostream& operator << (ostream& out, const ossimHsvVector & data)
{
out << "<" << data.theBuf[0] << ", "
<< data.theBuf[1] << ", "
<< data.theBuf[2] << ">";
return out;
}
// assumed normalized floats
//
//
ossimHsvVector(float h=0, float s=0, float i=0)
{
theBuf[0] = h;
theBuf[1] = s;
theBuf[2] = i;
}
ossimHsvVector(const ossimRgbVector& rgb);
const ossimHsvVector& operator =(const ossimRgbVector& rgb);
float getH()const { return theBuf[0]; }
float getS()const { return theBuf[1]; }
float getV()const { return theBuf[2]; }
unsigned char getVUnNormalized()const
{
return static_cast<unsigned char>(theBuf[2]*255);
}
void setH(float H) { theBuf[0] = H; }
void setS(float S) { theBuf[1] = S; }
void setV(float V) { theBuf[2] = V; }
float clamp(float colorValue, float min=0, float max=255)const
{
colorValue = colorValue > max? max:colorValue;
colorValue = colorValue < min? min:colorValue;
return colorValue;
}
static const float OSSIM_HSV_UNDEFINED;
protected:
/*!
* buf[0] = hue [0..1]
* buf[1] = saturation [0..1]
* buf[2] = value [0..1]
*/
float theBuf[3];
};
#endif
|