DocumentationOverviewBuilding ASL Documentation Library Wiki Docs Indices Browse Perforce More InfoRelease NotesWiki Site Search License Success Stories Contributors MediaDownloadPerforce Depots SupportASL SourceForge HomeMailing Lists Discussion Forums Report Bugs Suggest Features Contribute to ASL RSSShort-text newsFull-text news File releases Other Adobe ProjectsAdobe AirAdobe GIL Adobe Labs Adobe Media Gallery Adobe XMP Tamarin project (Mozilla Foundation) Other ResourcesBoostRIAForge SGI STL |
dng_1d_function.hGo to the documentation of this file.00001 /*****************************************************************************/ 00002 // Copyright 2006 Adobe Systems Incorporated 00003 // All Rights Reserved. 00004 // 00005 // NOTICE: Adobe permits you to use, modify, and distribute this file in 00006 // accordance with the terms of the Adobe license agreement accompanying it. 00007 /*****************************************************************************/ 00008 00009 /* $Id: //mondo/workarea/stern/camera_raw/dng_sdk/source/dng_1d_function.h#6 $ */ 00010 /* $DateTime: 2006/05/04 01:48:15 $ */ 00011 /* $Change: 220631 $ */ 00012 /* $Author: stern $ */ 00013 00018 /*****************************************************************************/ 00019 00020 #ifndef __dng_1d_function__ 00021 #define __dng_1d_function__ 00022 00023 /*****************************************************************************/ 00024 00025 #include "dng_classes.h" 00026 #include "dng_types.h" 00027 00028 /*****************************************************************************/ 00029 00033 00034 class dng_1d_function 00035 { 00036 00037 public: 00038 00039 virtual ~dng_1d_function (); 00040 00042 00043 virtual bool IsIdentity () const; 00044 00050 00051 virtual real64 Evaluate (real64 x) const = 0; 00052 00058 00059 virtual real64 EvaluateInverse (real64 y) const; 00060 00061 }; 00062 00063 /*****************************************************************************/ 00064 00066 00067 class dng_1d_identity: public dng_1d_function 00068 { 00069 00070 public: 00072 00073 virtual bool IsIdentity () const; 00074 00076 00077 virtual real64 Evaluate (real64 x) const; 00078 00080 00081 virtual real64 EvaluateInverse (real64 y) const; 00082 00084 00085 static const dng_1d_function & Get (); 00086 00087 }; 00088 00089 /*****************************************************************************/ 00090 00092 00093 class dng_1d_concatenate: public dng_1d_function 00094 { 00095 00096 protected: 00097 00098 const dng_1d_function &fFunction1; 00099 00100 const dng_1d_function &fFunction2; 00101 00102 public: 00103 00109 00110 dng_1d_concatenate (const dng_1d_function &function1, 00111 const dng_1d_function &function2); 00112 00114 00115 virtual bool IsIdentity () const; 00116 00120 00121 virtual real64 Evaluate (real64 x) const; 00122 00127 00128 virtual real64 EvaluateInverse (real64 y) const; 00129 00130 }; 00131 00132 /*****************************************************************************/ 00133 00135 00136 class dng_1d_inverse: public dng_1d_function 00137 { 00138 00139 protected: 00140 00141 const dng_1d_function &fFunction; 00142 00143 public: 00144 00145 dng_1d_inverse (const dng_1d_function &f); 00146 00147 virtual bool IsIdentity () const; 00148 00149 virtual real64 Evaluate (real64 x) const; 00150 00151 virtual real64 EvaluateInverse (real64 y) const; 00152 00153 }; 00154 00155 /*****************************************************************************/ 00156 00157 #endif 00158 00159 /*****************************************************************************/ |