.. _program_listing_file_SPlisHSPlasH_SurfaceTension_SurfaceTension_He2014.h: Program Listing for File SurfaceTension_He2014.h ================================================ |exhale_lsh| :ref:`Return to documentation for file ` (``SPlisHSPlasH/SurfaceTension/SurfaceTension_He2014.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #ifndef __SurfaceTension_He2014_h__ #define __SurfaceTension_He2014_h__ #include "SPlisHSPlasH/Common.h" #include "SPlisHSPlasH/FluidModel.h" #include "SPlisHSPlasH/NonPressureForceBase.h" namespace SPH { class SurfaceTension_He2014 : public NonPressureForceBase { protected: Real m_surfaceTension; Real m_surfaceTensionBoundary; std::vector m_color; std::vector m_gradC2; virtual void initParameters(); public: static std::string METHOD_NAME; static int SURFACE_TENSION; static int SURFACE_TENSION_BOUNDARY; SurfaceTension_He2014(FluidModel *model); virtual ~SurfaceTension_He2014(void); static NonPressureForceBase* creator(FluidModel* model) { return new SurfaceTension_He2014(model); } virtual std::string getMethodName() { return METHOD_NAME; } virtual void step(); virtual void reset(); virtual void performNeighborhoodSearchSort(); FORCE_INLINE const Real getColor(const unsigned int i) const { return m_color[i]; } FORCE_INLINE Real& getColor(const unsigned int i) { return m_color[i]; } FORCE_INLINE void setColor(const unsigned int i, const Real p) { m_color[i] = p; } FORCE_INLINE const Real getGradC2(const unsigned int i) const { return m_gradC2[i]; } FORCE_INLINE Real& getGradC2(const unsigned int i) { return m_gradC2[i]; } FORCE_INLINE void setGradC2(const unsigned int i, const Real p) { m_gradC2[i] = p; } }; } #endif