00001 /*! \file 00002 \author victorien ferry & www.m4nkind.com 00003 \brief This file applies the GNU LESSER GENERAL PUBLIC LICENSE Version 2.1 , read file COPYING. 00004 */ 00005 #ifndef COM_M4NKIND_EquationGamma_H 00006 #define COM_M4NKIND_EquationGamma_H 00007 00008 #include "VirtualEquation.h" 00009 #include "PackFloat.h" 00010 #include "PackFloatByte_Limits.h" 00011 00012 /*! 00013 \class EquationGamma 00014 \ingroup BaseObjectInherited_VedaLibMath BaseObjectInheritedDocGroup 00015 \brief Color calibration equation, first made to calibrate colors images 00016 with Image RGBA Mixer. You can use this equation to calibrate 00017 brightness and contrast for example. It does an equation of the shape: 00018 Result.X=func(Input.X). 00019 */ 00020 class EquationGamma : public VirtualEquation 00021 { 00022 /*================================================================== 00023 PUBLIC 00024 ==================================================================*/ 00025 public: 00026 /*! 00027 \brief Constructor. There should only be members initialisation there. 00028 */ 00029 EquationGamma(void); 00030 00031 /*! 00032 \brief Class Inheritance Descriptors. Also forces a destructor. See BASEOBJECT_DECLARE_... in .cpp 00033 */ 00034 BASEOBJECT_DEFINE_CLASS(EquationGamma); 00035 00036 /*! 00037 \brief Compute a scalar value according to a parameter list (X,Y,Z,D). 00038 \param _OutgoingParameterTable result table. elements are writen or not according to the equation. 00039 \param _IncomingParameterTable. float table, the (X,Y,Z,D) parameters. 00040 */ 00041 virtual void Compute( float _OutgoingParameterTable[4] , const float _IncomingParameterTable[4] ); 00042 00043 /*================================================================== 00044 PROTECTED 00045 ==================================================================*/ 00046 protected: 00047 //! start of the affine curve 00048 PackFloat mSer_CurveStart; 00049 //! end of the affine curve 00050 PackFloat mSer_CurveEnd; 00051 //! center of the gamma [0,1] 00052 PackFloatByte_Limits mSer_Center; 00053 //! exponent force 0.0->32.0 00054 PackFloatByte_Limits mSer_GammaForce; 00055 }; 00056 #endif
/\/\ 4 N k ! N D _______ _ __ ___ _____ ___ _ _ ____ ___________ __//___ /________ |/ / ___________\_______/ \ / _ _ \/ _ / _ / _/_/____/ _ __ / / / / / / / \ \/ / / \ \ / \\___/___/___/ ¯ _____/_____/ ______\___/_____/\________\\ \________/_ ___ __ l____\ /elD! http://www.m4nkind.com \____/