| 1 | #pragma once |
| 2 | |
| 3 | #include <math/seadVector.h> |
| 4 | |
| 5 | namespace al { |
| 6 | class IUseFluidSurface { |
| 7 | public: |
| 8 | virtual bool calcIsInArea(const sead::Vector3f&) const = 0; |
| 9 | virtual void calcPos(sead::Vector3f*, const sead::Vector3f&) const = 0; |
| 10 | virtual void calcPosFlat(sead::Vector3f*, const sead::Vector3f&) const; |
| 11 | virtual void calcDisplacementPos(sead::Vector3f*, const sead::Vector3f&) const; |
| 12 | virtual void calcNormal(sead::Vector3f*, const sead::Vector3f&) const = 0; |
| 13 | virtual bool tryAddRipple(const sead::Vector3f&, f32, f32); |
| 14 | virtual bool tryAddRippleWithRange(const sead::Vector3f&, f32, f32, f32, f32); |
| 15 | virtual bool tryAddQuadRipple(const sead::Vector3f&, const sead::Vector3f&, |
| 16 | const sead::Vector3f&, const sead::Vector3f&, f32); |
| 17 | virtual const char* getTypeName() const = 0; |
| 18 | virtual void setFieldScale(f32); |
| 19 | }; |
| 20 | } // namespace al |
| 21 | |