VedaLibMath/EquationSinus3D.h

Go to the documentation of this file.
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_EquationSinus3D_H
00006 #define COM_M4NKIND_EquationSinus3D_H
00007 
00008 #include "VirtualEquation.h"
00009 #include "PackFloat.h"
00010 #include "PackFloatByte_Limits.h"
00011 #include "PackDynamicFloat.h"
00012 /*!
00013     \class  EquationSinus3D
00014     \ingroup BaseObjectInherited_VedaLibMath BaseObjectInheritedDocGroup
00015     \brief DEPRECATED
00016 
00017 */
00018 class EquationSinus3D : public VirtualEquation
00019 {
00020 /*==================================================================
00021                                 PUBLIC
00022 ==================================================================*/
00023 public:
00024     /*!
00025         \brief  Constructor. There should only be members initialisation there.
00026     */
00027     EquationSinus3D(void);
00028 
00029     /*!
00030         \brief  Class Inheritance Descriptors. Also forces a destructor. See BASEOBJECT_DECLARE_... in .cpp
00031     */
00032     BASEOBJECT_DEFINE_CLASS(EquationSinus3D);
00033 
00034     /*!
00035         \brief   Compute 1,2,3 or 4 value according to a parameter list (X,Y,Z,D).
00036                 An equation can manage one or more dimensions on input and output.
00037                 the result is <b>added</b> over the outgoing parameter table,
00038                 and unused output parameters are left untouch, so you
00039                 must init _OutgoingParameterTable before, with default values you will choose.
00040         \param  _OutgoingParameterTable result table. result is added over the table values.
00041         \param _IncomingParameterTable. float table, the (X,Y,Z,D) parameters.
00042     */
00043     virtual void Compute( float _OutgoingParameterTable[4] , const float _IncomingParameterTable[4] );
00044 
00045 /*==================================================================
00046                                 PROTECTED
00047 ==================================================================*/
00048 protected:
00049     //! center of the equation.
00050     PackFloat               mSer_Center;
00051     //! frequence
00052     PackDynamicFloat        mSer_Frequence;
00053     //! amplitude
00054     PackDynamicFloat        mSer_Amplitude;
00055     //! particleIndex
00056     PackDynamicFloat        mSer_IndexMultiplier_Frequence;
00057     //! particleIndex
00058     PackDynamicFloat        mSer_IndexMultiplier_Amplitude;
00059     //! optimization 
00060     float   m_LastComputedDate;
00061     //! computed for date: m_LastComputedDate
00062     float   m_param_amplitude[4];
00063     //! computed for date: m_LastComputedDate
00064     float   m_param_frequence[4];
00065     // computed for m_LastComputedDate.
00066     float m_indexMultiplierFreq;
00067     // computed for m_LastComputedDate.
00068     float m_indexMultiplierAmp;
00069 };
00070 #endif

      /\/\        4         N         k         !         N         D
                      _______  _ __ ___  _____            ___ _ _  ____
     ___________  __//___   /________  |/    / ___________\_______/    \
    /   _   _   \/   _     /    _   /      _/_/____/    _       __     /
   /    /   /       /     /    /    \      \/     /    /    \   \     /
  \\___/___/___/    ¯    _____/_____/       ______\___/_____/\________\\
               \________/_ ___ __ l____\      /elD!  
                 http://www.m4nkind.com \____/