Program Listing for File SimulationDataDFSPH.h¶
↰ Return to documentation for file (SPlisHSPlasH/DFSPH/SimulationDataDFSPH.h)
#ifndef __SimulationDataDFSPH_h__
#define __SimulationDataDFSPH_h__
#include "SPlisHSPlasH/Common.h"
#include <vector>
#include "SPlisHSPlasH/FluidModel.h"
namespace SPH
{
class SimulationDataDFSPH
{
public:
SimulationDataDFSPH();
virtual ~SimulationDataDFSPH();
protected:
std::vector<std::vector<Real>> m_factor;
std::vector<std::vector<Real>> m_kappa;
std::vector<std::vector<Real>> m_kappaV;
std::vector<std::vector<Real>> m_density_adv;
public:
virtual void init();
virtual void cleanup();
virtual void reset();
void performNeighborhoodSearchSort();
void emittedParticles(FluidModel *model, const unsigned int startIndex);
FORCE_INLINE const Real getFactor(const unsigned int fluidIndex, const unsigned int i) const
{
return m_factor[fluidIndex][i];
}
FORCE_INLINE Real& getFactor(const unsigned int fluidIndex, const unsigned int i)
{
return m_factor[fluidIndex][i];
}
FORCE_INLINE void setFactor(const unsigned int fluidIndex, const unsigned int i, const Real p)
{
m_factor[fluidIndex][i] = p;
}
FORCE_INLINE const Real getKappa(const unsigned int fluidIndex, const unsigned int i) const
{
return m_kappa[fluidIndex][i];
}
FORCE_INLINE Real& getKappa(const unsigned int fluidIndex, const unsigned int i)
{
return m_kappa[fluidIndex][i];
}
FORCE_INLINE void setKappa(const unsigned int fluidIndex, const unsigned int i, const Real p)
{
m_kappa[fluidIndex][i] = p;
}
FORCE_INLINE const Real getKappaV(const unsigned int fluidIndex, const unsigned int i) const
{
return m_kappaV[fluidIndex][i];
}
FORCE_INLINE Real& getKappaV(const unsigned int fluidIndex, const unsigned int i)
{
return m_kappaV[fluidIndex][i];
}
FORCE_INLINE void setKappaV(const unsigned int fluidIndex, const unsigned int i, const Real p)
{
m_kappaV[fluidIndex][i] = p;
}
FORCE_INLINE const Real getDensityAdv(const unsigned int fluidIndex, const unsigned int i) const
{
return m_density_adv[fluidIndex][i];
}
FORCE_INLINE Real& getDensityAdv(const unsigned int fluidIndex, const unsigned int i)
{
return m_density_adv[fluidIndex][i];
}
FORCE_INLINE void setDensityAdv(const unsigned int fluidIndex, const unsigned int i, const Real d)
{
m_density_adv[fluidIndex][i] = d;
}
};
}
#endif