87 lines
1.7 KiB
C++
87 lines
1.7 KiB
C++
|
// Authors: Unknown. Please, if you are the author of this file, or if you
|
||
|
// know who are the authors of this file, let us know, so we can give the
|
||
|
// adequate credits and/or get the adequate authorizations.
|
||
|
|
||
|
#include "flimage.h"
|
||
|
|
||
|
|
||
|
|
||
|
//////////////////////////////////////////////// Class flimage
|
||
|
//// Construction
|
||
|
flimage::flimage() : width(0), height(0), p(0)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
flimage::flimage(int w, int h) : width(w), height(h), p(new float[w*h])
|
||
|
{
|
||
|
for (int j=width*height-1; j>=0 ; j--) p[j] = 0.0;
|
||
|
}
|
||
|
|
||
|
|
||
|
flimage::flimage(int w, int h, float v) : width(w), height(h), p(new float[w*h])
|
||
|
{
|
||
|
for (int j=width*height-1; j>=0 ; j--) p[j] = v;
|
||
|
}
|
||
|
|
||
|
|
||
|
flimage::flimage(int w, int h, float* v) : width(w), height(h), p(new float[w*h])
|
||
|
{
|
||
|
for (int j=width*height-1; j>=0 ; j--) p[j] = v[j];
|
||
|
}
|
||
|
|
||
|
|
||
|
void flimage::create(int w, int h)
|
||
|
{
|
||
|
erase();
|
||
|
width = w; height = h;
|
||
|
p = new float[w*h];
|
||
|
for (int j=width*height-1; j>=0 ; j--) p[j] = 0.0;
|
||
|
}
|
||
|
|
||
|
void flimage::create(int w, int h, float* v)
|
||
|
{
|
||
|
erase();
|
||
|
width = w; height = h; p = new float[w*h];
|
||
|
for (int j=width*height-1; j>=0 ; j--) p[j] = v[j];
|
||
|
}
|
||
|
|
||
|
|
||
|
flimage::flimage(const flimage& im) : width(im.width), height(im.height), p(new float[im.width*im.height])
|
||
|
{
|
||
|
for (int j=width*height-1; j>=0 ; j--) p[j] = im.p[j];
|
||
|
}
|
||
|
|
||
|
flimage& flimage::operator= (const flimage& im)
|
||
|
{
|
||
|
if (&im == this) {
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
if (width != im.width || height != im.height)
|
||
|
{
|
||
|
erase();
|
||
|
width = im.width; height=im.height; p = new float[width*height];
|
||
|
}
|
||
|
|
||
|
for (int j=width*height-1; j>=0 ; j--) p[j] = im.p[j];
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
|
||
|
//// Destruction
|
||
|
void flimage::erase()
|
||
|
{
|
||
|
width = height = 0;
|
||
|
if (p) delete[] p;
|
||
|
p=0;
|
||
|
}
|
||
|
|
||
|
flimage::~flimage()
|
||
|
{
|
||
|
erase();
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|