.. _program_listing_file_SPlisHSPlasH_ICSPH_SimulationDataICSPH.h: Program Listing for File SimulationDataICSPH.h ============================================== |exhale_lsh| :ref:`Return to documentation for file ` (``SPlisHSPlasH/ICSPH/SimulationDataICSPH.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #ifndef __SimulationDataICSPH_h__ #define __SimulationDataICSPH_h__ #include "SPlisHSPlasH/Common.h" #include #include "SPlisHSPlasH/FluidModel.h" namespace SPH { class SimulationDataICSPH { public: SimulationDataICSPH(); virtual ~SimulationDataICSPH(); protected: std::vector> m_aii; std::vector> m_density_adv; std::vector> m_pressure; std::vector> m_pressureGradient; std::vector> m_pressureAccel; public: virtual void init(); virtual void cleanup(); virtual void reset(); void performNeighborhoodSearchSort(); void emittedParticles(FluidModel *model, const unsigned int startIndex); FORCE_INLINE const Real getAii(const unsigned int fluidIndex, const unsigned int i) const { return m_aii[fluidIndex][i]; } FORCE_INLINE Real& getAii(const unsigned int fluidIndex, const unsigned int i) { return m_aii[fluidIndex][i]; } FORCE_INLINE void setAii(const unsigned int fluidIndex, const unsigned int i, const Real aii) { m_aii[fluidIndex][i] = aii; } 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; } FORCE_INLINE const Real getPressure(const unsigned int fluidIndex, const unsigned int i) const { return m_pressure[fluidIndex][i]; } FORCE_INLINE Real& getPressure(const unsigned int fluidIndex, const unsigned int i) { return m_pressure[fluidIndex][i]; } FORCE_INLINE void setPressure(const unsigned int fluidIndex, const unsigned int i, const Real p) { m_pressure[fluidIndex][i] = p; } FORCE_INLINE Vector3r &getPressureAccel(const unsigned int fluidIndex, const unsigned int i) { return m_pressureAccel[fluidIndex][i]; } FORCE_INLINE const Vector3r &getPressureAccel(const unsigned int fluidIndex, const unsigned int i) const { return m_pressureAccel[fluidIndex][i]; } FORCE_INLINE void setPressureAccel(const unsigned int fluidIndex, const unsigned int i, const Vector3r &val) { m_pressureAccel[fluidIndex][i] = val; } FORCE_INLINE Vector3r& getPressureGradient(const unsigned int fluidIndex, const unsigned int i) { return m_pressureGradient[fluidIndex][i]; } FORCE_INLINE const Vector3r& getPressureGradient(const unsigned int fluidIndex, const unsigned int i) const { return m_pressureGradient[fluidIndex][i]; } FORCE_INLINE void setPressureGradient(const unsigned int fluidIndex, const unsigned int i, const Vector3r& val) { m_pressureGradient[fluidIndex][i] = val; } }; } #endif