00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include <ScalarFunctionComposed.hpp>
00021
00022 real_t
00023 ScalarFunctionComposed::
00024 operator()(const TinyVector<3, real_t>& X) const
00025 {
00026 const real_t x = (*__functionX)(X);
00027 const real_t y = (*__functionY)(X);
00028 const real_t z = (*__functionZ)(X);
00029
00030 return (*__function)(x,y,z);
00031 }
00032
00033 ScalarFunctionComposed::
00034 ScalarFunctionComposed(ConstReferenceCounting<ScalarFunctionBase> function,
00035 ConstReferenceCounting<ScalarFunctionBase> functionX,
00036 ConstReferenceCounting<ScalarFunctionBase> functionY,
00037 ConstReferenceCounting<ScalarFunctionBase> functionZ)
00038 : ScalarFunctionBase(ScalarFunctionBase::composed),
00039 __function (function),
00040 __functionX(functionX),
00041 __functionY(functionY),
00042 __functionZ(functionZ)
00043 {
00044 ;
00045 }
00046
00047 ScalarFunctionComposed::
00048 ScalarFunctionComposed(const ScalarFunctionComposed& f)
00049 : ScalarFunctionBase(f),
00050 __function (f.__function),
00051 __functionX(f.__functionX),
00052 __functionY(f.__functionY),
00053 __functionZ(f.__functionZ)
00054 {
00055 ;
00056 }
00057
00058 ScalarFunctionComposed::
00059 ~ScalarFunctionComposed()
00060 {
00061 ;
00062 }