Lib_Misc
Diff: LinearCharacteristics.cpp
- Revision:
- 0:3312872854c4
- Child:
- 3:379208083c74
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LinearCharacteristics.cpp Mon Mar 04 11:03:51 2019 +0000 @@ -0,0 +1,49 @@ +#include "LinearCharacteristics.h" + +using namespace std; + +LinearCharacteristics::LinearCharacteristics(float gain,float offset){ // standard lin characteristics + this->gain = gain; + this->offset = offset; +} + +LinearCharacteristics::LinearCharacteristics(float xmin,float xmax, float ymin, float ymax){ // standard lin characteristics + this->gain = (ymax - ymin)/(xmax - xmin); + this->offset = xmax - ymax/this->gain; + this->ulim = 999999.0; + this->llim = -999999.0; + +} +LinearCharacteristics::LinearCharacteristics(float xmin,float xmax, float ymin, float ymax,float ll, float ul){ // standard lin characteristics + this->gain = (ymax - ymin)/(xmax - xmin); + this->offset = xmax - ymax/this->gain; + this->llim = ll; + this->ulim = ul; + +} + +LinearCharacteristics::~LinearCharacteristics() {} + + +float LinearCharacteristics::evaluate(float x) +{ +float dum = this->gain*(x - this->offset); +if(dum > this->ulim) + dum = this->ulim; +if(dum < this->llim) + dum = this->llim; +return dum; + } + +void LinearCharacteristics::setup(float xmin,float xmax, float ymin, float ymax){ // standard lin characteristics + this->gain = (ymax - ymin)/(xmax - xmin); + this->offset = xmax - ymax/this->gain; + this->ulim = 999999.0; + this->llim = -999999.0; +} +void LinearCharacteristics::setup(float xmin,float xmax, float ymin, float ymax,float ll, float ul){ // standard lin characteristics + this->gain = (ymax - ymin)/(xmax - xmin); + this->offset = xmax - ymax/this->gain; + this->llim = ll; + this->ulim = ul; +}