#pragma once #include "common_structures.hpp" class ImplicitSurface { public: virtual double operator() (double x, double y, double z) const = 0; double operator()(const Point& pt) const; Point getCenter() const { return center;} protected: Point center; ImplicitSurface(Point _center) : center(_center) {} };