.

Dependents:  

Committer:
altb
Date:
Wed Oct 17 06:54:50 2018 +0000
Revision:
3:03e6c2a8a35a
Parent:
0:d784b08f51ff
...;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
altb 0:d784b08f51ff 1 #include "LinearCharacteristics.h"
altb 0:d784b08f51ff 2
altb 0:d784b08f51ff 3 using namespace std;
altb 0:d784b08f51ff 4
altb 0:d784b08f51ff 5 LinearCharacteristics::LinearCharacteristics(float gain,float offset){ // standard lin characteristics
altb 0:d784b08f51ff 6 this->gain = gain;
altb 0:d784b08f51ff 7 this->offset = offset;
altb 0:d784b08f51ff 8 }
altb 0:d784b08f51ff 9
altb 0:d784b08f51ff 10 LinearCharacteristics::LinearCharacteristics(float xmin,float xmax, float ymin, float ymax){ // standard lin characteristics
altb 0:d784b08f51ff 11 this->gain = (ymax - ymin)/(xmax - xmin);
altb 0:d784b08f51ff 12 this->offset = xmax - ymax/this->gain;
altb 0:d784b08f51ff 13 this->ulim = 999999.0;
altb 0:d784b08f51ff 14 this->llim = -999999.0;
altb 0:d784b08f51ff 15
altb 0:d784b08f51ff 16 }
altb 0:d784b08f51ff 17 LinearCharacteristics::LinearCharacteristics(float xmin,float xmax, float ymin, float ymax,float ll, float ul){ // standard lin characteristics
altb 0:d784b08f51ff 18 this->gain = (ymax - ymin)/(xmax - xmin);
altb 0:d784b08f51ff 19 this->offset = xmax - ymax/this->gain;
altb 0:d784b08f51ff 20 this->llim = ll;
altb 0:d784b08f51ff 21 this->ulim = ul;
altb 0:d784b08f51ff 22
altb 0:d784b08f51ff 23 }
altb 0:d784b08f51ff 24
altb 0:d784b08f51ff 25 LinearCharacteristics::~LinearCharacteristics() {}
altb 0:d784b08f51ff 26
altb 0:d784b08f51ff 27
altb 0:d784b08f51ff 28 float LinearCharacteristics::evaluate(float x)
altb 0:d784b08f51ff 29 {
altb 0:d784b08f51ff 30 float dum = this->gain*(x - this->offset);
altb 0:d784b08f51ff 31 if(dum > this->ulim)
altb 0:d784b08f51ff 32 dum = this->ulim;
altb 0:d784b08f51ff 33 if(dum < this->llim)
altb 0:d784b08f51ff 34 dum = this->llim;
altb 0:d784b08f51ff 35 return dum;
altb 0:d784b08f51ff 36 }
altb 3:03e6c2a8a35a 37
altb 3:03e6c2a8a35a 38 void LinearCharacteristics::setup(float xmin,float xmax, float ymin, float ymax){ // standard lin characteristics
altb 3:03e6c2a8a35a 39 this->gain = (ymax - ymin)/(xmax - xmin);
altb 3:03e6c2a8a35a 40 this->offset = xmax - ymax/this->gain;
altb 3:03e6c2a8a35a 41 this->ulim = 999999.0;
altb 3:03e6c2a8a35a 42 this->llim = -999999.0;
altb 3:03e6c2a8a35a 43 }
altb 3:03e6c2a8a35a 44 void LinearCharacteristics::setup(float xmin,float xmax, float ymin, float ymax,float ll, float ul){ // standard lin characteristics
altb 3:03e6c2a8a35a 45 this->gain = (ymax - ymin)/(xmax - xmin);
altb 3:03e6c2a8a35a 46 this->offset = xmax - ymax/this->gain;
altb 3:03e6c2a8a35a 47 this->llim = ll;
altb 3:03e6c2a8a35a 48 this->ulim = ul;
altb 3:03e6c2a8a35a 49 }