#pragma once #include #include #include class ISolid { public: virtual ~ISolid() = default; virtual real sdf(Vec3 p); }; class IExtrudedSolid : public ISolid { protected: virtual Vec3 getClosestPointOnAxis(const Vec3 &p); };