#pragma once #include #include #include class ISolid { public: virtual ~ISolid() = default; virtual real sdf(Vec3 p); }; class IExtrudedSolid : public ISolid { protected: Pt3Array _profile; real rScale; }; class extrudedSolidPolyline : public IExtrudedSolid { protected: Polyline _axis; }; class extrudedSolidPolynomialLine : public IExtrudedSolid { protected: PolynomialLine _axis; };