From 3704f85a6f2dae0b7026fd4381f3161ac9bf080a Mon Sep 17 00:00:00 2001 From: Paolo Cignoni cignoni Date: Wed, 16 Jan 2008 16:08:39 +0000 Subject: [PATCH] *** empty log message *** --- src/fgt/edit_quality/edit_quality.pro | 4 ++-- src/fgt/edit_quality/transferfunction.cpp | 19 +++++++------------ src/fgt/edit_quality/transferfunction.h | 3 --- src/fgt/edit_quality/util.cpp | 18 ++++++++++++++++++ .../edit_quality/{const_types.h => util.h} | 0 5 files changed, 27 insertions(+), 17 deletions(-) create mode 100644 src/fgt/edit_quality/util.cpp rename src/fgt/edit_quality/{const_types.h => util.h} (100%) diff --git a/src/fgt/edit_quality/edit_quality.pro b/src/fgt/edit_quality/edit_quality.pro index ba477ec5c..b113d4559 100644 --- a/src/fgt/edit_quality/edit_quality.pro +++ b/src/fgt/edit_quality/edit_quality.pro @@ -2,8 +2,8 @@ TEMPLATE = lib CONFIG += plugin CONFIG += stl INCLUDEPATH += ../.. ../../../../sf ../../../../code/lib/glew/include -HEADERS = const_types.h qualitymapper.h qualitymapperdialog.h transferfunction.h ui_qualitymapperdialog.h -SOURCES = qualitymapper.cpp qualitymapperdialog.cpp transferfunction.cpp qualitymapperdialog.cpp \ +HEADERS = qualitymapper.h qualitymapperdialog.h transferfunction.h ui_qualitymapperdialog.h util.h +SOURCES = qualitymapper.cpp qualitymapperdialog.cpp transferfunction.cpp qualitymapperdialog.cpp util.cpp\ ../../meshlab/filterparameter.cpp TARGET = qualitymapper DESTDIR = ../../meshlab/plugins diff --git a/src/fgt/edit_quality/transferfunction.cpp b/src/fgt/edit_quality/transferfunction.cpp index 026a774b1..9b66d5038 100644 --- a/src/fgt/edit_quality/transferfunction.cpp +++ b/src/fgt/edit_quality/transferfunction.cpp @@ -112,7 +112,8 @@ float TfChannel::getChannelValuef(float x_position) UINT8 TfChannel::getChannelValueb(float x_position) { - return (UINT8)(this->getChannelValuef(x_position) * 255.0f); + return (UINT8)relative2AbsoluteVali( this->getChannelValuef(x_position), 255.0f ); +// return (UINT8)(this->getChannelValuef(x_position) * 255.0f); } @@ -120,6 +121,8 @@ UINT8 TfChannel::getChannelValueb(float x_position) + + //TRANSFER FUNCTION TransferFunction::TransferFunction(void) { @@ -139,19 +142,11 @@ TransferFunction::~TransferFunction(void) { } -//returns a relative-absolute x value conversion rounded to closer integer value -int TransferFunction::relative2AbsoluteVal(float relative_val, float max_val) -{ return (int)((relative_val * max_val)+0.5f); } - -//returns an absolute-relative x value conversion -float TransferFunction::absolute2RelativeVal(int absolute_val, float max_val) -{ return (float)absolute_val / max_val; } - void TransferFunction::buildColorBand() { for (int i=0; iabsolute2RelativeVal(i)), - _channels[GREEN_CHANNEL].getChannelValueb(this->absolute2RelativeVal(i)), - _channels[BLUE_CHANNEL].getChannelValueb(this->absolute2RelativeVal(i)) ); + _color_band[i].SetRGB( _channels[RED_CHANNEL].getChannelValueb( absolute2RelativeValf((float)i) ), + _channels[GREEN_CHANNEL].getChannelValueb( absolute2RelativeValf((float)i) ), + _channels[BLUE_CHANNEL].getChannelValueb( absolute2RelativeValf((float)i) ) ); } \ No newline at end of file diff --git a/src/fgt/edit_quality/transferfunction.h b/src/fgt/edit_quality/transferfunction.h index 9ecca5550..08f9c27f9 100644 --- a/src/fgt/edit_quality/transferfunction.h +++ b/src/fgt/edit_quality/transferfunction.h @@ -108,9 +108,6 @@ private: int _channels_order[NUMBER_OF_CHANNELS]; //array used to carry out virtual pivoting indexing Color4f _color_band[COLOR_BAND_SIZE]; /*rendere color band una classe a se stante??*/ - int relative2AbsoluteVal(float relative_val, float max_val=COLOR_BAND_SIZE); - float absolute2RelativeVal(int absolute_val, float max_val=COLOR_BAND_SIZE); - public: TransferFunction(void); ~TransferFunction(void); diff --git a/src/fgt/edit_quality/util.cpp b/src/fgt/edit_quality/util.cpp new file mode 100644 index 000000000..b65fbc915 --- /dev/null +++ b/src/fgt/edit_quality/util.cpp @@ -0,0 +1,18 @@ +#include "const_types.h" + + +//returns a relative-absolute x value conversion rounded to closer integer value +int relative2AbsoluteVali(float relative_val, float max_val) +{ return (int)((relative_val * max_val)+0.5f); } + +//returns a relative-absolute x value conversion rounded to closer integer value +float relative2AbsoluteValf(float relative_val, float max_val) +{ return (relative_val * max_val); } + +//returns an absolute-relative x value conversion +int absolute2RelativeVali(float absolute_val, float max_val) +{ return (int)((absolute_val / max_val)+0.5f); } + +//returns an absolute-relative x value conversion +float absolute2RelativeValf(float absolute_val, float max_val) +{ return (float)absolute_val / max_val; } \ No newline at end of file diff --git a/src/fgt/edit_quality/const_types.h b/src/fgt/edit_quality/util.h similarity index 100% rename from src/fgt/edit_quality/const_types.h rename to src/fgt/edit_quality/util.h