Program Listing for File TimeStepWCSPH.h

Return to documentation for file (SPlisHSPlasH/WCSPH/TimeStepWCSPH.h)

#ifndef __TimeStepWCSPH_h__
#define __TimeStepWCSPH_h__

#include "SPlisHSPlasH/Common.h"
#include "SPlisHSPlasH/TimeStep.h"
#include "SimulationDataWCSPH.h"
#include "SPlisHSPlasH/SPHKernels.h"

namespace SPH
{
    class SimulationDataWCSPH;

    class TimeStepWCSPH : public TimeStep
    {
    protected:
        Real m_stiffness;
        Real m_exponent;

        SimulationDataWCSPH m_simulationData;

        void computePressureAccels(const unsigned int fluidModelIndex);

        virtual void performNeighborhoodSearchSort();

        virtual void emittedParticles(FluidModel *model, const unsigned int startIndex);
        virtual void initParameters();

    public:
        static std::string METHOD_NAME;
        static int STIFFNESS;
        static int EXPONENT;

        TimeStepWCSPH();
        virtual ~TimeStepWCSPH(void);

        virtual std::string getMethodName() { return METHOD_NAME; }
        virtual int getNumIterations() { return 0; }
        virtual void step();
        virtual void reset();
        virtual void resize();
    };
}

#endif