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 \____/